hubcio opened a new pull request, #3111:
URL: https://github.com/apache/iggy/pull/3111

   Apache Iggy 0.8.0 rc1 had to be cancelled because its crates.io
   publish failed in five compounding ways: a path-only workspace dep
   without a `version =` field broke `cargo publish`; the publish
   order in CI was inverted (iggy_common ran before its dependency
   iggy_binary_protocol); the wait-for-index loops silently fell
   through on timeout, racing later steps against an unresolved dep;
   git tags were created inline with the publish job, leaving zombie
   tags whenever a mid-chain step failed; and PR CI had no mechanism
   to catch any of this before merge. Each one was load-bearing on
   its own; together they made the failure invisible until release
   day. This change closes every one of those gaps in a single PR
   so they cannot reappear independently.
   
   Mark every workspace member that is not published to crates.io
   as `publish = false`. Only four crates (iggy_binary_protocol,
   iggy_common, iggy, iggy-cli) are uploaded by CI; the remaining
   36 are docker images, internal libraries, tests, examples and
   benchmarking tools. Setting `publish = false` documents the
   intent and protects against `cargo publish --workspace` and
   similar bulk tooling.
   
   Add `scripts/verify-crates-publish.sh`, a self-contained shell
   script invokable by both developers and CI. It spins up
   cargo-http-registry on 127.0.0.1, patches the four workspace
   deps to target the local registry, and runs `cargo publish`
   on each crate in topological order. A trap reverts the patch,
   removes the scratch `.cargo/config.toml` and stops the registry
   on exit. The script catches the exact rc1 bug class: a missing
   `version =` on a path dep fails `cargo publish` with
   `dependency X does not specify a version`, exactly as crates.io
   would reject it. Validated locally on both the success path and
   a synthetic regression.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to