Continuous integration

CEPS uses Gitlab's CI/CD feature to create pipelines for testing and documentation generation/upload. At each push, a pipeline is triggered and exposes jobs to virtual machines called runners (or slaves). Jobs are defined in the contrib/CI/gitlab-ci.yaml file, with options for when to run them.

The runners are managed through the Inria CI platform. The project's name on this platform is ceps2. It is private, so you have to ask to be added to the project. On the project's page, you can see currently running machines and how to connect to them via ssh. Do not hesitate to read the documentation on CI on the platform website.

The Linux runners are configured to use docker images to test different architectures. The images are stored on Inria's gitlab registry and can be accessed on the project page in the \i "Packages and Registries" tab. The Dockerfiles used to generate them are also in CEPS contrib/CI directory. These files contain the command to install the necessary basic packages and calls to the build_dependencies CMake build system in contrib (this is a good way to test it as well).

The MacOS runner is invoked via ssh.