CI/CD tools

GitLab CI editor — inspect rules before you push

Paste .gitlab-ci.yml, set an explicit pipeline context, then run a local analysis of jobs, references, and supplied include files.

GitLab CI editor

CI YAML

Result

Analysis stays in this browser. Nothing is sent to GitLab.

Options

Simulated context

Local include files

Only files supplied here can be resolved; remote includes remain unknown.

Not analyzed yet. Run analysis to inspect this YAML.

A GitLab CI editor is useful when a pipeline looks valid as YAML but a job is missing a stage, a rule skips it, or a referenced file is not in the snippet you have open. Inspect the local evidence before committing another trial change.

This GitLab CI YAML validator keeps the formatted source separate from your input. It can list jobs and variables, but the real CI Lint remains the authority for your GitLab project and version.

Why use this GitLab CI editor

See the branch decision and unresolved files without pretending to run a pipeline.

A rule result with a reason

The GitLab CI editor marks each job included, skipped, or undetermined for the context you enter. A rules:changes check with no diff remains undetermined, so an absent file list never becomes a false negative.

A YAML job rule connecting to three distinct decision markers, with the unknown branch left open.

Local includes stay explicit

Add the exact path and contents of an include:local file to inspect that configuration. The GitLab CI editor flags a missing file or a remote include instead of silently treating it as empty.

Two YAML file sheets connected by a local path, while a missing sheet shows an open connector.

Check context before trusting a result

01

Set a real test context

The prefilled push and main values are only an example. Change CI_PIPELINE_SOURCE and branch values to the case you actually need to inspect.

02

Supply local files deliberately

For include:local, enter the same path and paste that file. The browser never reads a repository automatically; a missing include is reported as unresolved.

03

Read all three result types

A parsed YAML document, a structural diagnostic, and a rules preview answer different questions. Use Ctrl/Cmd+Enter to rerun after changing any option.

YAML, jobs, and references in one view

Comment-aware formatting

The gitlab-ci.yml formatter writes a separate output with two-space indentation, retaining YAML comments where the parser can represent them.

Supported structure checks

The GitLab CI YAML validator checks stage names, job actions, rule list shape, and local needs references. It does not claim full server schema coverage.

Rules preview

The GitLab CI rules tester uses explicit variable values and first-match order for supported if expressions; unsupported conditions stay undetermined. Supported if syntax: variable presence, ==, !=, &&, ||, and parentheses. Regex stays undetermined.

Variables beside their uses

The GitLab CI variables viewer lists definitions and $NAME references. A name absent locally may still be supplied by project, group, or instance settings.

What local evidence can and cannot prove

No server simulation
The GitLab CI editor cannot create a pipeline, execute scripts, or reproduce your instance version. Confirm final behavior in project CI Lint.
Unknown file state stays unknown
rules:changes and rules:exists require repository or diff data that this page does not have, so they are never reported as false merely because the context is missing.
Only supplied local includes
An include:local path resolves only when you paste a matching local file. Project, template, component, and remote includes are not fetched.
No secret lookup
Undefined references mean no value was supplied in this YAML or simulated context. They do not prove a GitLab project variable is missing.
Source is never rewritten
Formatting appears only in the output. Review it before copying or downloading; the input remains available.

GitLab CI editor questions

How do I validate a .gitlab-ci.yml file before pushing?

Run this GitLab CI editor on a draft to catch its supported syntax and structure issues, then use your project CI Lint for authoritative validation before pushing.

Can GitLab CI Lint simulate a pipeline with rules and needs?

The local preview evaluates supported if conditions and first-match order. GitLab CI Lint simulation can also use server branch, needs, and repository context that this page cannot see.

Why does include:local not find my GitLab CI file?

Paste the exact include:local path and file contents in the options. Missing or remote includes remain unresolved; check repository path and ref in GitLab.

Why are job variables not available in rules?

Job-level values are not automatically available while GitLab decides all rules. Use a variable available at pipeline creation, and test the final condition in CI Lint.

How can I see which variables a GitLab CI job references?

Open Variables after analysis to see $NAME references and local definitions. An absent local definition may still be supplied by GitLab settings.

Found a workflow this tool gets wrong?

Use the GitLab CI editor on your draft

Return to the GitLab CI editor, inspect the reported uncertainty, and verify the final file against your GitLab project before merging.