Save time and money on github actions
By putting all the "on pull request" jobs into the same workflow, and using "needs" to run them conditionally one after the other, you will save money by only using the GPU/Windows/MacOS runners if all other runners before them pass.
Second, this will fast fail on PR's which have obvious QA flaws, or flaws in the not (needs_credentials or use_gpu) pytests, which make up about 85% of your tests.
Third this better organizes all the runners into one workflow instead of several, making it easier to cancel.
At the cost of making full, successful runs slower. But hopefully you only need those once, at the end of a PR.
Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:
Project coverage is 65.27%. Comparing base (
5c9776e) to head (6844a0b).
:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@ Coverage Diff @@
## main #758 +/- ##
==========================================
- Coverage 69.53% 65.27% -4.26%
==========================================
Files 54 54
Lines 4038 4038
==========================================
- Hits 2808 2636 -172
- Misses 1230 1402 +172
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
I recommend rerunning failures. No code was changed.
Thank you for looking into this. Rather than put everything into a single YAML, can I suggest leaving the original YAMLs in place, but tweaking them so that they have workflow_call/inputs rather than their matrix dispatches, and then invoking them from the top level pr_tests.yaml via uses and supply the required arguments (os etc.) via the with clause?
Interesting idea. I'll look into it.