Skip to main content

GitHub Actions YAML Linter

Paste your .github/workflows/*.yml and catch mistakes before you push. Validates trigger events, job dependencies, secret handling, and action version pins. Nothing is sent to any server — runs entirely in your browser.

✓ 10 validation checks ✓ Security & secrets checks ✓ Fix suggestions included

Frequently Asked Questions

What does this linter check?▼

It checks for: missing on: trigger block, invalid event names, missing jobs: block, broken needs: job references, circular job dependencies, hardcoded tokens/secrets, actions pinned to branch refs instead of version tags, unusual runs-on runner values, secrets printed in echo commands, and tab characters in YAML.

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

Pinning to @main or @master means your workflow will use whatever code is on that branch at the time it runs — including potentially malicious commits in a supply chain attack. Pinning to a version tag like @v4 or better yet a commit SHA (e.g. @abc1234) ensures your workflow is reproducible and not vulnerable to upstream changes.

What does needs: do in GitHub Actions?▼

The needs: field creates a dependency between jobs. A job with needs: [test, build] will only run after both test and build jobs complete successfully. If a referenced job name doesn't exist, the workflow will fail to parse. This linter catches undefined needs references before you push.

How should I handle secrets in GitHub Actions?▼

Store secrets in GitHub Settings → Secrets and variables → Actions, then reference them with ${{ secrets.MY_SECRET }}. Never hardcode token values in the workflow YAML. Use GITHUB_TOKEN for operations within the same repository — it's automatically provided and scoped to each workflow run.

What are valid GitHub Actions trigger events?▼

Common triggers include push, pull_request, pull_request_target, schedule (cron), workflow_dispatch (manual), workflow_call (reusable), release, issues, issue_comment, create, delete, deployment, and more. Invalid event names will cause the workflow to silently fail to trigger.

Does this tool send my workflow YAML to a server?▼

No. All linting runs entirely in your browser using JavaScript. Your workflow YAML never leaves your machine — important since workflows often reference sensitive secret names and repository structure.

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

YAML Validator Pro YAML to JSON Converter YAML Diff Viewer GitHub Actions Workflow Generator JSON ↔ YAML Converter GitHub Actions Workflow Validator GitHub Actions Cron Builder GitHub Stats Card Generator YAML Validator & Formatter CI/CD Pipeline Generator YAML to TOML Converter GitHub Actions Matrix Builder HTTP Security Headers Generator Helm Values Generator YAML to TOML Converter HTTP Security Headers Checker Docker Compose Generator Kubernetes Manifest Generator OpenAPI Validator Kubernetes YAML Validator Helm Chart Linter Ansible Playbook Builder Content Security Policy Builder Pulumi Stack Config Generator Helm Values Validator HTTP Header Inspector Prompt Injection Tester GCP Service Account Key Auditor Helm Chart Values Generator HTTP Headers Analyzer AI System Guardian Developer Portfolio Checklist .htaccess Generator Markdown Preview & Editor Markdown Table Generator nginx Config Generator Password Strength Checker README Generator Tech Stack Detector Dockerfile Generator Makefile Generator CSP Header Builder Webhook Tester ArgoCD App Health Checker AWS IAM Policy Validator OpenTelemetry Config Generator Prometheus Alert Rules Validator HTTP Cookie Parser Zod Schema Generator SBOM Generator Kubernetes Resource Quota Calculator AI PR Description Generator OpenAPI Schema Validator pnpm Workspace Generator K8s Resource Limits Calculator HTTP Header Analyzer Dockerfile Linter OpenAPI Spec Validator Playwright E2E Test Generator Helm Values Builder Terraform Variable Builder Pulumi Modern IaC Guide Ansible Configuration Management Guide Ansible Playbook Linter ArgoCD Application Generator Kubernetes Resource Calculator Docker Layer Optimizer Kubernetes Resource Request Calculator CrewAI Agent Config Generator AI IDE Comparator Kubernetes RBAC Builder SWR Config Generator Password Strength Analyzer

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 →