CI/CD¶
poreFlow uses Continuous Integration/Continuous Deployment (CI/CD) to automate package testing, building, and packaging.
Prerequisites¶
- Docker. Which can be downloaded and installed here.
Create and configure the GitLab runners¶
The easiest way to set up the runners is using Docker Compose. Create the folder with the following files:
compose.yaml contains the instructions for Docker and config.toml specifies the configuration of the GitLab
runners. The GitLab runner needs an authentication token, which can be created when
registering a GitLab runner. config.toml should look like:
compose.yaml should look like:
| compose.yml | |
|---|---|
To start the runners, open a terminal in the folder containng compose.yaml and run:
Troubleshooting¶
During the project, at some point we had Docker runners both on a MacOS M3 machine and an Intel machine.
The former builds for the platform linux_aarch64 while the latter built for manylinux_2_41_x86_64.
.gitlab-ci.yml does not take this into account so builds from one machine would not install for testing
on another machine. In this case, ensure that only one machine hosting the runners is on at any given time.