Automated building and testing in RevBayes

Last modified on January 13, 2021

Automated builds


A series of automated builds and tests is run every time code is pushed to the repository in any branch through Github Actions. The status of current workflows can be checked on the repository page, and a notification is sent to Slack (channel #github) once the full workflow is complete.

The Github Actions workflow is configured in the .github/workflows/build.yml file. Linux and Mac builds use the CMake build configured in projects/cmake/build.sh, while the Windows build uses the Meson build.

The automated workflow runs the following tests:

Troubleshooting


Known issues:

Resolution: BOOST and other necessary libraries for the Windows build are downloaded from a repository which periodically removes old versions. This error means that the versions used by RevBayes need to be updated in the file projects/meson/make_winroot.sh, l90. Available packages are listed here.

Resolution: the missing DLL can be downloaded from the repository here. It needs to be added to the download list in file projects/meson/make_winroot.sh (l90) and moved to the build folder by adding the instruction cp /home/runner/win_root/mingw64/bin/your_missing_file.dll ${GITHUB_WORKSPACE}/wincrossbuild/bin to the file .github/workflows/build.yml in step Configure and build (Windows meson cross compile). For an example already present in the build, see libwinpthread-1.dll.

Resolution: this is not a RevBayes issue, but an issue with the Mac virtual environment set up by Github. A list of current issues (and possible workarounds) can be found here.