chore(release): bump all published crates in crate-version - #15367
chore(release): bump all published crates in crate-version#15367stormslowly wants to merge 2 commits into
Conversation
📦 Binary Size-limit
🙈 Size remains the same at 68.25MB |
Rsdoctor Bundle Diff AnalysisFound 5 projects in monorepo, 5 projects with changes. 📊 Quick Summary
📋 Detailed Reports (Click to expand)📁 popular-libsPath:
📁 react-10kPath:
📁 react-1kPath:
📁 react-5kPath:
📁 ui-componentsPath:
Generated by Rsdoctor GitHub Action |
There was a problem hiding this comment.
Pull request overview
Updates the ./x crate-version release helper to ensure cargo-workspaces version includes all relevant crates in its version set, preventing stale =X.Y.Z pins in [workspace.dependencies] after bumping [workspace.package].version.
Changes:
- Switches
cargo workspaces version --forcefromrspack*to*to avoid leaving behind stale exact-version pins.
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Merging this PR will degrade performance by 2.18%
|
| Mode | Benchmark | BASE |
HEAD |
Efficiency | |
|---|---|---|---|---|---|
| ❌ | Simulation | rust@mangle_exports |
3.1 ms | 3.2 ms | -2.18% |
Tip
Investigate this regression by commenting @codspeedbot fix this regression on this PR, or directly use the CodSpeed MCP with your agent.
Comparing chore/crate-version-force-all (5790ecf) with main (e8ecb52)2
Footnotes
-
47 benchmarks were skipped, so the baseline results were used instead. If they were deleted from the codebase, click here and archive them to remove them from the performance reports. ↩
-
No successful run was found on
main(1e06873) during the generation of this report, so e8ecb52 was used instead as the comparison base. There might be some changes unrelated to this pull request in this report. ↩
Why
./x version <bump>fails oncargo codegen:Every workspace member declares
version.workspace = true, so bumping[workspace.package].versionmoves all crate versions at once. Butcargo workspaces versiononly rewrites the=X.Y.Zpins in[workspace.dependencies]for the crates it includes in the version set, and--force 'rspack*'excludescss-module-lexer(name does not match the glob, and it had no changes since the last tag).The result is a root
Cargo.tomlthat cannot resolve: the pin still demands=0.102.1while the crate itself is already0.102.2. Notecargo workspaces versionexits 0 and commitsRelease <version>anyway, so the repo is left half-released when the nextcargocall dies.This is not new — the 2.2.1 release hit the same thing (
Release 0.102.1leftcss-module-lexer = "=0.102.0") and it was patched by hand in the follow-up commit.Before / after
--forcerspack_binding_build = "=0.102.1"becomes the stale pin'rspack*'css-module-lexer = "=0.102.1"stale'*'./x version patchexits 0Since versions move together, the "only bump what changed" selection has no meaning in this workspace — it just decides which pins get left behind.
'*'turns it off.Private crates (
xtask,rspack_benchmark) are still skipped:cargo workspaces versionneeds-a/--allto touch them, which we do not pass.