Continuous Integration

The Axom project uses two CI tools, Azure Pipelines via Github and GitLab CI on the LLNL LC Collaboration Zone (CZ).

Azure Pipelines

Every Pull Request created on Github is automatically run through a series of CI jobs to ensure that the Axom source builds and passes our unit tests. These configurations mimic the LC compilers and systems as closely as possible via Docker containers that have our third-party libraries pre-built on them.

Axom’s Github project is also configured to require pull requests to pass checks from our LC GitLab CI (as described below).

LC GitLab

We also maintain a mirror of the Axom project on LLNL’s LC GitLab instance primarily for testing Axom pull requests against the various LC System Types and compilers.

There are two types of GitLab plans. The first is triggered automatically by pull requests on GitHub, while the second runs nightly and tests Axom’s develop branch against a new build of our third-party library stack.

Our GitLab CI configuration also allows manual runs. To initiate a new run, navigate to the CI/CD page, click on the “Run pipeline” button and select the branch to test.