
Security News
Deno 2.2 Improves Dependency Management and Expands Node.js Compatibility
Deno 2.2 enhances Node.js compatibility, improves dependency management, adds OpenTelemetry support, and expands linting and task automation for developers.
This is a CLI application to quickly lint .gitlab-ci.yml files using the gitlab api
This is a CLI application to quickly lint .gitlab-ci.yml files using the gitlab api. This can easily be added as a pre-commit step to locally catch any issues with your configuration prior to pushing your changes.
python3 -m pip install -U gitlab_lint
You can set the following environmental variables:
GITLAB_LINT_DOMAIN
- Which allows you to override the default gitlab.com domain, and point at a local instance
GITLAB_LINT_TOKEN
- If your .gitlab-ci.yml contains any includes, you may need to set a private token to pull data from those other repos
GITLAB_LINT_PROJECT
- If your .gitlab-ci.yml contains any includes which source from your local repo, you may set your project ID. If your repo is private, you must set your token as well.
GITLAB_LINT_PATH
- If you're linting anything other than the default .gitlab-ci.yml
file.
GITLAB_LINT_VERIFY
- If you prefer TLS checking
I would recommend adding these to your ~/.profile or ~/.bash_profile
Flag | Description | Type | Default | Required |
---|---|---|---|---|
--domain | Gitlab Domain. You can set envvar GITLAB_LINT_DOMAIN | string | gitlab.com | no |
--project | Gitlab Project ID. You can set envvar GITLAB_LINT_PROJECT | string | None | no |
--token | Gitlab Personal Token. You can set envvar GITLAB_LINT_TOKEN | string | None | no |
--path | Path to .gitlab-ci.yml, defaults to local directory. You can set envvar GITLAB_LINT_PATH | string | .gitlab-ci.yml | no |
--verify | Enables HTTPS verification, which is disabled by default to support privately hosted instances. You can set envvar GITLAB_LINT_VERIFY | Flag | False | no |
If your .gitlab-ci.yml is in the current directory it is as easy as:
$ gll
GitLab CI configuration is valid
Failures will appear like so:
$ gll
GitLab CI configuration is invalid
(<unknown>): could not find expected ':' while scanning a simple key at line 26 column 1
If you need to you can specify the path:
$ gll --path path/to/.gitlab-ci.yml
GitLab CI configuration is valid
If you choose not to set the envvars for domain and token you can pass them in as flags:
$ gll --path path/to/.gitlab-ci.yml --domain gitlab.mycompany.com --project 1234 --token <gitlab personal token>
GitLab CI configuration is valid
Https verification is disabled by default to support privately hosted instances, if you would like to enable pass the --verify | -v
flag
$ gll --verify
GitLab CI configuration is valid
Please use the submit a issue to report any bugs or file feature requests.
If you are interested in being a contributor and want to get involved in developing this CLI application feel free to reach out
In general, PRs are welcome. We follow the typical trunk based development Git workflow.
NOTE: Be sure to merge the latest changes from "upstream" before making a pull request!
This project supports Poetry for Python virtual environments. Poetry may be installed via pip
, and environments can be accessed with poetry shell
or poetry run
.
Run tests in root directory with pytest
To use this with pre-commit.com, you can use something like
- repo: https://github.com/mick352/gitlab-lint
rev: pre-commit-hook
hooks:
- id: gitlab-ci-check
pass_filenames: false
args: [-d, my.private.repo, -r, project_id, -t, private_token]
(or remove the args
line for gitlab.com).
FAQs
This is a CLI application to quickly lint .gitlab-ci.yml files using the gitlab api
We found that gitlab-lint demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Deno 2.2 enhances Node.js compatibility, improves dependency management, adds OpenTelemetry support, and expands linting and task automation for developers.
Security News
React's CRA deprecation announcement sparked community criticism over framework recommendations, leading to quick updates acknowledging build tools like Vite as valid alternatives.
Security News
Ransomware payment rates hit an all-time low in 2024 as law enforcement crackdowns, stronger defenses, and shifting policies make attacks riskier and less profitable.