Closed cookpa closed 3 months ago
I guess the issue here is that testing and wheel building are being done with the same workflow? If that's the case, perhaps another GHA workflow can be made for nightly wheel building and then the tests can be done on just the latest python version at every PR. I think that's more of a traditional workflow.
The main thing I care about is seeing feedback on the tests as quickly as possible after submitting a PR. Maybe I'm just impatient though.
Locally, I have ANTsPy installed with pip install -e
, so I just edit my code and run the tests right away. But I'm not sure how best to implement that in a runner.
True, I will start using that as my primary testing method.
Cool, when I get some time, I'll see if I can come up with something better on my fork. Something like:
@ncullen93 FYI if you put "[skip ci]" at the beginning of a commit message, it will not run the CI builds. However, this breaks the status badges. But it can be useful if you are doing a bunch of merges (be sure to put it in the merge commit message and not just the title), just let the tests run on the last one.
I'm still working on a streamlined unit test workflow
Wow nice thanks for the tip
The full complement of wheels is now building nightly via cron, fastest test for python-only changes runs on all pushes, intermediate test (one wheel per platform) available for manual testing as needed.
Problem: building wheels for every supported Python for every platform on each commit and PR takes too long
Ideas:
Bracket the range of Python, eg build 3.8 and 3.11, but not those inbetween.
Put branch protection on master, and insist that all changes go through PR, and then build a couple of wheels in the PR. Then don't build wheels on the merge commit. This would avoid duplication where PR builds pass and then the same wheels get built again on merge.