Validate GitLab CI Online — .gitlab-ci.yml Structure Checker

Structural checks for stages, jobs and script/trigger. Not a GitLab runner — validation stays in your browser.

Loading…
GitLab CI validator — structural checker
Catch missing script/trigger on jobs and bad stages arrays — not a GitLab runner or full schema validator.

Developer notes

• Reserved keys (stages, variables, include, …) are not treated as jobs. • Hidden jobs starting with . skip the script requirement. • extends-only jobs emit a warning in v1. • Does not fetch remote includes or execute pipelines.

When teams pick this route

• Quick check of a pasted .gitlab-ci.yml snippet. • Spot jobs missing script before push. • Teach pipeline shape without a GitLab project. • Pair with format-gitlab-ci after fixes.

Worked examples

Valid stages + unit job

Input

stages: - test unit: stage: test script: - npm ci - npm test

Validation result

Valid GitLab CI structure — no blocking issues.

Job without script

Input

stages: - build compile: stage: build

Validation result

Invalid — job-like key missing script or trigger.

Navigate related CI/CD tools

Format YAML with format GitLab CI, validate Actions with validate GitHub Actions, or browse the CI/CD hub.

GitLab CI validator FAQ

Structural checks only

Same as GitLab CI Lint?

No. We do not call GitLab’s API or simulate a runner. Checks are structural (YAML + jobs/script) in your browser.

Are hidden jobs validated?

Jobs whose names start with . are skipped for the script requirement (templates). Other keys still follow reserved-key rules.

What about pages jobs?

pages is treated as a job and must satisfy script/trigger rules like other jobs.

More CI/CD tools in this cluster

Looking for converters, encoders, formatters, and minifiers in one place? Developer tools hub Open the curated developer tools catalogue.