Skip to main content

GitHub Actions Validator

Check a GitHub Actions workflow for unknown events, missing runs-on, bad needs, outdated actions and mistakes inside expressions. Private.

Workflow YAML

Stays in your browser

Findings

Press Check to see the findings.

Shortcuts: Ctrl+Enter run · Ctrl+Shift+C copy result · / search (use ⌘ on Mac)

Next steps

Done here? Use the Send to… menu on the result to carry it on to YAML ↔ JSON Converter.

Free Online GitHub Actions Validator

Paste a workflow file and find mistakes before you push: wrong job names in needs, steps that mix uses and run, outdated actions, and expressions that reference things that do not exist. It gives developers a quick browser-based way to solve a focused github actions validator task before moving the result into a project.

How to use the github actions validator

Paste your file in the box, or open it, and press Check. Findings name the job and step (jobs.build.steps[2]) so you can find them quickly.

Common mistakes

  • Referencing a step output without giving the step an id.
  • Using actions/checkout@v2: old major versions run on retired Node.js runtimes.

Frequently asked questions

What is checked inside ${{ }}?
That the braces match, that functions such as contains() and startsWith() exist, that contexts such as github, env, secrets and needs are real, and that needs.<job> and steps.<id> point to jobs and steps that exist.
Why is script injection flagged?
Putting text that other people control (an issue title, a branch name) directly into a run: command lets them run their own commands. Pass the value through an env: variable and use "$VAR" in the script.
Does it replace actionlint?
It covers the most common mistakes in the browser. For a full check including shell scripts, run actionlint in your project as well.
Is my file uploaded anywhere?
No. The checks run in your browser and nothing you paste is sent to a server.
How do I use this github actions validator tool?
Use the interactive controls above; processing stays in your browser and the result is intended as a practical starting point for development work.

More DevOps & Network

View all DevOps & Network tools →