ci(repo): migrate Cargo-Rail planning to v0.25 - #3999
Conversation
|
Thanks for the PR. It is labeled Slash commands (own line, regular comment) move it around the queue:
See CONTRIBUTING.md for details. |
|
Aside from this PR, I evaluated Cargo-Rail v0.25 against Iggy in an isolated Linux build.
If the dev team are using cargo-udeps, cargo-msrv, cargo-workspace-hack, etc. - you can free the resources on those dev machines now. Cargo-Rail I would keep it sparse for now: [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 I would like to slowly get the other workflows integrated, but I can't recommend them until I have more testing/benching time.
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. |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #3999 +/- ##
============================================
- Coverage 84.91% 84.80% -0.11%
Complexity 1405 1405
============================================
Files 1224 1224
Lines 179301 179301
Branches 145615 145615
============================================
- Hits 152250 152057 -193
- Misses 23024 23218 +194
+ Partials 4027 4026 -1
🚀 New features to boost your workflow:
|
|
hi, |
|
btw, unify sounds nice. can we use it without action, via something fast, like and thanks for contribution! |
|
have you already joined our discord? |
|
Hey @hubcio. Thanks for the quick review. I genuinely didn't realize that the ASF projects had the guard in place. It makes sense. So, I'm going to prepare and submit the cargo-rail-action to the ASF for review. I've got some cleanup and patches to make w/ respect to the compiler fight I'm in, but when it's green - I will submit. I don't see it taking longer than today, or maybe tomorrow. I'm really glad that I ran cargo-rail across Iggy. I've found a handful of simple bugs and one significant issue w/ the compiler work. These will get patched in v0.26.0. With respect to 'unify' - yes... it's independent of the GHA. A simple For this PR, I can either revise it to avoid the external action for now or return with the exact approved SHA after ASF review... whatever is less disruptive for you guys. TBH, I would prefer to return post ASF review. Just give me a day or two? Discord - no, I find it to be a time sink and I just don't have that luxury. Cargo-Rail is a side quest because my own storage engine & query engine work needed it. I say this to say... I'm just too busy. Haha. I will join, though. It's easier to communicate there, for sure. |
|
no worries. you can take your time. we're almost done with cluster-related code and it's even more convenient to put non-production code further away in time, due to incoming release. thanks for contribution! |
Which issue does this PR address?
Closes #(N/A)
Rationale
I am the maintainer of Cargo-Rail. I simply wanted to alleviate the extra work for the Iggy team across the latest (v0.25.0 release).
Iggy's pre-merge workflow consumes a retired Cargo-Rail plan format, while post-merge image selection maintains a separate affected-change policy. These paths can drift from Cargo-Rail's dep graph and from each other.
Planning remains an optimization; invalid/unavailable plans must preserve Iggy's existing workspace wide and all-image behavior.
What Changed?
Pre-merge and post-merge planning now use
cargo-rail-actionv8.2.0, pinned by commit, w/ its validated v8 plan reader. Test selection uses typed Cargo arguments, and integration tests include their exact runtime bin and connector-lib pre-req's.Edge-image selection now comes from a five-variant Cargo-Rail catalog instead of separate shell and publish-config gates. Action, checkout, plan, reader, and matrix failures fall back to full workspace testing or building all five images.
Local Execution
Validation performed locally:
cargo fmt --all -- --checkcargo clippy --all-targets --all-features -- -D warningscargo check --all --all-featurescargo build --lockedcargo test --locked --no-runThe full external-service integration suite was NOT completed locally. Its Docker-backed connector fixtures require services and resources beyond this workflow-planning change; all Rust test targets compiled successfully.
AI Usage