[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [xen staging] CI: Refresh the Debian 12 x86_64 container
commit 44b742de09f2fd14f6211a6c7f24c0cba1624c14 Author: Javi Merino <javi.merino@xxxxxxxxx> AuthorDate: Mon Oct 14 17:53:31 2024 +0100 Commit: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> CommitDate: Wed Nov 6 20:09:08 2024 +0000 CI: Refresh the Debian 12 x86_64 container Rework the container to use heredocs for readability, and use apt-get --no-install-recommends to keep the size down. This reduces the size of the (uncompressed) container from 3.44GB to 1.97GB. The container is left running the builds and tests as root. A subsequent patch will make the necessary changes to the test scripts to allow test execution as a non-root user. Signed-off-by: Javi Merino <javi.merino@xxxxxxxxx> Reviewed-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> --- automation/build/debian/12-x86_64.dockerfile | 71 ++++++++++++++++++++++++++++ automation/build/debian/bookworm.dockerfile | 57 ---------------------- automation/gitlab-ci/build.yaml | 20 ++++---- automation/gitlab-ci/test.yaml | 14 +++--- automation/scripts/containerize | 2 +- 5 files changed, 89 insertions(+), 75 deletions(-) diff --git a/automation/build/debian/12-x86_64.dockerfile b/automation/build/debian/12-x86_64.dockerfile new file mode 100644 index 0000000000..6e0a403f64 --- /dev/null +++ b/automation/build/debian/12-x86_64.dockerfile @@ -0,0 +1,71 @@ +# syntax=docker/dockerfile:1 +FROM --platform=linux/amd64 debian:bookworm +LABEL maintainer.name="The Xen Project" +LABEL maintainer.email="xen-devel@xxxxxxxxxxxxxxxxxxxx" + +ENV DEBIAN_FRONTEND=noninteractive + +RUN <<EOF +#!/bin/bash + set -eu + + apt-get update + + DEPS=( + # Xen + bison + build-essential + checkpolicy + clang + flex + + # Tools (general) + ca-certificates + git-core + pkg-config + wget + # libxenguest dombuilder + libbz2-dev + liblzma-dev + liblzo2-dev + libzstd-dev + zlib1g-dev + # libacpi + acpica-tools + # libxl + uuid-dev + libnl-3-dev + libyajl-dev + # RomBIOS + bcc + bin86 + # xentop + libncurses5-dev + # Python bindings + python3-dev + python3-setuptools + # Golang bindings + golang-go + # Ocaml bindings/oxenstored + ocaml-nox + ocaml-findlib + + # for test phase, qemu-smoke-* jobs + expect + qemu-system-x86 + + # for qemu-alpine-x86_64-gcc + busybox-static + cpio + + # For *-efi jobs + ovmf + ) + + apt-get -y --no-install-recommends install "${DEPS[@]}" + + rm -rf /var/lib/apt/lists* +EOF + +USER root +WORKDIR /build diff --git a/automation/build/debian/bookworm.dockerfile b/automation/build/debian/bookworm.dockerfile deleted file mode 100644 index 72e01aa58b..0000000000 --- a/automation/build/debian/bookworm.dockerfile +++ /dev/null @@ -1,57 +0,0 @@ -# syntax=docker/dockerfile:1 -FROM --platform=linux/amd64 debian:bookworm -LABEL maintainer.name="The Xen Project" \ - maintainer.email="xen-devel@xxxxxxxxxxxxxxxxxxxx" - -ENV DEBIAN_FRONTEND=noninteractive -ENV USER root - -RUN mkdir /build -WORKDIR /build - -# build depends -RUN apt-get update && \ - apt-get --quiet --yes install \ - build-essential \ - zlib1g-dev \ - libncurses5-dev \ - python3-dev \ - python3-setuptools \ - uuid-dev \ - libyajl-dev \ - libaio-dev \ - libglib2.0-dev \ - clang \ - libpixman-1-dev \ - pkg-config \ - flex \ - bison \ - acpica-tools \ - bin86 \ - bcc \ - liblzma-dev \ - libnl-3-dev \ - ocaml-nox \ - libfindlib-ocaml-dev \ - markdown \ - transfig \ - pandoc \ - checkpolicy \ - wget \ - git \ - nasm \ - gnupg \ - apt-transport-https \ - golang \ - # for test phase, qemu-smoke-* jobs - qemu-system-x86 \ - expect \ - # For *-efi jobs - ovmf \ - # for test phase, qemu-alpine-* jobs - cpio \ - busybox-static \ - && \ - apt-get autoremove -y && \ - apt-get clean && \ - rm -rf /var/lib/apt/lists* /tmp/* /var/tmp/* diff --git a/automation/gitlab-ci/build.yaml b/automation/gitlab-ci/build.yaml index b5ca2c3f18..d075bc33b9 100644 --- a/automation/gitlab-ci/build.yaml +++ b/automation/gitlab-ci/build.yaml @@ -334,15 +334,15 @@ alpine-3.18-gcc-debug: CONFIG_UNSUPPORTED=y CONFIG_ARGO=y -debian-bookworm-gcc-debug: +debian-12-x86_64-gcc-debug: extends: .gcc-x86-64-build-debug variables: - CONTAINER: debian:bookworm + CONTAINER: debian:12-x86_64 -debian-bookworm-clang-debug: +debian-12-x86_64-clang-debug: extends: .clang-x86-64-build-debug variables: - CONTAINER: debian:bookworm + CONTAINER: debian:12-x86_64 debian-12-ppc64le-gcc-debug: extends: .gcc-ppc64le-cross-build-debug @@ -546,20 +546,20 @@ debian-12-x86_64-gcc-ibt: EXTRA_FIXED_RANDCONFIG: | CONFIG_XEN_IBT=y -debian-bookworm-clang: +debian-12-x86_64-clang: extends: .clang-x86-64-build variables: - CONTAINER: debian:bookworm + CONTAINER: debian:12-x86_64 -debian-bookworm-gcc: +debian-12-x86_64-gcc: extends: .gcc-x86-64-build variables: - CONTAINER: debian:bookworm + CONTAINER: debian:12-x86_64 -debian-bookworm-gcc-randconfig: +debian-12-x86_64-gcc-randconfig: extends: .gcc-x86-64-build variables: - CONTAINER: debian:bookworm + CONTAINER: debian:12-x86_64 RANDCONFIG: y debian-bookworm-32-clang-debug: diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml index fe023dae0d..f5dd4de757 100644 --- a/automation/gitlab-ci/test.yaml +++ b/automation/gitlab-ci/test.yaml @@ -45,7 +45,7 @@ .qemu-x86-64: extends: .test-jobs-common variables: - CONTAINER: debian:bookworm + CONTAINER: debian:12-x86_64 LOGFILE: qemu-smoke-x86-64.log artifacts: paths: @@ -157,7 +157,7 @@ build-each-commit-gcc: extends: .test-jobs-common variables: - CONTAINER: debian:bookworm + CONTAINER: debian:12-x86_64 XEN_TARGET_ARCH: x86_64 CC: gcc script: @@ -479,35 +479,35 @@ qemu-smoke-x86-64-gcc: script: - ./automation/scripts/qemu-smoke-x86-64.sh pv 2>&1 | tee ${LOGFILE} needs: - - debian-bookworm-gcc-debug + - debian-12-x86_64-gcc-debug qemu-smoke-x86-64-clang: extends: .qemu-smoke-x86-64 script: - ./automation/scripts/qemu-smoke-x86-64.sh pv 2>&1 | tee ${LOGFILE} needs: - - debian-bookworm-clang-debug + - debian-12-x86_64-clang-debug qemu-smoke-x86-64-gcc-pvh: extends: .qemu-smoke-x86-64 script: - ./automation/scripts/qemu-smoke-x86-64.sh pvh 2>&1 | tee ${LOGFILE} needs: - - debian-bookworm-gcc-debug + - debian-12-x86_64-gcc-debug qemu-smoke-x86-64-clang-pvh: extends: .qemu-smoke-x86-64 script: - ./automation/scripts/qemu-smoke-x86-64.sh pvh 2>&1 | tee ${LOGFILE} needs: - - debian-bookworm-clang-debug + - debian-12-x86_64-clang-debug qemu-smoke-x86-64-gcc-efi: extends: .qemu-smoke-x86-64 script: - ./automation/scripts/qemu-smoke-x86-64-efi.sh pv 2>&1 | tee ${LOGFILE} needs: - - debian-bookworm-gcc-debug + - debian-12-x86_64-gcc-debug qemu-smoke-riscv64-gcc: extends: .qemu-riscv64 diff --git a/automation/scripts/containerize b/automation/scripts/containerize index 6ac02c42d1..ea6e1a9b18 100755 --- a/automation/scripts/containerize +++ b/automation/scripts/containerize @@ -34,7 +34,7 @@ case "_${CONTAINER}" in _bullseye-riscv64) CONTAINER="${BASE}/debian:11-riscv64" ;; _bookworm-riscv64) CONTAINER="${BASE}/debian:12-riscv64" ;; _bookworm-x86_64-gcc-ibt) CONTAINER="${BASE}/debian:12-x86_64-gcc-ibt" ;; - _bookworm|_) CONTAINER="${BASE}/debian:bookworm" ;; + _bookworm|_bookworm-x86_64|_) CONTAINER="${BASE}/debian:12-x86_64" ;; _bookworm-i386) CONTAINER="${BASE}/debian:bookworm-i386" ;; _bookworm-arm64v8-arm32-gcc) CONTAINER="${BASE}/debian:bookworm-arm64v8-arm32-gcc" ;; _bookworm-arm64v8) CONTAINER="${BASE}/debian:bookworm-arm64v8" ;; -- generated by git-patchbot for /home/xen/git/xen.git#staging
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |