ethanlin01x opened a new issue, #3977: URL: https://github.com/apache/iggy/issues/3977
### Description `sdk-python` declares `tasks: ["lint", "test", "build"]`, and each task becomes its own job. The three jobs run on separate runners, so they cannot share anything. Each one compiles the same Rust crate again, and the wheel built in `build` is thrown away instead of being used by `test`. ### Affected area / component CI / build / tooling ### Proposed solution Replace `tasks: ["lint", "test", "build"]` with `tasks: ["ci"]`, and turn the `if: inputs.task == '...'` branches into one ordered list, cheapest first: ```text ruff -> cargo fmt + clippy -> maturin build -> pyrefly -> pytest ``` Now the wheel is built once and every later step reuses it. Steps already run in order and already stop on the first failure, so fail-fast needs no extra work. One thing to decide: pytest today runs against a wheel built under `cargo llvm-cov`, and a coverage build cannot reuse a plain one. Either Rust coverage moves off the PR path, or the job keeps both builds. I would keep both for now and treat coverage as a follow-up. ### Alternatives considered _No response_ ### Contribution - [x] I'm willing to submit a pull request to implement this feature ### Good first issue - [x] I think this could be a good first issue for a new contributor -- 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]
