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:
Tutorial tests
Integration tests (in the tests/
submodule). To learn more about integration tests or add one, see this page.
Likelihood calculations checks using testiphy.
The tests are stored in a separate repository. Instructions on how to update this repository can be found in the README.
Known issues:
Configure and build
step with the message ERROR: Dependency "boost" not found
. The Install BOOST
step shows ERROR 404
when attempting to download BOOST.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.
Test
step with an error message about a missing dll file.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
.
Install
step with Homebrew-related errors.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.