ci(release-stage): also gate roas-cli jobs on the tag - #233
Merged
Conversation
Checks.outputs.publish lists every crate whose version differs from crates.io, so a PR bumping several crates at once leaves roas-cli in that list for all of the resulting tags. The roas-cli binary jobs then ran on non-cli tags, where the version strip is a no-op and tar fails on the ref's slashes. Add the tag check alongside the existing publish check. Assisted-By: Claude Opus 5 (1M context) Signed-off-by: Sergey Vilgelm <sergey@vilgelm.com>
SVilgelm
enabled auto-merge (squash)
July 28, 2026 05:14
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.
RoasCliBuild,DockerImageSmokeTest,RoasCliExtras, andAttachRoasCliBinarieswere gated only oncontains(fromJSON(needs.Checks.outputs.publish), 'roas-cli'). That output lists every crate whose version differs from crates.io, not the crate being tagged — so a PR that bumps several crates at once (#229 bumped all six) leavesroas-cliin the list for all of the resulting tags, and the roas-cli binary jobs run on non-cli tags too.On such a tag the version extraction is a no-op:
That took down the release-stage runs for roas/v0.17.3, roas-overlay/v0.2.2, roas-arazzo/v0.1.2, roas-file-fetcher/v0.1.2, and roas-http-fetcher/v0.2.2.
ChecksandDraftReleasepassed in all five, so the drafts themselves were unaffected.This keeps the existing publish check and adds
startsWith(github.ref, 'refs/tags/roas-cli/v')next to it, so both have to hold. The bug was latent until now because crates were previously bumped one per PR, leaving a single entry inpublish.