kevinjqliu opened a new pull request, #3184: URL: https://github.com/apache/iceberg-rust/pull/3184
## Which issue does this PR close? - Related to #3034 (0.11.0 release tracking). Found while verifying [0.11.0 RC1](https://lists.apache.org/thread/nj95255r4ofqszpfx6pd8hbf8yxxydzv). ## What changes are included in this PR? `iceberg-property-macro` is new in 0.11.0 and is published because `iceberg` depends on it. It also had a dev-dependency on `iceberg` declared as `workspace = true`, which carries a version. When cargo packages the macro crate for publishing it must resolve `iceberg ^0.11.0` from crates.io, which does not exist until the next crate is uploaded, so `cargo publish --workspace` fails on the `v0.11.0-rc.1` tag: ``` error: failed to prepare local package for uploading failed to select a version for the requirement `iceberg = "^0.11.0"` required by package `iceberg-property-macro v0.11.0` ``` This is the same failure mode that broke the 0.5.0 publish (#1325). - Make the dev-dependency path-only (`iceberg = { path = "../iceberg" }`) so cargo strips it when packaging. This is the same shape already used for `iceberg_test_utils` across the workspace. - Mark the macro crate as internal to `iceberg` in its description and README, since it is published only because `iceberg` depends on it. - Add a `cargo publish --workspace --all-features --dry-run` step to the `check_standalone` CI job so an unpublishable crate fails on the PR rather than during the post-vote publish. Follow-ups outside this PR: cherry-pick to `0.11.x` before RC2, and note that the macro crate's first publish cannot go through Trusted Publishing (crates.io requires the first version of a new crate to be published with an API token). ## Are these changes tested? - `cargo publish --workspace --all-features --dry-run` fails on the current manifest and passes with this change, on both stable 1.95 (the publish workflow's toolchain) and the pinned nightly. - `cargo test -p iceberg-property-macro --all-features` passes with the path-only dev-dependency, including the trybuild compile-fail tests and README doctests. - The new CI step runs on this PR. ## AI Disclosure Investigated and drafted with Claude Code; changes reviewed and verified by me. 🤖 Generated with [Claude Code](https://claude.com/claude-code) -- 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] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
