What problem does it solve?
GitHub Actions workflow files can be syntactically valid YAML yet still be rejected by GitHub Actions at load time, producing the opaque failure "This run likely failed because of a workflow file issue" with zero jobs started. The most common cause is a # character inside an unquoted ${{ }} expression being parsed as a YAML comment, silently truncating the value — a bug that yaml.safe_load and yamllint cannot catch.
Core Features & Use Cases
- Quoting rules for expression scalars: A reference table of characters (
#, :, leading */&/!/@, etc.) that force quoting of run-name, name, if, env, and with values containing ${{ }} expressions.
- actionlint validation workflow: Step-by-step instructions to download a pinned, checksum-verified actionlint binary and run it with
-shellcheck= -pyflakes= to focus on workflow/expression errors.
- Use Case: After editing a workflow's
run-name to include format('Evaluate PR #{0}', ...), quote the scalar and run actionlint to confirm GitHub Actions will actually load the file before merging.
Quick Start
Review my changes under .github/workflows/ for YAML quoting issues in ${{ }} expressions and validate them with actionlint.