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]

Reply via email to