andygrove opened a new pull request, #3249:
URL: https://github.com/apache/datafusion-comet/pull/3249
## Summary
- Add `build-native` job that builds the Rust native library once and
uploads it as an artifact
- All 36 test jobs download the pre-built library instead of rebuilding it
- Rust tests run in parallel with build-native (they use debug builds)
- Add Cargo caching throughout
- Add faster CI Cargo profile (no LTO, parallel codegen) with same overflow
behavior as release
- Add `skip-native-build` input to java-test action
## Estimated Savings
| Before | After | Savings |
|--------|-------|---------|
| 36 Rust builds | 1 Rust build | ~35 × 5-15 min = **175-525 min total CI
time** |
| Full release (LTO) | CI profile (no LTO) | ~30-50% faster per build |
## Job Flow
```
build-native ─────────────────┐
├──> linux-test (36 jobs, download artifact)
linux-test-rust (2 jobs) ─────┘ (runs Maven compile + tests only)
```
## Test plan
- [ ] Verify build-native job succeeds and uploads artifact
- [ ] Verify test jobs download artifact and skip native build
- [ ] Verify tests pass with pre-built native library
- [ ] Compare total CI time before/after
🤖 Generated with [Claude Code](https://claude.ai/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]