This PR creates a .github/workflows/cmake.yaml script that runs the CI jobs on Github Actions. The CI jobs are a matrix of
os: Ubuntu, MacOS
compiler: gnu, clang
MPI: on, off
OpenMP: on, off
The Ubuntu/clang combination is currently excluded because of #292. Currently it builds all 8 combinations on MacOS which may be a bit overkill, given that MacOS time is theoretically more expensive (although all time is free for public repos). Then again building all combinations catches some bugs, see below. Comments welcome.
I had to make some changes to the build system in cmake_files/dependencies.cmake to build with OpenMP=OFF. Adding the -fopenmp flat when OpenMP was set to OFF was causing problems so it is now only set when we build with OpenMP=ON. However, it seems that we need to link with libpthread when not using OpenMP, that is now provided explicitly. All the builds pass but this seems unnecessarily complex. It is on my TODO list to improve the OpenMP target handling in #297.
Also not sure whether I should remove the .travis.yml file in this PR, or let it keep running as long as we have credits on Travis. Any comments?
This PR creates a
.github/workflows/cmake.yaml
script that runs the CI jobs on Github Actions. The CI jobs are a matrix ofThe Ubuntu/clang combination is currently excluded because of #292. Currently it builds all 8 combinations on MacOS which may be a bit overkill, given that MacOS time is theoretically more expensive (although all time is free for public repos). Then again building all combinations catches some bugs, see below. Comments welcome.
I had to make some changes to the build system in
cmake_files/dependencies.cmake
to build with OpenMP=OFF. Adding the-fopenmp
flat when OpenMP was set to OFF was causing problems so it is now only set when we build with OpenMP=ON. However, it seems that we need to link withlibpthread
when not using OpenMP, that is now provided explicitly. All the builds pass but this seems unnecessarily complex. It is on my TODO list to improve the OpenMP target handling in #297.Also not sure whether I should remove the
.travis.yml
file in this PR, or let it keep running as long as we have credits on Travis. Any comments?