[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH 4/7] CI: Update the Alpine x86_64 container to 3.24



Perform standard syntax cleanup and make it a non-root container.  Switch yajl
for json-c given the deprecation of the former.

Add an x86_64 suffix for naming consistency with everything else.

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>

Requires the test-artefacts change to add alpine-3.24-x86_64-rootfs
---
 automation/build/alpine/3.18.dockerfile       | 52 ---------------
 .../build/alpine/3.24-x86_64.dockerfile       | 65 ++++++++++++++++++
 automation/gitlab-ci/build.yaml               | 16 ++---
 automation/gitlab-ci/test.yaml                | 66 +++++++++----------
 automation/scripts/containerize               |  2 +-
 5 files changed, 107 insertions(+), 94 deletions(-)
 delete mode 100644 automation/build/alpine/3.18.dockerfile
 create mode 100644 automation/build/alpine/3.24-x86_64.dockerfile

diff --git a/automation/build/alpine/3.18.dockerfile 
b/automation/build/alpine/3.18.dockerfile
deleted file mode 100644
index 263e9e90d888..000000000000
--- a/automation/build/alpine/3.18.dockerfile
+++ /dev/null
@@ -1,52 +0,0 @@
-# syntax=docker/dockerfile:1
-FROM --platform=linux/amd64 alpine:3.18
-LABEL maintainer.name="The Xen Project" \
-      maintainer.email="xen-devel@xxxxxxxxxxxxxxxxxxxx"
-
-ENV USER root
-
-RUN mkdir /build
-WORKDIR /build
-
-# build depends
-RUN apk --no-cache add \
-  \
-  # xen build deps
-  argp-standalone \
-  autoconf \
-  bash \
-  bison \
-  clang \
-  curl \
-  dev86 \
-  flex \
-  g++ \
-  gcc \
-  git \
-  grep \
-  iasl \
-  libaio-dev \
-  libc6-compat \
-  linux-headers \
-  make \
-  musl-dev  \
-  ncurses-dev \
-  ocaml \
-  ocaml-findlib \
-  patch  \
-  python3-dev \
-  py3-setuptools \
-  texinfo \
-  util-linux-dev \
-  xz-dev \
-  yajl-dev \
-  zlib-dev \
-  \
-  # qemu build deps
-  glib-dev \
-  libattr \
-  libcap-ng-dev \
-  ninja \
-  pixman-dev \
-  # livepatch-tools deps
-  elfutils-dev \
diff --git a/automation/build/alpine/3.24-x86_64.dockerfile 
b/automation/build/alpine/3.24-x86_64.dockerfile
new file mode 100644
index 000000000000..f93158e0186d
--- /dev/null
+++ b/automation/build/alpine/3.24-x86_64.dockerfile
@@ -0,0 +1,65 @@
+# syntax=docker/dockerfile:1
+FROM --platform=linux/amd64 alpine:3.24
+LABEL maintainer.name="The Xen Project"
+LABEL maintainer.email="xen-devel@xxxxxxxxxxxxxxxxxxxx"
+
+RUN apk --no-cache add bash
+
+RUN <<EOF
+#!/bin/bash
+    set -eu
+
+    adduser -D user
+
+    DEPS=(
+        # Xen
+        bison
+        clang
+        flex
+        g++
+        gcc
+        make
+
+        # Tools (general)
+        argp-standalone
+        autoconf
+        git
+        linux-headers
+        patch
+        # libxenguest dombuilder
+        bzip2-dev
+        xz-dev
+        zlib-dev
+        zstd-dev
+        # libacpi
+        iasl
+        # libxl
+        util-linux-dev
+        json-c-dev
+        # RomBIOS
+        dev86
+        # xentop
+        ncurses-dev
+        # Python bindings
+        python3-dev
+        py3-setuptools
+        # Ocaml bindings/oxenstored
+        ocaml
+        ocaml-findlib
+
+        # QEMU
+        glib-dev
+        libattr
+        libcap-ng-dev
+        ninja
+        pixman-dev
+
+        # livepatch-tools deps
+        elfutils-dev
+    )
+
+    apk add --no-cache "${DEPS[@]}"
+EOF
+
+USER user
+WORKDIR /build
diff --git a/automation/gitlab-ci/build.yaml b/automation/gitlab-ci/build.yaml
index 9eda40dc6e57..e295f4d4f25f 100644
--- a/automation/gitlab-ci/build.yaml
+++ b/automation/gitlab-ci/build.yaml
@@ -270,17 +270,17 @@
 
 # Build jobs needed for tests
 
-alpine-3.18-gcc:
+alpine-3.24-x86_64-gcc:
   extends: .gcc-x86-64-build
   <<: *build-test
   variables:
-    CONTAINER: alpine:3.18
+    CONTAINER: alpine:3.24-x86_64
 
-alpine-3.18-gcc-debug:
+alpine-3.24-x86_64-gcc-debug:
   extends: .gcc-x86-64-build-debug
   <<: *build-test
   variables:
-    CONTAINER: alpine:3.18
+    CONTAINER: alpine:3.24-x86_64
     BUILD_QEMU_XEN: y
     EXTRA_XEN_CONFIG: |
       CONFIG_EXPERT=y
@@ -513,15 +513,15 @@ debian-12-arm64-gcc-cppcheck:
 
 # Build jobs not needed for tests
 
-alpine-3.18-clang:
+alpine-3.24-x86_64-clang:
   extends: .clang-x86-64-build
   variables:
-    CONTAINER: alpine:3.18
+    CONTAINER: alpine:3.24-x86_64
 
-alpine-3.18-clang-debug:
+alpine-3.24-x86_64-clang-debug:
   extends: .clang-x86-64-build-debug
   variables:
-    CONTAINER: alpine:3.18
+    CONTAINER: alpine:3.24-x86_64
 
 archlinux-x86_64-gcc:
   extends: .gcc-x86-64-build
diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml
index 70bb4bbb3b45..b651efef1593 100644
--- a/automation/gitlab-ci/test.yaml
+++ b/automation/gitlab-ci/test.yaml
@@ -26,7 +26,7 @@
     job: $LINUX_JOB_X86_64
     ref: $ARTIFACTS_BRANCH
   - project: $ARTIFACTS_REPO
-    job: alpine-3.18-x86_64-rootfs
+    job: alpine-3.24-x86_64-rootfs
     ref: $ARTIFACTS_BRANCH
   - project: $ARTIFACTS_REPO
     job: microcode-x86
@@ -236,19 +236,19 @@ xilinx-smoke-dom0-x86_64-gcc-debug:
     - ./automation/scripts/xilinx-smoke-dom0-x86_64.sh ping 2>&1 | tee 
${LOGFILE}
   needs:
     - *x86-64-test-needs
-    - alpine-3.18-gcc-debug
+    - alpine-3.24-x86_64-gcc-debug
 
 xilinx-smoke-dom0-x86_64-gcc-debug-argo:
   extends: .xilinx-x86_64
   script:
     - ./automation/scripts/xilinx-smoke-dom0-x86_64.sh argo 2>&1 | tee 
${LOGFILE}
   needs:
-    - alpine-3.18-gcc-debug
+    - alpine-3.24-x86_64-gcc-debug
     - project: xen-project/hardware/test-artifacts
       job: linux-6.6.56-x86_64
       ref: master
     - project: xen-project/hardware/test-artifacts
-      job: alpine-3.18-x86_64-rootfs
+      job: alpine-3.24-x86_64-rootfs
       ref: master
     - project: xen-project/hardware/test-artifacts
       job: microcode-x86
@@ -260,7 +260,7 @@ adl-smoke-x86-64-gcc-debug:
     - ./automation/scripts/qubes-x86-64.sh dom0pv 2>&1 | tee ${LOGFILE}
   needs:
     - *x86-64-test-needs
-    - alpine-3.18-gcc-debug
+    - alpine-3.24-x86_64-gcc-debug
 
 adl-smoke-x86-64-dom0pvh-gcc-debug:
   extends: .adl-x86-64
@@ -268,7 +268,7 @@ adl-smoke-x86-64-dom0pvh-gcc-debug:
     - ./automation/scripts/qubes-x86-64.sh dom0pvh 2>&1 | tee ${LOGFILE}
   needs:
     - *x86-64-test-needs
-    - alpine-3.18-gcc-debug
+    - alpine-3.24-x86_64-gcc-debug
 
 adl-smoke-x86-64-dom0pvh-hvm-gcc-debug:
   extends: .adl-x86-64
@@ -276,7 +276,7 @@ adl-smoke-x86-64-dom0pvh-hvm-gcc-debug:
     - ./automation/scripts/qubes-x86-64.sh dom0pvh-hvm 2>&1 | tee ${LOGFILE}
   needs:
     - *x86-64-test-needs
-    - alpine-3.18-gcc-debug
+    - alpine-3.24-x86_64-gcc-debug
 
 adl-suspend-x86-64-gcc-debug:
   extends: .adl-x86-64
@@ -284,7 +284,7 @@ adl-suspend-x86-64-gcc-debug:
     - ./automation/scripts/qubes-x86-64.sh s3 2>&1 | tee ${LOGFILE}
   needs:
     - *x86-64-test-needs
-    - alpine-3.18-gcc-debug
+    - alpine-3.24-x86_64-gcc-debug
 
 adl-pci-pv-x86-64-gcc-debug:
   extends: .adl-x86-64
@@ -292,7 +292,7 @@ adl-pci-pv-x86-64-gcc-debug:
     - ./automation/scripts/qubes-x86-64.sh pci-pv 2>&1 | tee ${LOGFILE}
   needs:
     - *x86-64-test-needs
-    - alpine-3.18-gcc-debug
+    - alpine-3.24-x86_64-gcc-debug
 
 adl-pci-hvm-x86-64-gcc-debug:
   extends: .adl-x86-64
@@ -300,7 +300,7 @@ adl-pci-hvm-x86-64-gcc-debug:
     - ./automation/scripts/qubes-x86-64.sh pci-hvm 2>&1 | tee ${LOGFILE}
   needs:
     - *x86-64-test-needs
-    - alpine-3.18-gcc-debug
+    - alpine-3.24-x86_64-gcc-debug
 
 adl-pvshim-x86-64-gcc-debug:
   extends: .adl-x86-64
@@ -308,7 +308,7 @@ adl-pvshim-x86-64-gcc-debug:
     - ./automation/scripts/qubes-x86-64.sh pvshim 2>&1 | tee ${LOGFILE}
   needs:
     - *x86-64-test-needs
-    - alpine-3.18-gcc-debug
+    - alpine-3.24-x86_64-gcc-debug
 
 adl-tools-tests-pv-x86-64-gcc-debug:
   extends: .adl-x86-64
@@ -319,7 +319,7 @@ adl-tools-tests-pv-x86-64-gcc-debug:
       junit: tests-junit.xml
   needs:
     - *x86-64-test-needs
-    - alpine-3.18-gcc-debug
+    - alpine-3.24-x86_64-gcc-debug
 
 adl-tools-tests-pvh-x86-64-gcc-debug:
   extends: .adl-x86-64
@@ -330,7 +330,7 @@ adl-tools-tests-pvh-x86-64-gcc-debug:
       junit: tests-junit.xml
   needs:
     - *x86-64-test-needs
-    - alpine-3.18-gcc-debug
+    - alpine-3.24-x86_64-gcc-debug
 
 kbl-smoke-x86-64-gcc-debug:
   extends: .kbl-x86-64
@@ -338,7 +338,7 @@ kbl-smoke-x86-64-gcc-debug:
     - ./automation/scripts/qubes-x86-64.sh dom0pv 2>&1 | tee ${LOGFILE}
   needs:
     - *x86-64-test-needs
-    - alpine-3.18-gcc-debug
+    - alpine-3.24-x86_64-gcc-debug
 
 kbl-smoke-x86-64-dom0pvh-gcc-debug:
   extends: .kbl-x86-64
@@ -346,7 +346,7 @@ kbl-smoke-x86-64-dom0pvh-gcc-debug:
     - ./automation/scripts/qubes-x86-64.sh dom0pvh 2>&1 | tee ${LOGFILE}
   needs:
     - *x86-64-test-needs
-    - alpine-3.18-gcc-debug
+    - alpine-3.24-x86_64-gcc-debug
 
 kbl-smoke-x86-64-dom0pvh-hvm-gcc-debug:
   extends: .kbl-x86-64
@@ -354,7 +354,7 @@ kbl-smoke-x86-64-dom0pvh-hvm-gcc-debug:
     - ./automation/scripts/qubes-x86-64.sh dom0pvh-hvm 2>&1 | tee ${LOGFILE}
   needs:
     - *x86-64-test-needs
-    - alpine-3.18-gcc-debug
+    - alpine-3.24-x86_64-gcc-debug
 
 kbl-suspend-x86-64-gcc-debug:
   extends: .kbl-x86-64
@@ -362,7 +362,7 @@ kbl-suspend-x86-64-gcc-debug:
     - ./automation/scripts/qubes-x86-64.sh s3 2>&1 | tee ${LOGFILE}
   needs:
     - *x86-64-test-needs
-    - alpine-3.18-gcc-debug
+    - alpine-3.24-x86_64-gcc-debug
 
 kbl-pci-pv-x86-64-gcc-debug:
   extends: .kbl-x86-64
@@ -370,7 +370,7 @@ kbl-pci-pv-x86-64-gcc-debug:
     - ./automation/scripts/qubes-x86-64.sh pci-pv 2>&1 | tee ${LOGFILE}
   needs:
     - *x86-64-test-needs
-    - alpine-3.18-gcc-debug
+    - alpine-3.24-x86_64-gcc-debug
 
 kbl-pci-hvm-x86-64-gcc-debug:
   extends: .kbl-x86-64
@@ -378,7 +378,7 @@ kbl-pci-hvm-x86-64-gcc-debug:
     - ./automation/scripts/qubes-x86-64.sh pci-hvm 2>&1 | tee ${LOGFILE}
   needs:
     - *x86-64-test-needs
-    - alpine-3.18-gcc-debug
+    - alpine-3.24-x86_64-gcc-debug
 
 kbl-pvshim-x86-64-gcc-debug:
   extends: .kbl-x86-64
@@ -386,7 +386,7 @@ kbl-pvshim-x86-64-gcc-debug:
     - ./automation/scripts/qubes-x86-64.sh pvshim 2>&1 | tee ${LOGFILE}
   needs:
     - *x86-64-test-needs
-    - alpine-3.18-gcc-debug
+    - alpine-3.24-x86_64-gcc-debug
 
 kbl-tools-tests-pv-x86-64-gcc-debug:
   extends: .kbl-x86-64
@@ -397,7 +397,7 @@ kbl-tools-tests-pv-x86-64-gcc-debug:
       junit: tests-junit.xml
   needs:
     - *x86-64-test-needs
-    - alpine-3.18-gcc-debug
+    - alpine-3.24-x86_64-gcc-debug
 
 kbl-tools-tests-pvh-x86-64-gcc-debug:
   extends: .kbl-x86-64
@@ -408,7 +408,7 @@ kbl-tools-tests-pvh-x86-64-gcc-debug:
       junit: tests-junit.xml
   needs:
     - *x86-64-test-needs
-    - alpine-3.18-gcc-debug
+    - alpine-3.24-x86_64-gcc-debug
 
 zen2-smoke-x86-64-gcc-debug:
   extends: .zen2-x86-64
@@ -416,7 +416,7 @@ zen2-smoke-x86-64-gcc-debug:
     - ./automation/scripts/qubes-x86-64.sh dom0pv 2>&1 | tee ${LOGFILE}
   needs:
     - *x86-64-test-needs
-    - alpine-3.18-gcc-debug
+    - alpine-3.24-x86_64-gcc-debug
 
 zen2-suspend-x86-64-gcc-debug:
   extends: .zen2-x86-64
@@ -424,7 +424,7 @@ zen2-suspend-x86-64-gcc-debug:
     - ./automation/scripts/qubes-x86-64.sh s3 2>&1 | tee ${LOGFILE}
   needs:
     - *x86-64-test-needs
-    - alpine-3.18-gcc-debug
+    - alpine-3.24-x86_64-gcc-debug
 
 zen3p-smoke-x86-64-gcc-debug:
   extends: .zen3p-x86-64
@@ -432,7 +432,7 @@ zen3p-smoke-x86-64-gcc-debug:
     - ./automation/scripts/qubes-x86-64.sh dom0pv 2>&1 | tee ${LOGFILE}
   needs:
     - *x86-64-test-needs
-    - alpine-3.18-gcc-debug
+    - alpine-3.24-x86_64-gcc-debug
 
 zen3p-smoke-x86-64-dom0pvh-gcc-debug:
   extends: .zen3p-x86-64
@@ -440,7 +440,7 @@ zen3p-smoke-x86-64-dom0pvh-gcc-debug:
     - ./automation/scripts/qubes-x86-64.sh dom0pvh 2>&1 | tee ${LOGFILE}
   needs:
     - *x86-64-test-needs
-    - alpine-3.18-gcc-debug
+    - alpine-3.24-x86_64-gcc-debug
 
 zen3p-smoke-x86-64-dom0pvh-hvm-gcc-debug:
   extends: .zen3p-x86-64
@@ -448,7 +448,7 @@ zen3p-smoke-x86-64-dom0pvh-hvm-gcc-debug:
     - ./automation/scripts/qubes-x86-64.sh dom0pvh-hvm 2>&1 | tee ${LOGFILE}
   needs:
     - *x86-64-test-needs
-    - alpine-3.18-gcc-debug
+    - alpine-3.24-x86_64-gcc-debug
 
 zen3p-pci-hvm-x86-64-gcc-debug:
   extends: .zen3p-x86-64
@@ -456,7 +456,7 @@ zen3p-pci-hvm-x86-64-gcc-debug:
     - ./automation/scripts/qubes-x86-64.sh pci-hvm 2>&1 | tee ${LOGFILE}
   needs:
     - *x86-64-test-needs
-    - alpine-3.18-gcc-debug
+    - alpine-3.24-x86_64-gcc-debug
 
 zen3p-pvshim-x86-64-gcc-debug:
   extends: .zen3p-x86-64
@@ -464,7 +464,7 @@ zen3p-pvshim-x86-64-gcc-debug:
     - ./automation/scripts/qubes-x86-64.sh pvshim 2>&1 | tee ${LOGFILE}
   needs:
     - *x86-64-test-needs
-    - alpine-3.18-gcc-debug
+    - alpine-3.24-x86_64-gcc-debug
 
 zen3p-tools-tests-pv-x86-64-gcc-debug:
   extends: .zen3p-x86-64
@@ -475,7 +475,7 @@ zen3p-tools-tests-pv-x86-64-gcc-debug:
       junit: tests-junit.xml
   needs:
     - *x86-64-test-needs
-    - alpine-3.18-gcc-debug
+    - alpine-3.24-x86_64-gcc-debug
 
 zen3p-tools-tests-pvh-x86-64-gcc-debug:
   extends: .zen3p-x86-64
@@ -486,7 +486,7 @@ zen3p-tools-tests-pvh-x86-64-gcc-debug:
       junit: tests-junit.xml
   needs:
     - *x86-64-test-needs
-    - alpine-3.18-gcc-debug
+    - alpine-3.24-x86_64-gcc-debug
 
 qemu-smoke-dom0-arm64-gcc:
   extends: .qemu-arm64
@@ -654,7 +654,7 @@ qemu-alpine-x86_64-gcc:
     - ./automation/scripts/qemu-alpine-x86_64.sh 2>&1 | tee ${LOGFILE}
   needs:
     - *x86-64-test-needs
-    - alpine-3.18-gcc
+    - alpine-3.24-x86_64-gcc
 
 qemu-smoke-x86-64-gcc:
   extends: .qemu-smoke-x86-64
@@ -698,7 +698,7 @@ qemu-xtf-argo-x86_64-gcc-debug:
   script:
     - ./automation/scripts/qemu-xtf.sh x86-64 pv64 argo 2>&1 | tee ${LOGFILE}
   needs:
-    - alpine-3.18-gcc-debug
+    - alpine-3.24-x86_64-gcc-debug
 
 qemu-smoke-riscv64-gcc:
   extends: .qemu-riscv64
diff --git a/automation/scripts/containerize b/automation/scripts/containerize
index aea842e1ff2d..e9b2f6122ff1 100755
--- a/automation/scripts/containerize
+++ b/automation/scripts/containerize
@@ -24,7 +24,7 @@ die() {
 #
 BASE="registry.gitlab.com/xen-project/xen"
 case "_${CONTAINER}" in
-    _alpine) CONTAINER="${BASE}/alpine:3.18" ;;
+    _alpine) CONTAINER="${BASE}/alpine:3.24-x86_64" ;;
     _alpine-arm64v8) CONTAINER="${BASE}/alpine:3.18-arm64v8" ;;
     _archlinux|_arch) CONTAINER="${BASE}/archlinux:current-x86_64" ;;
     _fedora) CONTAINER="${BASE}/fedora:43-x86_64";;
-- 
2.39.5




 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.