mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-02-09 12:25:48 +01:00
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
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):
- Edit
.gitlab-ci/*.Dockerfile
with the changes you want - 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 thatbase
on https://gitlab.gnome.org/GNOME/glib/container_registry). If rebuilding thecoverity.Dockerfile
image, you’ll need to have access to Coverity Scan and will need to specify your project name and access token as the environment variablesCOVERITY_SCAN_PROJECT_NAME
andCOVERITY_SCAN_TOKEN
. - 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
andwrite_registry
permissions
- Edit
.gitlab-ci.yml
(in the root of this repository) to use your new image