ci: Unbreak archlinux-based CI
authorBartłomiej Piotrowski <bpiotrowski@gnome.org>
Fri, 19 Feb 2021 09:40:48 +0000 (10:40 +0100)
committerBartłomiej Piotrowski <bpiotrowski@gnome.org>
Fri, 19 Feb 2021 09:55:58 +0000 (10:55 +0100)
Recently Arch has changed its glibc package to require kernel
4.4[1] as a poor man's attempt to disable faccessat2 syscall that
is known to cause problems with old libseccomp and Docker. Downgrade
glibc to the pkgrel before the change and ensure it's not upgraded.

Additionally switch to the official Arch Linux image in the library
namespace. The base image has been deprecated.

[1] https://github.com/archlinux/svntogit-packages/commit/893b1c268abc8822332655865e3d4546025a9b4b

.gitlab-ci.yml

index f98bb7b71aec8f3633614e57336038684f4f6f63..89e1e3b009c46722c7fd0617a50786a18679461b 100644 (file)
@@ -4,7 +4,7 @@ cache:
 
 .build:
   stage: build
-  image: archlinux/base:latest
+  image: archlinux:latest
   variables:
     PACMAN_CACHE: $CI_PROJECT_DIR/_pacman_cache
   artifacts:
@@ -12,12 +12,14 @@ cache:
     paths:
       - _build/meson-logs
   before_script:
-    - pacman -Syu --noconfirm --needed --cachedir $PACMAN_CACHE
+    - pacman -U --noconfirm https://archive.archlinux.org/packages/g/glibc/glibc-2.33-3-x86_64.pkg.tar.zst
+    - pacman -Syu --noconfirm --needed --cachedir $PACMAN_CACHE --ignore glibc
         base-devel
         git
         gobject-introspection
         meson
         vala
+        pacman-contrib
         ${EXTRA_PKGS}
   script:
     - meson _build
@@ -33,7 +35,6 @@ cache:
     - ninja -C _build test
   after_script:
     # Remove all cached packages but the latest version
-    - pacman -S --noconfirm --cachedir $PACMAN_CACHE pacman-contrib
     - paccache -r -k1 --cachedir $PACMAN_CACHE
 
 latest-lcms: