GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - timo-reymann/gitlab-ci-verify: Validate and lint your gitlab ci files using ShellCheck, the Gitlab API, curated checks or even build your own checks

BranchesTags
Open more actions menu

Latest commit

 

History

638 Commits
638 Commits

Folders and files

NameName
Last commit message
Last commit date
.circleci
.circleci
 
 
.github
.github
 
 
ci-templates
ci-templates
 
 
cmd
cmd
 
 
docs
docs
 
 
integration-tests @ 8cf29b6
integration-tests @ 8cf29b6
 
 
internal
internal
 
 
pkg
pkg
 
 
python_wrapper
python_wrapper
 
 
.gitignore
.gitignore
 
 
.gitmodules
.gitmodules
 
 
.ort.yml
.ort.yml
 
 
.pre-commit-hooks.yaml
.pre-commit-hooks.yaml
 
 
.releaserc.json
.releaserc.json
 
 
.sonarcloud.properties
.sonarcloud.properties
 
 
CHANGELOG.md
CHANGELOG.md
 
 
CONTRIBUTING.md
CONTRIBUTING.md
 
 
Dockerfile
Dockerfile
 
 
Dockerfile.ci-lint-api-proxy
Dockerfile.ci-lint-api-proxy
 
 
LICENSE
LICENSE
 
 
Makefile
Makefile
 
 
NOTICE
NOTICE
 
 
README.md
README.md
 
 
codecov.yml
codecov.yml
 
 
go.mod
go.mod
 
 
go.sum
go.sum
 
 
main.go
main.go
 
 
properdocs.yml
properdocs.yml
 
 
renovate.json
renovate.json
 
 
requirements-docs.txt
requirements-docs.txt
 
 
wheel.yaml
wheel.yaml
 
 

Repository files navigation

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:

  • Shellcheck by koalaman
  • go stdlib
  • pflag by spf13
  • go-yaml, which I forked to timo-reymann/go-yaml

About

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

gitlab-ci-verify.timo-reymann.de/

Topics

gitlab-cishellcheckwork-in-progress

Resources

Readme
GPL-3.0 license

Contributing

Contributing

Security policy

Security policy
Activity

Stars

50 stars

Watchers

1 watching

Forks

3 forks
Report repository

Releases

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.