astro-informatics / purify

Next-generation radio interferometric imaging.
https://astro-informatics.github.io/purify
GNU General Public License v2.0
16 stars 11 forks source link

Migrate CI to Github Actions #299

Closed tkoskela closed 2 years ago

tkoskela commented 2 years ago

This PR creates a .github/workflows/cmake.yaml script that runs the CI jobs on Github Actions. The CI jobs are a matrix of

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?