ci(release): attach assets to the CLI v<version> tag, not releases[0]#18
Merged
Conversation
The release-assets matrix builds all failed at `actions/checkout`: it was handed `ref: pseudoscript-layout-v0.1.0` (a library entry), which is not a git tag — the only tag is the CLI's `v0.1.0`. `release.yml` passed `releases[0].tag`, but the version-bump PR touches the library crates too, so release-plz's `releases` array is order-dependent and [0] landed on a library. Resolve the CLI tag explicitly by its `v` prefix (libraries carry a `<crate>-v…` name) and gate `assets` on it being non-empty. Now every target checks out the real tag and builds. The macOS-Intel (`macos-13`) target is unaffected — it just waits longer in the scarcer macOS queue. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Deploying pseudoscript-ide with
|
| Latest commit: |
1778a89
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://e14dcc2a.pseudoscript-ide.pages.dev |
| Branch Preview URL: | https://fix-release-assets-cli-tag.pseudoscript-ide.pages.dev |
Deploying pseudoscript-landing with
|
| Latest commit: |
1778a89
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://8b38a259.pseudoscript-landing.pages.dev |
| Branch Preview URL: | https://fix-release-assets-cli-tag.pseudoscript-landing.pages.dev |
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.
Why
The release run after the v0.1.0 release-PR merge had every asset build fail at
actions/checkout(Windows, Linux, aarch64-macOS), and the Intel-macOS job sat queued. Not a build/compile problem and not my feature code — the jobs were handedref: pseudoscript-layout-v0.1.0, which is not a git tag (the only tag is the CLI'sv0.1.0).release.ymlpassedfromJSON(release.outputs.releases)[0].tag. The version-bump PR touches the library crates too, so release-plz'sreleasesarray is order-dependent and[0]landed on thepseudoscript-layoutentry, not thepseudoscriptCLI.checkoutthen couldn't fetch that ref → all builds died before compiling.publish(needs: build) never ran, so no assets attached.Fix
Resolve the CLI release tag explicitly by its
vprefix (libraries would carry a<crate>-v…name; the CLI'sgit_tag_nameisv{{version}}perrelease-plz.toml) and gateassetson it being non-empty (skips cleanly when nothing was released).Not changed
aarch64-apple-darwin(macos-latest) got a runner and only failed on the same checkout bug;x86_64-apple-darwin(macos-13, Intel) just waits longer in the scarcer macOS queue (it was cancelled when the stuck run was killed, not a failure).install.shadvertises the Intel-mac asset, so the target stays.Verified
YAML parses;
jqfilter picks the CLIv…tag over a library entry and returns empty (→ skipsassets) on empty input.Recovery for the current v0.1.0 release
After merge, attach binaries to the existing tag by hand:
gh workflow run release-assets.yml -f tag=v0.1.0🤖 Generated with Claude Code