glib/.gitlab-ci
Philip Withnall 96652e7def
ci: Only build gobject-introspection if the system version is too old
We want to build GLib against a matched version of
gobject-introspection, and this version will probably be bumped quite
often as the two are developed in tandem.

However, if the CI system provides a newer version, we should probably
use that, otherwise we’re essentially downgrading part of the OS on the
CI system, and that probably will result in issues. In particular,
gobject-introspection <1.82 has a bug on MSYS2 which means it doesn’t
build (see issue #3464).

So, build gobject-introspection manually if the CI system version is too
old, otherwise use the system version. Do this programmatically so we
don’t have to repeatedly add and remove the gobject-introspection build
commands from the CI configuration as versions are bumped.

Fixes: #3464
2024-09-29 12:25:35 +01:00
..

CI support stuff

Docker image

GitLab CI jobs run in a Docker image, defined here. To update that image (perhaps to install some more packages):

  1. Edit .gitlab-ci/*.Dockerfile with the changes you want
  2. Run .gitlab-ci/run-docker.sh build --base=debian-stable --base-version=1 to build the new image (bump the version from the latest listed for that base on https://gitlab.gnome.org/GNOME/glib/container_registry). If rebuilding the coverity.Dockerfile image, youll need to have access to Coverity Scan and will need to specify your project name and access token as the environment variables COVERITY_SCAN_PROJECT_NAME and COVERITY_SCAN_TOKEN.
  3. Run .gitlab-ci/run-docker.sh push --base=debian-stable --base-version=1 to upload the new image to the GNOME GitLab Docker registry
    • If this is the first time you're doing this, you'll need to log into the registry
    • If you use 2-factor authentication on your GNOME GitLab account, you'll need to create a personal access token and use that rather than your normal password — the token should have read_registry and write_registry permissions
  4. Edit .gitlab-ci.yml (in the root of this repository) to use your new image