[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [XEN PATCH v2 1/6] 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 to avoid breaking the xilinx runners. Signed-off-by: Javi Merino <javi.merino@xxxxxxxxx> --- Changes in dependencies: $ diff -u <(git show origin/staging:automation/build/debian/bookworm.dockerfile | awk '/&&/{f=0};f;/apt-get \-\-quiet/{f=1};' | perl -ne 's/ \\$//;s/^ +//; /^#/ or print' | sort) <(awk '/^ +\)/{f=0};f;/DEPS=\(/{f=1}' automation/build/debian/12-x86_64.dockerfile | perl -ne 's/^\s+//; /^#/ or print' | sort) --- /proc/self/fd/16 2024-11-05 14:06:10.160095997 +0000 +++ /proc/self/fd/17 2024-11-05 14:06:10.160095997 +0000 @@ -1,34 +1,29 @@ acpica-tools -apt-transport-https bcc bin86 bison build-essential busybox-static +ca-certificates checkpolicy clang cpio expect flex -git -gnupg -golang -libaio-dev -libfindlib-ocaml-dev -libglib2.0-dev +git-core +golang-go +libbz2-dev liblzma-dev +liblzo2-dev libncurses5-dev libnl-3-dev -libpixman-1-dev libyajl-dev -markdown -nasm +libzstd-dev +ocaml-findlib ocaml-nox ovmf -pandoc pkg-config python3-dev python3-setuptools qemu-system-x86 -transfig uuid-dev 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(-) create mode 100644 automation/build/debian/12-x86_64.dockerfile delete mode 100644 automation/build/debian/bookworm.dockerfile diff --git a/automation/build/debian/12-x86_64.dockerfile b/automation/build/debian/12-x86_64.dockerfile new file mode 100644 index 000000000000..c440748f2336 --- /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 + +# build depends +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 72e01aa58b55..000000000000 --- 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 af2b1ceba3a4..d64a7e40f3f1 100644 --- a/automation/gitlab-ci/build.yaml +++ b/automation/gitlab-ci/build.yaml @@ -345,15 +345,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 @@ -557,20 +557,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 e8f57e87bd19..5b89cfa33cf8 100644 --- a/automation/gitlab-ci/test.yaml +++ b/automation/gitlab-ci/test.yaml @@ -43,7 +43,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: @@ -155,7 +155,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: @@ -477,35 +477,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 6ac02c42d124..ea6e1a9b18f4 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" ;; -- 2.45.2
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |