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

GitHub Actions workflow validator

Paste a workflow from .github/workflows and find the errors before pushing: GitHub only tells you after a commit, and sometimes only when the run fails.

GitHub Actions
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 GitHub Actions file

  • The workflow against the official schema: on, jobs, steps, runs-on, strategy and permissions.
  • needs pointing to jobs that do not exist and cycles between jobs.
  • Steps with both uses and run, or with neither.
  • Expressions inside ${{ }}: unclosed, unknown contexts and properties, with suggestions.
  • Matrix definitions and the expressions that use them.

Risks it flags

  • Secrets printed to the log or passed on the command line.
  • Third-party actions pinned to a branch instead of a version or SHA.
  • Missing permissions block, so the GITHUB_TOKEN keeps broad default permissions.
  • pull_request_target workflows that check out untrusted code.
  • User-controlled values (titles, branch names) interpolated straight into run.

Common GitHub Actions errors

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

needs to a job that does not exist

needs: [lint, test]   # no lint job

GitHub rejects the whole workflow and none of its jobs run. YAMLTools marks the job name that is missing.

Indentation that moves a key

steps:
- uses: actions/checkout@v4
  with:
fetch-depth: 0

A misplaced indent turns with into an empty key and its options into something else. The line where it starts is marked.

matrix used without a matrix

runs-on: ${{ matrix.os }}
# no strategy.matrix

The expression resolves to nothing and the job does not start where you expect. The report names the job and the context.

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.

GitHub Actions validator FAQ

Workflows, composite actions and what happens with your file.