Skip to main content

GitHub Actions Workflow Validator

Paste your .github/workflows/*.yml and validate it before pushing. Checks required structure, trigger events, job dependencies, action version pins, secrets handling, and cron expressions. Nothing is sent to any server — runs entirely in your browser.

✓ Structure & schema validation ✓ Security checks ✓ Job dependency graph validation

Frequently Asked Questions

What does this GitHub Actions validator check?▼

It validates workflow structure (required name/on/jobs keys), trigger event names, job fields (runs-on, steps), needs: dependency references (catching undefined jobs), action version pinning, hardcoded secrets, schedule cron expressions, and security issues like pull_request_target with untrusted head SHA.

What is the difference between this validator and a linter?▼

This tool focuses on structural correctness — does your workflow have the required fields, are job dependencies valid, are event names spelled correctly? A linter additionally checks style and best practices. Both are complementary: validate structure first, then lint for best practices.

Why should I pin actions to version tags instead of branch names?▼

Pinning to @main or @master uses whatever code is on that branch at run time — including potentially malicious changes (supply chain attacks). Pinning to @v4 or a commit SHA (e.g., @abc1234) makes your workflow reproducible and immune to upstream branch changes.

What are valid GitHub Actions trigger events?▼

Common triggers: push, pull_request, pull_request_target, schedule (cron), workflow_dispatch (manual trigger), workflow_call (reusable workflows), release, issues, issue_comment, create, delete, fork, label, milestone, repository_dispatch, discussion, merge_group, and more. Invalid event names silently fail to trigger.

What is needs: used for and what breaks it?▼

The needs: field creates job dependencies — a job with needs: [test, build] only runs after both succeed. If you reference a job name that doesn't exist in the workflow, GitHub will refuse to run it. This validator catches those broken references before you push.

Is my workflow YAML sent to any server?▼

No. All validation runs entirely in your browser using JavaScript. Your workflow YAML never leaves your machine — safe even when your workflows contain secret names, internal endpoint URLs, or repository structure details.

Share this tool: X / Twitter LinkedIn
✓ 60,000+ developers use DevPlaybook ★★★★★ 4.8 / 5 on Gumroad ✓ MIT licensed · Instant download ✓ No login required

Related Products

on Gumroad

You Might Also Need

More Free Tools

Related Articles

Enjoying this tool? Get more like it.

Weekly developer tool guides, productivity playbooks & AI tricks. Free. No spam.

DevPlaybook Pro 7 days free

Unlock AI-Powered Dev Tools

  • ⚡ AI Code Review, Doc Generator & SQL Builder
  • ⚡ All premium templates & early access
  • ⚡ Member discounts on Gumroad products
Start Free Trial →

$9/mo after trial · Cancel anytime

Want the full toolkit?

Get DevPlaybook Pro

Every template, guide, boilerplate, and automation script in one bundle. 13 premium products — grab them all at once and save big.

$79
$241 separately Save $162 (67% off)
Get DevPlaybook Pro — $79 →

MIT licensed · Instant download · No subscription

See what's included → Browse all deals →