Automated building and testing in RevBayes

Last modified on February 18, 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 in projects/meson/.

The automated workflow runs the following tests:

The tests are stored in a separate repository. Instructions on how to update this repository can be found in the README.

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.

Resolution: this is not a RevBayes issue, but comes from changes to the RNG in different Boost versions. Workarounds are to truncate the problem tests to a shorter run, or run the tests with the same Boost version as Github Actions.