glib/.gitlab-ci
Philip Withnall 5370df540c ci: Use Meson 1.0.0 on Windows and macOS CI builds
This is a departure from our policy of using the minimum required Meson
version, but I think it might be worth a try to see if it fixes the
persistent intermittent build failures on these platforms due to what
looks like build dependency graph issues.

For example:
 - https://gitlab.gnome.org/GNOME/glib/-/jobs/2579411
 - https://gitlab.gnome.org/GNOME/glib/-/jobs/2578792
 - https://gitlab.gnome.org/GNOME/glib/-/jobs/2579220
 - https://gitlab.gnome.org/pwithnall/glib/-/jobs/2588507

I was looking at trying to diagnose some of these failures in order to
potentially file bugs against Meson, but the first step is really to
test against the latest version of Meson. So here we are.

Crucially, our other CI jobs continue to use the minimum Meson version
required by GLib, so we continue to test that GLib builds with its
minimum dependencies. I do not plan to change that.

Also crucially, this MR continues to use a specific Meson version,
rather than asking `pip` to install the latest available. Doing that
could lead to unexpected regressions in future, and that’s not what
GLib’s CI is meant to be testing for.

Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
2023-02-16 13:34:59 +00:00
..
android-ndk.sh ci: Update to latest Android NDK 2022-05-11 10:52:19 +01:00
cache-subprojects.sh build: Move gvdb to a subproject 2022-06-16 10:12:07 +01:00
check-missing-install-tag.py Fix coding style issue in .gitlab-ci/check-missing-install-tag.py 2022-10-27 09:51:28 +02:00
check-todos.py python: Reformat some files to keep style-check-diff happy 2020-12-12 18:40:57 +00:00
clang-format-diff.py ci: Move clang-format-diff.py into CI directory 2022-05-11 12:43:27 +01:00
coverage-docker.sh ci: Exclude copylibs and fuzz tests from code coverage 2022-11-10 14:56:34 +00:00
coverity-model.c ci: Add model file for Coverity 2020-09-08 10:34:54 +01:00
coverity.Dockerfile Revert "build: Bump Meson dependency to 0.64.0" 2022-11-24 12:10:07 +00:00
cross_file_android_arm64_31.txt ci: Update to latest Android NDK 2022-05-11 10:52:19 +01:00
cross_file_ios_example.txt ci: growing_stack should be true for android and ios 2020-05-29 02:44:44 +05:30
cross_file_mingw64.txt ci: Add -fstack-protector to mingw64 cross file 2021-10-13 10:44:23 +01:00
debian-stable.Dockerfile Revert "build: Bump Meson dependency to 0.64.0" 2022-11-24 12:10:07 +00:00
fedora.Dockerfile Revert "build: Bump Meson dependency to 0.64.0" 2022-11-24 12:10:07 +00:00
fixup-cov-paths.py CI: Re-enable code coverage reporting for MSYS2 builds 2020-10-01 14:07:14 +02:00
install-gitlab-cobertura-tools.sh ci: Install lcov-cobertura and cobertura-split script in coverage images 2022-09-15 03:12:08 +02:00
mingw.Dockerfile Revert "build: Bump Meson dependency to 0.64.0" 2022-11-24 12:10:07 +00:00
README.md ci: Update docker image generation README 2022-12-31 05:13:10 +05:30
run-black.sh Correct shellcheck errors (and ignore world splitting when we want it) 2020-11-15 17:34:27 +01:00
run-check-todos.sh Move common code for searching common ancestor in a dedicated script 2021-01-11 17:04:01 +01:00
run-docker.sh ci: Fix podman support in run-docker.sh 2022-12-31 05:13:10 +05:30
run-flake8.sh ci: Disable formatting warnings in flake8 2020-11-17 15:50:07 +00:00
run-reuse.sh ci: Add a CI check for REUSE-compliant licensing/copyright headers 2022-11-08 15:50:59 +00:00
run-shellcheck.sh Correct shellcheck errors (and ignore world splitting when we want it) 2020-11-15 17:34:27 +01:00
run-style-check-diff.sh ci: Move clang-format-diff.py into CI directory 2022-05-11 12:43:27 +01:00
run-tests.sh ci: Use verbose output in meson by default 2023-01-20 15:41:17 +01:00
search-common-ancestor.sh ci: Improve style check script 2022-09-09 20:23:44 -04:00
show-execution-environment.sh ci: Include details of machine ID in CI output 2021-03-01 13:54:09 +00:00
test-msvc.bat ci: Use Meson 1.0.0 on Windows and macOS CI builds 2023-02-16 13:34:59 +00:00
test-msys2.sh ci: Use Meson 1.0.0 on Windows and macOS CI builds 2023-02-16 13:34:59 +00: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