loadingalias commented on PR #3999: URL: https://github.com/apache/iggy/pull/3999#issuecomment-5472052735
Aside from this PR, I evaluated Cargo-Rail v0.25 against Iggy in an isolated Linux build. `unify` produced one concrete follow up: promote `server`, `iggy-gateway-kafka`, and `iggy_connector_doris_sink` into `workspace.dependencies`, then convert 33 existing declarations across 10 manifests to workspace inheritance. It preserved the optional `mimalloc` and `strum` feature edges and found no unused dependencies, dead features, duplicate version opportunities, version mismatches, or transitive pins. If your dev team are using cargo-udeps, cargo-msrv, cargo-workspace-hack, etc. - you can free the resources on those dev machines now. Cargo-Rail `unify` will cover it. I would keep the policy sparse: ```toml [unify] exact_pin_handling = "preserve" That protects Iggy's exact compio pin while retaining Cargo-Rail's conservative defaults. Because ordinary analysis currently trips Iggy's `-D unused-crate-dependencies` policy, I would treat this as a reviewed cleanup PR rather than enable unify in CI yet. I would like to slowly get the other workflows integrated, but I can't recommend them until I have more testing/benching time. - Cache needs an isolated benchmark against Iggy's current Swatinem/rust-cache setup. However, Cargo-Rail caching is restoring more locally and remotely that sccache in current testing. I would almost bet a 50% reduction in build times across the entire workspace. - Surface in v0.25 stops while acquiring facts for the `tokio::task_local!` declaration in `leader_aware.rs`; I've patched in v0.25.1, but haven't cut the release yet. No intergration for Iggy under 'surface' just yet. - I think the reviewed `.changes` files look useful as a standalone release intent/notes pilot, too. I have a few fixes to make under the full release workflow; Iggy exposed shortcomings in the current. Cargo-Rail cannot currently preserve Iggy's four tag formats or broader Apache and cross-language release process. If you wanted me to submit the PRs, I think I'd prefer one small dep-inheritance PR followed by the .changes pilot. I will make sure cache gets a measured experiment in the next few days, Surface gets patched, and full release automation stays out for now. -- 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]
