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. Issues and severity counts appear in the results panel after debounce (~300 ms).

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 — shown in the results panel.

Job without script

Input

stages: - build compile: stage: build

Validation result

Invalid — job-like key missing script or trigger — shown in the results panel.

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.

GitHub Actions and GitLab CI — format YAML and check workflow/job structure in your browser.