Peano
|
On this page, we detail the current function of the CI pipeline. Much of the following is subject to change.
The pipeline runs automatically for all branches and all pushes. However, it only runs fully on the p4
branch. For all other branches, the pipeline only executes the build and test (unit tests) stages.
At time of writing, gitlab-runner
is installed as a service on multiple nodes of DINE. The workers are kept alive by recurring slurm jobs. Peano developers should not need to do anything other than push to a branch, and check the pipelines page on the gitlab to check that their code has correctly built for each compiler toolchain. Of course, this will only check that the core of Peano has been built correctly. See below for info on how to write custom tests.
Within the repo, we have various scripts to build the code. configure.py
in the top-level of Peano will configure
and make
the code according to whatever requirements are needed. The only difference here is we use apptainer exec
to make sure that these commands are run inside these apptainer images, so that specific compilers can be used automatically.
This is planned to change, however, as this isn't so clean. In the future, we either plan to mirror the repo to GitHub and use GitHub actions, or make an executor for gitlab-runner that can handle apptainer images directly.
Unfortunately, the use of the apptainer containers is not pretty, and so the best thing to do is describe your desired actions in a bash script and ask for help on the continuous-integration channel of the Slack. This is due to change in the near future.