Add actionlint to CI to catch workflow syntax errors#66
Merged
Conversation
The monthly-dependency-release workflow failed repeatedly with "Invalid workflow file" errors because a heredoc inside a run: block caused GitHub Actions' YAML parser to choke. The heredoc fix is already on develop (c939a9d), but there was no CI gate to prevent the same class of error from recurring. This adds actionlint to the Lint job so any future workflow YAML issues are caught on PRs before they reach develop. The shellcheck integration is disabled since shellcheck already runs as a separate, more targeted step. The expression-injection warning is suppressed for workflow outputs that are internally generated (not user-controlled). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
actionlintstep to the Lint job in.github/workflows/validate.ymlactionlintstatically analyses all workflow YAML files for syntax errors, invalid expressions, and shell mistakes before a PR is merged-shellcheck=) because shellcheck already runs as a dedicated, more-targeted step; the expression-injection warning is suppressed for internally generated workflow outputs that are not user-controlledWhy
The
monthly-dependency-releaseworkflow failed repeatedly with "Invalid workflow file" errors because a heredoc inside arun:block caused GitHub Actions' YAML parser to choke.The heredoc bug was already fixed on
develop(commit c939a9d), but there was no CI gate to prevent the same class of error from recurring on future PRs.This PR adds that guard.
What is NOT changed
develop— this PR only adds the linting stepTest plan
actionlintoutput with no errors🤖 Generated with Claude Code