Validate your GitLab CI with GitLab's API endpoint.
Project description
GitLab CI validation pre-commit-hook
This is a pre-commit hook that uses GitLab's /api/v4/ci/lint
lint endpoint to validate the contents of .gitlab-ci.yml
files. This is similar in fashion to how CircleCI pre-commit hooks validate that product's required configs, which is by uploading your config to an endpoint.
By default, this tool sends your configuration to https://gitlab.com, though this can be overridden (see below).
This tool has been extended and adapted from kadrach's implementation (cf. the license).
Usage
GitLab Lint API now requires authorization.
- Create Access Token with
api
scope. - Set access token value as
GITLAB_TOKEN
environment variable. - Ensure Python version available is 3.10.x or later.
Warning Please note the token should not be shared and if leaked can cause significant harm.
An example .pre-commit-config.yaml
:
---
repos:
- repo: https://github.com/bjd2385/pre-commit-gitlabci-lint
rev: <latest release>
hooks:
- id: gitlabci-lint
# args: ["https://custom.gitlab.host.com"]
Development
Install dependencies by running ./scripts/dependencies.sh
. Or, if you already have yarn
in your path, yarn install:deps
.
Releases
Update src/gitlabci_lint/validate.py/__version__
, setup.py/version
-string, and tag this repo's master branch with the same version string (prefixed by 'v
.)
TODOs:
- Allow passing multiple config files for validation in template repositories.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for pre-commit-gitlabci-lint-1.0.1.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | c2c720c8e9056b416bdbf918f1099fc70e1c9d4027839955d5ea4c2c23a51a31 |
|
MD5 | 3c8f90436af4f5695cde596c839292bf |
|
BLAKE2b-256 | 0c580d224d521cfadb1e100a74dd51db2940994f0661a4c8315b5b6aa2cbfedd |
Hashes for pre_commit_gitlabci_lint-1.0.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fb1a403fb684ae6f163fd401b5807bdc0f8e219a71628f522dddb269ab6c3d55 |
|
MD5 | b22966ff0b49bb6a9e57a2c936a4af83 |
|
BLAKE2b-256 | 5ec428e5e1ad46d288981d103d7da254e953fbb4a3e4657d492650c9867fe330 |