-
-
Notifications
You must be signed in to change notification settings - Fork 10.8k
CI: GitHub Actions CI job restructuring #24493
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
28d2aab
to
775cb6e
Compare
Also documents better what is being run. See numpygh-24410 for the overall restructuring plan for GitHub Actions CI.
[skip azp] [skip cirrus] [skip circle] [skip travis]
This is happy now. Should make it easier to iterate on things in parallel after this is merged. We basically have to get rid of |
- uses: actions/setup-python@61a6322f88396a6271a6ee3565807d608ecaddd1 # v4.7.0 | ||
with: | ||
python-version: '3.11' | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could get rid of the blank line at some point.
Thanks Ralf. |
Here are the current workflows on github actions and the time they take to run (after merging this PR)
In addition we have the
|
Thanks! That's a useful overview. Perhaps good to post it on gh-24410 too (more discoverable)? I think we should first get rid of all the |
This is a backport of numpy#24493 and numpy#24291. The purpose of this is to ease future backports that expect these files. - CI: move some jobs in `build_test.yml` to Meson - CI: split `build_test.yml` into three GHA jobs files Also documents better what is being run. See numpygh-24410 for the overall restructuring plan for GitHub Actions CI. - CI: merge `linux_meson.yml` into `linux_blas.yml` - TST: disable mypy tests in test suite unless an environment variable is set These tests are super slow, and they're effectively always passing in CI. Running them on all "full" test suite runs is too expensive. Note that SciPy has an XSLOW mark, NumPy does not. So use an env var for now. - CI: add new GHA CI jobs to run MyPy across OS/Python flavors
This is a backport of numpy#24493 and numpy#24291. The purpose of this is to ease future backports that expect these files. - CI: move some jobs in `build_test.yml` to Meson - CI: split `build_test.yml` into three GHA jobs files Also documents better what is being run. See numpygh-24410 for the overall restructuring plan for GitHub Actions CI. - CI: merge `linux_meson.yml` into `linux_blas.yml` - TST: disable mypy tests in test suite unless an environment variable is set These tests are super slow, and they're effectively always passing in CI. Running them on all "full" test suite runs is too expensive. Note that SciPy has an XSLOW mark, NumPy does not. So use an env var for now. - CI: add new GHA CI jobs to run MyPy across OS/Python flavors
Implements most of what is discussed in gh-24410, and documents what each job does. It removes some duplicate jobs, and adds a few notes and TODOs for where we miss coverage.
For the two files with a large number of jobs (
linux.yml
andlinux_simd.yml
) we run the samesmoke_test
which acts as a gate for the other jobs. That's an unavoidable duplication, but it takes only ~6 minutes so that should be fine. If there are only 2-3 jobs in a yml file, we don't run a smoke test. Overall, this will cut down on the number of jobs and make them easier to maintain.