ci: Add a policy for how to deal with CI failures due to changes in msys2

Signed-off-by: Philip Withnall <pwithnall@gnome.org>
This commit is contained in:
Philip Withnall 2024-05-15 11:31:20 +01:00
parent 375076fb81
commit 021d58b251
No known key found for this signature in database
GPG Key ID: DCDF5885B1F3ED73
2 changed files with 17 additions and 1 deletions

View File

@ -492,6 +492,21 @@ cross-mingw64:
- _build/gthread/libgthread-2.0-0.dll
- _build/gobject/libgobject-2.0-0.dll
# A note about msys2: its a rolling release distribution, running Windows under
# Docker isnt really supported, and the win32-ps CI runner is shared. All that
# adds up to mean that we have to run CI against the latest msys2 packages, and
# that this occasionally causes build failures in GLib due to changes in msys2.
# In order to avoid that pre-empting other GLib development, the policy in such
# cases is to:
# 1. Immediately and without hesitation make the msys2-* CI jobs non-fatal
# (add `allow_failure: true` below).
# 2. File an issue about fixing the GLib msys2 build and re-enabling failure
# on the CI job
# 3. Set the milestone for that issue to be the next GLib release, so its done
# in a timely manner; and tag it as ~win32 so the GLib Windows maintainers
# are notified and can work on it.
# 4. Rebase any pending broken MRs on top of the commit which makes the CI job
# non-fatal, so that development on `main` is unblocked.
msys2-mingw32:
extends: .only-default-and-merges
stage: build
@ -520,6 +535,7 @@ msys2-mingw32:
- _coverage/
- _reference/
# See the note about msys2 CI job failure policy above.
msys2-clang64:
extends: .only-schedules-or-manual
stage: build

View File

@ -41,7 +41,7 @@ GLib is regularly built on at least the following systems:
- Fedora (34, https://gitlab.gnome.org/GNOME/glib/-/blob/main/.gitlab-ci/fedora.Dockerfile)
- Debian (Bullseye, https://gitlab.gnome.org/GNOME/glib/-/blob/main/.gitlab-ci/debian-stable.Dockerfile)
- Windows (MinGW64)
- Windows (msys2-mingw32)
- Windows (msys2-mingw32 and msys2-clang64; msys2 is a rolling release distribution)
- Windows (Visual Studio 2017, and a static linking version)
- Android (NDK r23b, API 31, arm64, https://gitlab.gnome.org/GNOME/glib/-/blob/main/.gitlab-ci/android-ndk.sh)
- FreeBSD (12 and 13)