fix(ci): release.yml startup failure — literal ${{ }} in a run-block comment#465
Merged
Merged
Conversation
A bash comment inside the build step's run: block literally contained
${{ }}. GitHub Actions substitutes ${{ }} expressions before the shell
sees the script, so the empty expression was parsed at workflow-load time →
'unexpected end of input' → startup_failure ("workflow file issue") on
EVERY push since #437 merged (after v0.9.0). v0.10.0 was the first tag since,
so the release silently never ran. Reworded the comment to drop the literal
token; actionlint clean.
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.
Root cause
The build step's
run:block had a bash comment containing a literal${{ }}:GitHub Actions evaluates
${{ }}expressions before the shell runs the script — even inside comments — so the empty expression failed to parse at workflow-load time (unexpected end of input, confirmed byactionlint). That's a startup_failure ("This run likely failed because of a workflow file issue"), which fires on every push regardless of trigger match.Impact
Introduced in #437 (merged after v0.9.0). Every push since has logged a failed release.yml run (dependabot branches included), and — critically — the
v0.10.0tag never produced a release. v0.9.0 was the last successful release because it predates #437.Fix
Reword the comment to drop the literal token. No behavior change.
actionlintnow passes clean.After merge
Re-trigger the v0.10.0 release (re-push the tag at the fixed HEAD, or
workflow_dispatchwith tag=v0.10.0).🤖 Generated with Claude Code