Lint GitHub Actions workflows with actionlint#16
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 an actionlint-based CI check to validate GitHub Actions workflows in this repository, aligning with an org-wide rollout and using a shared .github/actionlint.yaml configuration to tune rule behavior (notably ShellCheck noise).
Changes:
- Introduces a new workflow to run
actionlinton workflow/config changes. - Adds an
actionlintconfiguration file defining known self-hosted runner labels and ShellCheck ignore patterns for info/style.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| .github/workflows/lint-actions.yml | New CI workflow that runs actionlint when workflow/config files change |
| .github/actionlint.yaml | Adds actionlint configuration (runner labels + ShellCheck ignore tuning) |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| push: | ||
| branches: [main] | ||
| paths: ['.github/workflows/**', '.github/actionlint.yaml'] |
| paths: ['.github/workflows/**', '.github/actionlint.yaml'] | ||
|
|
||
| jobs: |
|
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