|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [PATCH 4/4] 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 those
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 427MB.
No practical change.
Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
---
CC: Anthony PERARD <anthony.perard@xxxxxxxxxx>
CC: Stefano Stabellini <sstabellini@xxxxxxxxxx>
CC: Michal Orzel <michal.orzel@xxxxxxx>
CC: Doug Goldstein <cardoe@xxxxxxxxxx>
CC: Roger Pau Monné <roger.pau@xxxxxxxxxx>
CC: Marek Marczykowski-Górecki <marmarek@xxxxxxxxxxxxxxxxxxxxxx>
CC: Oleksii Kurochko <oleksii.kurochko@xxxxxxxxx>
---
.../build/archlinux/current-x86_64.dockerfile | 33 ++++++++++++
automation/build/archlinux/current.dockerfile | 53 -------------------
automation/gitlab-ci/build.yaml | 8 +--
automation/gitlab-ci/containers.yaml | 4 +-
automation/scripts/containerize | 2 +-
5 files changed, 40 insertions(+), 60 deletions(-)
create mode 100644 automation/build/archlinux/current-x86_64.dockerfile
delete mode 100644 automation/build/archlinux/current.dockerfile
diff --git a/automation/build/archlinux/current-x86_64.dockerfile
b/automation/build/archlinux/current-x86_64.dockerfile
new file mode 100644
index 000000000000..bbd5fa72d2d6
--- /dev/null
+++ b/automation/build/archlinux/current-x86_64.dockerfile
@@ -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@xxxxxxxxxxxxxxxxxxxx"
+
+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[@]}"
+ pacman -S --clean --clean
+EOF
+
+USER user
+WORKDIR /build
diff --git a/automation/build/archlinux/current.dockerfile
b/automation/build/archlinux/current.dockerfile
deleted file mode 100644
index a25702777204..000000000000
--- a/automation/build/archlinux/current.dockerfile
+++ /dev/null
@@ -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@xxxxxxxxxxxxxxxxxxxx"
-
-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
diff --git a/automation/gitlab-ci/build.yaml b/automation/gitlab-ci/build.yaml
index acd4acf13138..9eda40dc6e57 100644
--- a/automation/gitlab-ci/build.yaml
+++ b/automation/gitlab-ci/build.yaml
@@ -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:
diff --git a/automation/gitlab-ci/containers.yaml
b/automation/gitlab-ci/containers.yaml
index 8b702a1d8209..8e1c42a0c5a2 100644
--- a/automation/gitlab-ci/containers.yaml
+++ b/automation/gitlab-ci/containers.yaml
@@ -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:
diff --git a/automation/scripts/containerize b/automation/scripts/containerize
index 70494645e09f..f3c2b48b113f 100755
--- a/automation/scripts/containerize
+++ b/automation/scripts/containerize
@@ -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-x86_64:current" ;;
_fedora) CONTAINER="${BASE}/fedora:43-x86_64";;
_bullseye-ppc64le) CONTAINER="${BASE}/debian:11-ppc64le" ;;
_bookworm-ppc64le) CONTAINER="${BASE}/debian:12-ppc64le" ;;
--
2.39.5
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |