summaryrefslogtreecommitdiff
path: root/.gitlab-ci/README.md
diff options
context:
space:
mode:
authorEmmanuele Bassi <ebassi@gnome.org>2020-04-20 16:40:50 +0100
committerEmmanuele Bassi <ebassi@gnome.org>2020-04-22 14:52:02 +0100
commit822dd6c670eba4b6d41982222460446f14d277bd (patch)
treea73de3aeb9a2b6c9bc94c5e0a540c0815405cd1e /.gitlab-ci/README.md
parent4801e4657bfa6633a14e79e3f54c6ab460d4e01b (diff)
downloadatk-822dd6c670eba4b6d41982222460446f14d277bd.tar.gz
Add CI pipeline for ATK
Use the GitLab CI support to build ATK, so we can at least be confident that we're not breaking stuff with every commit.
Diffstat (limited to '.gitlab-ci/README.md')
-rw-r--r--.gitlab-ci/README.md38
1 files changed, 38 insertions, 0 deletions
diff --git a/.gitlab-ci/README.md b/.gitlab-ci/README.md
new file mode 100644
index 0000000..b090cfb
--- /dev/null
+++ b/.gitlab-ci/README.md
@@ -0,0 +1,38 @@
+## ATK CI infrastructure
+
+ATK uses different CI images depending on platform and jobs.
+
+The CI images are Docker containers, generated either using `docker` or
+`podman`, and pushed to the GitLab [container registry][registry].
+
+Each Docker image has a tag composed of two parts:
+
+ - `${image}`: the base image for a given platform, like "fedora-latest"
+ or "debian-stable"
+ - `${number}`: an incremental version number, or `latest`
+
+See the [container registry][registry] for the available images for each
+branch, as well as their available versions.
+
+### Checklist for Updating a CI image
+
+ - [ ] Update the `${image}.Dockerfile` file with the dependencies
+ - [ ] Run `./run-docker.sh build --base ${image} --base-version ${number}`
+ - [ ] Run `./run-docker.sh push --base ${image} --base-version ${number}`
+ once the Docker image is built; you may need to log in by using
+ `docker login` or `podman login`
+ - [ ] Update the `image` keys in the `.gitlab-ci.yml` file with the new
+ image tag
+ - [ ] Open a merge request with your changes and let it run
+
+### Checklist for Adding a new CI image
+
+ - [ ] Write a new `${image}.Dockerfile` with the instructions to set up
+ a build environment
+ - [ ] Add the `pip3 install meson` incantation
+ - [ ] Run `./run-docker.sh build --base ${image} --base-version ${number}`
+ - [ ] Run `./run-docker.sh push --base ${image} --base-version ${number}`
+ - [ ] Add the new job to `.gitlab-ci.yml` referencing the image
+ - [ ] Open a merge request with your changes and let it run
+
+[registry]: https://gitlab.gnome.org/GNOME/atk/container_registry