DevToolsmith

GitHub Actions Validator

Check GitHub Actions workflow structure and expression syntax locally. Find missing job dependencies, dependency cycles and duplicate step IDs, with diagnostics that point to the source line.

Runs 100% in your browser — nothing is uploaded

GitHub Actions workflow YAML
Tip: drop a file here406 chars · 406 bytes · 22 lines

SchemaStore workflow schema e44768a6 plus the official GitHub expression parser. Checks syntax, local needs references, cycles and duplicate step IDs. Does not execute jobs, inspect action repositories or evaluate secrets and context values.

Check a workflow before pushing

Paste the contents of one file from .github/workflows, then choose Validate. The report combines YAML parsing, workflow structure, expression grammar and local dependency checks. A reference to a missing job and a chain such as build → test → build produce errors.

Understand what a passing result means

A passing report covers these local checks against the bundled schema snapshot. It does not guarantee that GitHub will accept or successfully execute the workflow. Action-specific inputs, repository settings, permissions, runner availability, runtime values and the contents of external reusable workflows remain outside this validation.

Expression parsing checks the contents of expression delimiters and unwrapped string if conditions. It does not execute functions or read secret values. The tool accepts up to 200,000 characters, 200 jobs and 1,000 expressions.

For general syntax use YAML Validator. Validate deployment files with Kubernetes Manifest Validator or Docker Compose Validator. Schema and library licenses.

Frequently asked questions

What does this workflow validator check?

It parses one YAML document with YAML 1.2 rules, validates against a pinned SchemaStore GitHub workflow schema, parses expressions with the official GitHub Actions expression library, and checks local needs references, dependency cycles and duplicate step IDs. Errors link back to source lines.

Does it run GitHub Actions or contact GitHub?

No. Your workflow is processed in a browser worker with bundled libraries and schemas. Jobs, scripts and actions are never executed. Action repositories, runner images, secrets, permissions and remote reusable workflows are not fetched or checked.

Can it prove an expression will work in every context?

No. Expression grammar and known context names can be checked locally, but allowed contexts depend on where an expression appears and on GitHub runtime values. This tool does not fully validate context availability, resolve matrix combinations, expand reusable workflows or evaluate expressions.

Why is the on key preserved?

The parser uses YAML 1.2, where on is an ordinary string key. YAML 1.1 parsers can accidentally treat it as a boolean. Duplicate keys and malformed YAML are rejected before schema validation.

Sources

Spotted a mistake? Email hello@devtoolsmith.com and we’ll fix it.