There's a scipy issue on this that discusses how to reduce usage,
https://github.com/scipy/scipy/issues/19006.
Main points:
- at the moment CI is run on PR and on Merge. Convert to only running on PR commits. I've just submitted a PR to do this for numpy.
Thanks! We shouldn't be running any CI on merge commits, other than for building and deploying new versions of the docs to
https://numpy.org/devdocs/.
- add a manual trigger. Simple to achieve, but requires input from a maintainer.
I'd like to avoid that, things that require more actions from maintainers tend to be counterproductive.
- reduce wheel build frequency. At the moment I believe they're made every week. However, that decision has to factor in the increased frequency that may be desired as numpy2.0 is worked on.
We're doing the x86-64 wheel builds in GHA daily now, which is necessary. The aarch64/arm64 ones can be done less frequently, but once a week seems good at least in the run-up to 2.0.
Also, it's significantly more expensive to test on macOS M1 compared to linux_aarch64. The latter isn't tested on cirrus. However, you could use linux_aarch64 as a proxy for general ARM testing, and only run macOS when necessary.
That sounds like a good idea to me. Or at least checking linux_aarch64 first. I like how you configured that for SciPy.
Also, now that we're on the topic of CI: I opened
https://github.com/numpy/numpy/issues/24410 for a larger overhaul of our GitHub Actions jobs. I put that on the agenda for today's community meeting, but folks interested in CI may also want to comment on that issue.
Cheers,
Ralf