gtk/.gitlab-ci
Christoph Reiter 662539acf7 CI: Switch to new Windows runners
They use powershell instead of cmd.exe, use the tag win32-ps instead of win32,
and run Windows 2016 instead of 2012r2.

The old runners will be switched off in the comming weeks.
2020-04-29 20:12:34 +02:00
..
clang-format-diff.py ci: Add a style check pass 2020-02-11 14:47:22 +00:00
fedora.Dockerfile ci: Update the version of Meson in our Docker image 2020-04-08 12:26:58 +01:00
flatpak-build.sh ci: Update flatpak jobs 2020-02-19 15:04:58 +00:00
meson-html-report.py ci: Count 'ERROR' codes as failures 2020-04-12 14:28:59 +01:00
meson-junit-report.py ci: Count 'ERROR' codes as failures 2020-04-12 14:28:59 +01:00
README.md ci: Replicate the CI image scripts from GLib 2020-02-11 13:39:52 +00:00
run-docker.sh ci: Update the docker wrapper script 2020-02-25 19:05:07 +00:00
run-style-check-diff.sh ci: Fix style check script 2020-02-25 17:13:39 +00:00
run-tests.sh ci: Fix linking of the CI assets in the report 2020-02-12 18:12:53 +00:00
test-docker.sh ci: Build with profiler support 2020-01-21 18:20:05 -05:00
test-msys2.sh CI: Switch to new Windows runners 2020-04-29 20:12:34 +02:00

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, or latest

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 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