Skip to main content

gitlab-ci-verify

GitHub Release PyPI version PyPI - Downloads DockerHub Pulls GitHub all releases download count CircleCI codecov Renovate Quality Gate Status Maintainability Rating Go Report Card Security Rating


Validate and lint your gitlab ci files using ShellCheck, the Gitlab API, curated checks or even build your own checks

Features

  • ShellCheck for scripts
  • Validation against Pipeline Lint API for project
  • Curated checks for common mistakes (feel free to contribute new ones)
  • Automatic detection of the current gitlab project with an option to overwrite
  • Available as pre-commit hook
  • Usable to valid dynamically generated pipelines using the python wrapper
  • Support for gitlab.com and self-hosted instances
  • Support for custom policies written in Rego
  • Resolve and validate includes (how it works and limitations)

Installation

See the Installation section in the documentation.

Documentation

You can find the full documentation on GitHub Pages, including:

  • How it works
  • How to add new checks
  • How to write custom policies using rego
  • How to authenticate with GitLab

Motivation

Unfortunately, GitLab didn't provide a tool to validate CI configuration for quite a while. Now that changed with the glab CLI providing glab ci lint but it is quite limited and under the hood just calls the new CI Lint API.

Throughout the years quite some tools evolved, but most of them are either outdated, painful to use or install, and basically also provide the lint functionality from the API.

As most of the logic in pipelines is written in shell scripts via the *script attributes these are lacking completely from all tools out there as well as the official lint API.

The goal of gitlab-ci-verify is to provide the stock CI Lint functionality plus shellcheck. Completed in the future some rules to lint that common patterns are working as intended by GitLab and void them from being pushed and leading to unexpected behavior.

Contributing

I love your input! I want to make contributing to this project as easy and transparent as possible, whether it's:

  • Reporting a bug
  • Discussing the current state of the configuration
  • Submitting a fix
  • Proposing new features
  • Becoming a maintainer

To get started, please read the Contribution Guidelines.

Credits

This whole project wouldn't be possible with the great work of the following libraries/tools:

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gitlab_ci_verify-2.11.2.tar.gz (11.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

gitlab_ci_verify-2.11.2-py3-none-any.whl (9.1 kB view details)

Uploaded Python 3

File details

Details for the file gitlab_ci_verify-2.11.2.tar.gz.

File metadata

  • Download URL: gitlab_ci_verify-2.11.2.tar.gz
  • Upload date:
  • Size: 11.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.13.13

File hashes

Hashes for gitlab_ci_verify-2.11.2.tar.gz
Algorithm Hash digest
SHA256 62a089e86afb007f1a10fcf79d8f87f21f8da7be767cc988d5b57dd799068912
MD5 32e605a42c0f3b60561ed70ffaee315d
BLAKE2b-256 125d570e7640113849dcae6bc80d630a4f6925ea5097462aa3f2bf3407cd7a5c

See more details on using hashes here.

File details

Details for the file gitlab_ci_verify-2.11.2-py3-none-any.whl.

File metadata

File hashes

Hashes for gitlab_ci_verify-2.11.2-py3-none-any.whl
Algorithm Hash digest
SHA256 7f49e105ab6bfbfbd7fede6eebf3057225872dee96fd9648637cea65168bf513
MD5 eef7a922f5a0e988cbb7ed6d7dd9a6e2
BLAKE2b-256 cbd979259fde806c2bbdfcdc3f5090cad84c7c76f04ac9f5edc3968db978fd3a

See more details on using hashes here.

Release history Release notifications | RSS feed

2.11.4

2 files

2.11.3

2 files

This release

2.11.2 This release

2 files

2.11.1

2 files

2.11.0

2 files

2.10.0

2 files

2.9.3

2 files

2.9.2

2 files

2.9.1

2 files

2.9.0

2 files

2.8.4

2 files

2.8.3

2 files

2.8.2

2 files

2.8.1

2 files

2.8.0

2 files

2.7.3

2 files

2.7.2

2 files

2.7.1

2 files

2.7.0

2 files

2.6.1

2 files

2.6.0

2 files

2.5.0

2 files

2.4.6

2 files

2.4.5

2 files

2.4.4

2 files

2.4.3

2 files

2.4.2

2 files

2.4.1

2 files

2.4.0

2 files

2.3.0

2 files

2.2.1

2 files

2.2.0

2 files

2.1.14

2 files

2.1.13

2 files

2.1.12

2 files

2.1.11

2 files

2.1.10

2 files

2.1.9

2 files

2.1.8

2 files

2.1.7

2 files

2.1.6

2 files

2.1.5

2 files

2.1.4

2 files

2.1.3

2 files

2.1.2

2 files

2.1.1

2 files

2.0.2

2 files

2.0.1

2 files

2.0.0

2 files

1.2.11

2 files

1.2.10

2 files

1.2.9

2 files

1.2.8

2 files

1.2.6

2 files

1.2.5

2 files

1.2.4

2 files

1.2.3

2 files

1.2.2

2 files

1.2.1

2 files

1.2.0

2 files

1.1.1

2 files

1.1.0

2 files

1.0.1

2 files

1.0.0

2 files

0.6.0

2 files

0.5.4

2 files

0.5.3

2 files

0.5.2

2 files

0.5.1

2 files

0.5.0

2 files

0.4.2

2 files

0.4.1

2 files

0.4.0

2 files

0.3.0

2 files

0.2.2

2 files

0.2.1

2 files

0.1.0

2 files

0.0.13

2 files

0.0.12

2 files

0.0.10

2 files

0.0.1

3 files

0.0.0

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page