Inspired by our struggles with code duplication in the CI yesterday, I had a go at refactoring the workflows. I've created three jobs in the CI workflow.
The build job builds the dependencies (Catch, FFTW, SOPT).
The doc job builds and deploys the documentation
Test test job builds and runs the tests
I also cleaned up the matrix a little and re-enabled an OpenMP test on MacOS (it's soo fast :rocket:). I'm still unhappy about how the job matrix is duplicated across jobs, and how the apt/brew installs have to be redone. I tried to trim them down to the necessary packages. If you spot any unnecessary ones please remove them :smile:
Inspired by our struggles with code duplication in the CI yesterday, I had a go at refactoring the workflows. I've created three jobs in the
CI
workflow.build
job builds the dependencies (Catch, FFTW, SOPT).doc
job builds and deploys the documentationtest
job builds and runs the testsI also cleaned up the matrix a little and re-enabled an OpenMP test on MacOS (it's soo fast :rocket:). I'm still unhappy about how the job matrix is duplicated across jobs, and how the
apt
/brew
installs have to be redone. I tried to trim them down to the necessary packages. If you spot any unnecessary ones please remove them :smile:Also updated to Ubuntu-22.04 and
gcc-12
.