Repository navigation
fix(release): move off the shipx that dropped Cargo bumps from the release commit - #925
Merged
Merged
Conversation
…lease commit The devDependency range was "^0.1.2", so the lockfile stayed on shipx 0.1.17 and `bun run release` picked that up from node_modules/.bin ahead of the newer global install. 0.1.17 ran `cargo set-version --workspace` from src-tauri and then staged only the src-tauri directory. Cargo resolves upward to the workspace root at the repo root, so the bump rewrote all four members plus Cargo.lock, and the two members outside src-tauri (crates/juno-cua, tauri-plugin-voice-transcription) were left out of the release commit and tag. That is how cua-v0.8.0 and cua-v0.8.1 got tagged with stale crate versions; the next commit of any kind swept the files up, which is why it stayed quiet. shipx 0.1.23 fixed it (shipx#58, PR shipx#60) by asking git which Cargo files the bump actually rewrote instead of assuming the directory it ran in. The same release fixed shipx#59, so steps handed to CI are no longer reported as done without checking: with githubRelease and homebrew off, shipx now watches the v* and cua-v* runs the tag push triggers and fails the release when they fail. Both cua releases failed while shipx reported clean. Verified on this layout: `cargo set-version --workspace` from src-tauri reports four crates upgraded, and git reports Cargo.lock, crates/juno-cua/Cargo.toml, src-tauri/Cargo.toml, src-tauri/mcp-server-os-level/Cargo.toml and tauri-plugin-voice-transcription/Cargo.toml as modified, all five of which match the path filter 0.1.27 stages on. Also name the demo cohort input after the release the build came from, which is the convention in use, so the label says which Anthropic key to revoke with it.
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.
What was broken
The
@lacymorrow/shipxdevDependency range was^0.1.2, so the lockfile stayed on 0.1.17.bun run releaseputsnode_modules/.binahead ofPATH, so it ran that copy rather than the newer global install (0.1.24).0.1.17 ran
cargo set-version --workspacefromsrc-tauriand then staged only thesrc-tauridirectory. Cargo resolves upward to the workspace root, which in this repo is the repo root, so one command rewrote all four members plusCargo.lock. The two members outsidesrc-taurinever made it into the release commit or tag:junosrc-tauri/Cargo.tomlcomputer-use-ai-sdksrc-tauri/mcp-server-os-level/juno-cuacrates/juno-cua/tauri-plugin-voice-transcriptiontauri-plugin-voice-transcription/That is how
cua-v0.8.0andcua-v0.8.1got tagged with stale crate versions. It stayed quiet because the next commit of any kind swept the leftover files up, so a release left behind what looked like ordinary post-release churn.A second defect rode along: with
githubRelease: falseandhomebrew: false, 0.1.17 printedCI-handled (via tag push): ...and exited 0 no matter what CI did. Both cua releases failed while shipx reported clean.The fix
Raise the floor to
^0.1.27and refresh the lockfile. shipx 0.1.23 fixed both:v*andcua-v*runs the tag push triggers and fails the release when they fail. Opt out per run with--no-watch-ci.Also named the demo cohort input after the release the build came from, which is the convention already in use, so the label says which Anthropic key to revoke with it.
Verification
cargo set-version --workspace 0.8.113fromsrc-tauri, on this branch:git status --porcelainthen reported exactly the five paths 0.1.27 stages, all matching itsCargo.(toml|lock)filter:The test bump was reverted; the diff here is three files.
./node_modules/.bin/shipx --helpreportsv0.1.27and lists--no-watch-ci.actionlintparses the workflow (its one SC2129 style note is pre-existing on an unrelated step).No Rust or frontend source changed. The dependency is a release-time CLI only.
Note
Versions are currently in sync at 0.8.112, because releases since have been running the global 0.1.24. This closes the gap so the repo-local copy cannot reintroduce it. The historical
cua-v0.8.1tag still carriescrates/juno-cua/Cargo.tomlat 0.8.0; it is 111 patch versions behind and not worth re-cutting.