fix(release): harden Cargo publish ordering and crates.io checks#2646
fix(release): harden Cargo publish ordering and crates.io checks#2646Hmbown wants to merge 1 commit into
Conversation
There was a problem hiding this comment.
Code Review
This pull request updates the release scripts by reordering the list of crates in crates.sh and adding a custom User-Agent header to crates.io API requests in publish-crates.sh. Feedback points out a dependency ordering issue in crates.sh where codewhale-tui and codewhale-agent are scheduled to be published before their dependency codewhale-core, which would cause the release process to fail.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
| codewhale-config | ||
| codewhale-agent | ||
| codewhale-tui | ||
| codewhale-core | ||
| codewhale-app-server | ||
| codewhale-tui-core | ||
| codewhale-cli |
There was a problem hiding this comment.
The current ordering publishes codewhale-tui and codewhale-agent before codewhale-core. Since codewhale-tui (and likely codewhale-agent) depends on codewhale-core, publishing them in this order will fail on a fresh release because their dependency (codewhale-core) is not yet available on crates.io.
Moving codewhale-core to be published immediately after codewhale-config and before codewhale-agent and codewhale-tui resolves this dependency ordering issue.
| codewhale-config | |
| codewhale-agent | |
| codewhale-tui | |
| codewhale-core | |
| codewhale-app-server | |
| codewhale-tui-core | |
| codewhale-cli | |
| codewhale-config | |
| codewhale-core | |
| codewhale-agent | |
| codewhale-tui | |
| codewhale-app-server | |
| codewhale-cli |
|
This exact release-script hardening is already included on the v0.9 stewardship branch as I also re-ran |
Summary
Fixes the two release-tooling problems found while publishing v0.8.52:
release_cratesinto the actual workspace dependency order, so crates likecodewhale-configare not published before their freshly-versioned dependencies such ascodewhale-execpolicycurlrequests under crates.io data-access policyRefs #2643.
Verification
bash -n scripts/release/crates.sh scripts/release/publish-crates.shbash scripts/release/publish-crates.sh publishafter v0.8.52 was fully published; all 15 crates skipped cleanly as already published