Lint GitHub Actions workflows with actionlint - #1
Conversation
Part of an org-wide rollout: statically checks workflow files (schema, expression contexts, runner labels, shellcheck over run: scripts) on any push/PR touching them. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
There was a problem hiding this comment.
Pull request overview
Adds automated linting for GitHub Actions workflows using actionlint, aligning this repository with the org-wide rollout. The new workflow runs on pushes/PRs that modify workflow files or the actionlint configuration, and uses a repo-local actionlint config to tune runner-label validation and shellcheck noise levels.
Changes:
- Add a new
lint-actionsworkflow that runsactionlintwhen.github/workflows/**or.github/actionlint.yamlchanges. - Add
.github/actionlint.yamlto define recognized self-hosted runner labels and ignore shellcheck info/style findings in embeddedrun:scripts.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| .github/workflows/lint-actions.yml | Introduces an actionlint job to validate workflow syntax/expressions/shellcheck on relevant pushes and PRs. |
| .github/actionlint.yaml | Configures actionlint runner labels and filters shellcheck info/style findings for workflow scripts. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
Closing per review: we're keeping the actionlint rollout to the core repos (compiler-explorer, infra, compiler-workflows) rather than adding CI-only lint machinery to quiet single-workflow repos — all our other linters run as pre-commit/local hooks, and this repo's workflows were already clean anyway. |
Part of the org-wide actionlint rollout (see compiler-explorer/compiler-workflows#68, compiler-explorer/infra#2226, compiler-explorer/compiler-explorer#8912). Checks workflow files for schema errors, expression-context mistakes, unknown runner labels, and shellcheck issues (errors+warnings; info/style gated in
.github/actionlint.yaml) on any push/PR touching them.Existing workflows already passed cleanly.
🤖 Generated with Claude Code