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:

Release files for gitlab-ci-verify 2.11.8

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for gitlab-ci-verify 2.11.8
File Size Uploaded
gitlab_ci_verify-2.11.8.tar.gz 11.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for gitlab-ci-verify 2.11.8
File Interpreter ABI Platform
gitlab_ci_verify-2.11.8-py3-none-any.whl Python 3 none any Details

Total release size: 20.2 kB

Release files / gitlab_ci_verify-2.11.8.tar.gz

Download URL gitlab_ci_verify-2.11.8.tar.gz
Size 11.1 kB
Tags Source
SHA-256 checksum
How to use checksums
f41faed59da84bbc722b18a05588d90918b3db85f8a756d297a2f846d3bff99c
BLAKE2b-256 checksum
How to use checksums
e414c179c75010e9bb4ddc6f1324ab1bfdd3dc27ac71b258fbd11170f4e5dbef
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.13.15

Release files / gitlab_ci_verify-2.11.8-py3-none-any.whl

Download URL gitlab_ci_verify-2.11.8-py3-none-any.whl
Size 9.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6753fe3e8c21ed764546d89e9336175ba056a387fa0efa36bbbcc764c13f6e80
BLAKE2b-256 checksum
How to use checksums
dcd7dd15f5abcb75ab671a09ba12d268ba0c7434f6d60bd9264938a265e525c0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.13.15

Release history Release notifications | RSS feed

This release

2.11.8 This release

2 release files

2.11.5

2 release files

2.11.4

2 release files

2.11.3

2 release files

2.11.2

2 release files

2.10.0

2 release files

2.9.3

2 release files

2.9.2

2 release files

2.9.1

2 release files

2.9.0

2 release files

2.8.4

2 release files

2.8.3

2 release files

2.8.2

2 release files

2.8.1

2 release files

2.8.0

2 release files

2.7.3

2 release files

2.7.2

2 release files

2.7.1

2 release files

2.7.0

2 release files

2.6.1

2 release files

2.6.0

2 release files

2.5.0

2 release files

2.4.6

2 release files

2.4.5

2 release files

2.4.4

2 release files

2.4.3

2 release files

2.4.2

2 release files

2.4.1

2 release files

2.4.0

2 release files

2.3.0

2 release files

2.2.1

2 release files

2.2.0

2 release files

2.1.14

2 release files

2.1.13

2 release files

2.1.12

2 release files

2.1.11

2 release files

2.1.10

2 release files

2.1.9

2 release files

2.1.8

2 release files

2.1.7

2 release files

2.1.6

2 release files

2.1.5

2 release files

2.1.4

2 release files

2.1.3

2 release files

2.1.2

2 release files

2.1.1

2 release files

2.0.2

2 release files

2.0.1

2 release files

2.0.0

2 release files

1.2.11

2 release files

1.2.10

2 release files

1.2.9

2 release files

1.2.8

2 release files

1.2.6

2 release files

1.2.5

2 release files

1.2.4

2 release files

1.2.3

2 release files

1.2.2

2 release files

1.2.1

2 release files

1.2.0

2 release files

1.1.1

2 release files

1.1.0

2 release files

1.0.1

2 release files

1.0.0

2 release files

0.6.0

2 release files

0.5.4

2 release files

0.5.3

2 release files

0.5.2

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.4.2

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.1.0

2 release files

0.0.13

2 release files

0.0.12

2 release files

0.0.10

2 release files

0.0.1

3 release files

0.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page