forked from AuroraMiddleware/gtk
f60149cd9e
Split the fedora image into fedora-base (containing just the packages) and fedora (adding the user setup), and add a fedora-docs image that is adding pandoc on top of the fedora-base image. |
||
---|---|---|
.. | ||
clang-format-diff.py | ||
fedora-base.Dockerfile | ||
fedora-docs.Dockerfile | ||
fedora.Dockerfile | ||
flatpak-build.sh | ||
meson-html-report.py | ||
meson-junit-report.py | ||
README.md | ||
run-docker.sh | ||
run-style-check-diff.sh | ||
run-tests.sh | ||
test-docker.sh | ||
test-msys2.sh |
GTK CI infrastructure
GTK 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.
Each Docker image has a tag composed of two parts:
${image}
: the base image for a given platform, like "fedora" or "debian-stable"${number}
: an incremental version number, orlatest
See the container 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 usingdocker login
orpodman 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