YAMLTools logo
Free · no sign-up · in your browser

GitLab CI validator

Paste your .gitlab-ci.yml and check it without opening the project CI Lint: jobs, stages and dependencies, explained line by line.

GitLab CI
YAML
Loading editor…

Paste a file on the left to validate it.

CREA.MBA
CREA.MBA

Ship your next product faster with AI-ready Next.js

The boilerplate designed for AI to understand your project. Use code YAMLTOOLS for 5% off!

Start Building
Ad

What YAMLTools checks in your GitLab CI file

  • The structure of each job: script, stage, needs, dependencies, rules and extends.
  • Jobs whose stage is not listed in stages.
  • needs and dependencies pointing to jobs that do not exist, and cycles.
  • rules mixed with only/except in the same job, which GitLab does not allow.
  • extends pointing to templates that are not defined, and extends cycles.

Risks it flags

  • Passwords and tokens in variables instead of masked CI/CD variables.
  • Images on :latest or without a tag.
  • Docker-in-Docker services and privileged runners.
  • Deploy jobs that run on every branch.
  • Scripts that download and execute remote code (curl | sh).

Common GitLab CI errors

The ones that break a deploy most often, and how YAMLTools reports them.

Stage not declared

stages: [test, build]
deploy:
  stage: release

GitLab refuses the pipeline: release is not in stages. YAMLTools marks the job and lists the valid stages.

needs to a missing job

needs: [test, lint]   # no lint job

The pipeline is not created. The report tells you which job name is missing.

rules together with only

rules:
  - if: $CI_COMMIT_BRANCH
only: [main]

GitLab does not allow both in the same job. Keep rules: only/except are deprecated.

Your file stays on your computer

Validation, risk analysis, diagram and conversions run in your browser. Nothing is uploaded unless you decide to save it with an account.

GitLab CI validator FAQ

Pipelines, includes and what happens with your file.