CI: Rework the archlinux container

Rename it to have an x86_64 suffix, updating the build job names and scheduled
rebuild task.

Apply standard cleanups.  Trim the package list down to what is actually
needed.  Archlinux's base-devel contains most libraries, but some of the
listed packages have never been dependenices for Xen, and a lot are QEMU
dependenices which aren't useful owing to the lack of the ninja package.

This shrinks the container from 533MB to 380MB.

No practical change.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Reviewed-by: Anthony PERARD <anthony.perard@vates.tech>
Acked-by: Stefano Stabellini <sstabellini@kernel.org>
Release-Acked-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
This commit is contained in:
Andrew Cooper committed 2026-06-12 15:00:38 +01:00
1 parent 2a52894017
commit 3ddcb957b5
5 files changed
+40 -60

No files matched your search

@@ -0,0 +1,33 @@
# syntax=docker/dockerfile:1
FROM --platform=linux/amd64 archlinux:base-devel
LABEL maintainer.name="The Xen Project"
LABEL maintainer.email="xen-devel@lists.xenproject.org"
RUN <<EOF
#!/bin/bash
set -eu
useradd --create-home user
pacman-key --init
DEPS=(
# Tools (general)
git
wget
# libxenguest dombuilder
lzo
# libacpi
iasl
# Python bindings
python-setuptools
# Golang bindings
go
)
pacman -S --refresh --sysupgrade --noconfirm --noprogressbar --needed "${DEPS[@]}"
yes | pacman -S --clean --clean
EOF
USER user
WORKDIR /build
@@ -1,53 +0,0 @@
# syntax=docker/dockerfile:1
FROM --platform=linux/amd64 archlinux:base-devel
LABEL maintainer.name="The Xen Project" \
maintainer.email="xen-devel@lists.xenproject.org"
RUN pacman-key --init
RUN pacman -S --refresh --sysupgrade --noconfirm --noprogressbar --needed \
bzip2 \
cpio \
discount \
dtc \
e2fsprogs \
ghostscript \
git \
gnutls \
go \
iasl \
inetutils \
iproute \
libaio \
libcacard \
libgl \
libjpeg-turbo \
libnl \
libpng \
libseccomp \
net-tools \
nss \
perl \
pixman \
pkgconfig \
python \
python-setuptools \
sdl \
sdl2 \
spice \
spice-protocol \
# systemd for Xen < 4.19
systemd \
transfig \
usbredir \
wget \
xz \
yajl \
zlib \
&& yes | pacman -S --clean --clean
ENV PATH=/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl
RUN useradd --create-home user
USER user
WORKDIR /build
+4 -4
View File
@@ -523,16 +523,16 @@ alpine-3.18-clang-debug:
variables:
CONTAINER: alpine:3.18
archlinux-gcc:
archlinux-x86_64-gcc:
extends: .gcc-x86-64-build
variables:
CONTAINER: archlinux:current
CONTAINER: archlinux:current-x86_64
allow_failure: true
archlinux-gcc-debug:
archlinux-x86_64-gcc-debug:
extends: .gcc-x86-64-build-debug
variables:
CONTAINER: archlinux:current
CONTAINER: archlinux:current-x86_64
allow_failure: true
debian-12-x86_64-gcc-ibt:
+2 -2
View File
@@ -16,11 +16,11 @@
after_script:
- docker logout
container-archlinux-current:
container-archlinux-current-x86_64:
extends:
- .container-build-tmpl
variables:
CONTAINER: "archlinux:current"
CONTAINER: "archlinux:current-x86_64"
container-opensuse-tumbleweed-x86_64:
extends:
+1 -1
View File
@@ -26,7 +26,7 @@ BASE="registry.gitlab.com/xen-project/xen"
case "_${CONTAINER}" in
_alpine) CONTAINER="${BASE}/alpine:3.18" ;;
_alpine-arm64v8) CONTAINER="${BASE}/alpine:3.18-arm64v8" ;;
_archlinux|_arch) CONTAINER="${BASE}/archlinux:current" ;;
_archlinux|_arch) CONTAINER="${BASE}/archlinux:current-x86_64" ;;
_fedora) CONTAINER="${BASE}/fedora:43-x86_64";;
_bullseye-ppc64le) CONTAINER="${BASE}/debian:11-ppc64le" ;;
_bookworm-ppc64le) CONTAINER="${BASE}/debian:12-ppc64le" ;;
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.