Closed
Description
These CI jobs are hard to navigate with several levels of indirection (a workflow file, then an action file, then two tools/travis-*.sh
scripts), and now that we have to move a lot of jobs over to Meson it's a good time to clean up. The build_test.yml
is particularly messy, and contains 22 jobs which is too much (quite a few are unnecessary too).
A few thoughts:
- The
windows_meson.yml
andwindows_clangcl.yml
can be merged, and namedwindows.yml
- It's useful to keep unusual / niche platform jobs in separate files. So let's keep
emscripten.yml
,cygwin.yml
,linux_musl.yml
andlinux_compiler_sanitizers.yml
. - Let's break up
build_test.yml
:linux_simd.yml
: all the SIMD related jobs (~8 jobs) and theold_gcc
onelinux_blas.yml
: all the BLAS/LAPACK related variations we're testing (should end up with ~6 jobs)linux.yml
: testing across Python versions (PyPy, python-dbg, a pre-release Python in summer time), build-via-sdist, run benchmarks, measure code coverage, and other build options like relaxed-strides. This will also fold inlinux_meson.yml
.
- The SIMD tests are the only ones that may use a
.sh
script, for the checks that are now intravis-test.sh
. For the rest, those shell script are just hard to read cruft. - I think we'd like a summary of what the larger files to at the top. In particular for SIMD, BLAS and the main
linux.yml
ones, that would be really helpful. - No more matrix'ed tests on a single variable, that's too much repetition of the exact same thing. We must be testing Python 3.9 + OpenBLAS + ubuntu-latest with its default GCC version more than 5 times by now, and it doesn't do much except heat the planet.