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]
