Sign inSign up

sebiwi/gitlab-ci-validate

By sebiwi

•Updated about 7 years ago

From scratch image of gitlab-ci-validate, by Oliver Bristow.

Image
1

3.0K

sebiwi/gitlab-ci-validate repository overview

⁠gitlab-ci-validate

This tool uses GitLab's CI config validation API endpoint⁠ to validate local config files.

If you don't want to use the command line, you can paste your config into https://gitlab.com/<your project>/-/ci/lint [ref⁠]

⁠Usage

One or more .gitlab-ci.yml are passed as arguments on the command line. Any errors will result in a non-zero exit code. The filename must end in .yml to pass, but doesn't have to be .gitlab-ci.yml.

$ gitlab-ci-validate ./good.yml ./maybe-good.yml ./bad.yml
PASS: ./good.yml
SOFT FAIL: ./maybe-good.yml
 - Post https://gitlab.com/api/v4/ci/lint: dial tcp: lookup gitlab.com on 127.0.0.53:53: read udp 127.0.0.1:41487->127.0.0.53:53: i/o timeout
HARD FAIL: ./bad.yml
 - jobs:storage config contains unknown keys: files

Each input file will be validated and one of 3 results will be printed for it:

  • PASS - the file passed all checks
  • SOFT FAIL - the file is acessable and contains valid YAML, but there was an error contacting the validation API
  • HARD FAIL - the file failed any checks

The exit code will be:

  • 0 if all files are valid (all PASS)
  • 1 if any files are invalid (any HARD FAIL)
  • 2 if there was any SOFT FAIL and no HARD FAIL
⁠Using private GitLab host

You can also use a private GitLab host both as a flag or as an environment variable. The following are equivalent.

gitlab-ci-validate --host=http://user:[email protected]:8080 .gitlab-ci.yml

export GITLAB_HOST=http://user:[email protected]:8080
gitlab-ci-validate .gitlab-ci.yml

The flag has precedence over the environment variable. When not specified the host used is by default https://gitlab.com

⁠Installation

You can either use a premade binary from the releases page⁠ or you can install it using go get:

go get -u github.com/Code0x58/gitlab-ci-validate

Tag summary

Content type

Image

Digest

Size

28.4 MB

Last updated

about 7 years ago

docker pull sebiwi/gitlab-ci-validate