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]

Reply via email to