CI: Refresh the Debian 12 x86_32 container

Rework the container to be non-root, use heredocs for readability, and
use apt-get --no-install-recommends to keep the size down.  Rename the
job to x86_32, to be consistent with XEN_TARGET_ARCH and the
naming scheme of all the other CI jobs:
${VERSION}-${ARCH}-${BUILD_NAME}

Remove build dependencies for building QEMU.  The absence of ninja/meson means
that the container hasn't been able to build QEMU in years.

Remove build dependencies for the documentation as we don't have to
build it for every single arch.

This reduces the size of the container from 2.22GB to 1.32Gb.

Signed-off-by: Javi Merino <javi.merino@cloud.com>
Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
(cherry picked from commit 1ceabff115)
This commit is contained in:
Javi Merino authored and Andrew Cooper committed 2024-11-11 18:16:35 +00:00
1 parent 6ac45f72a3
commit c92f26973d
4 files changed
+56 -55

No files matched your search

@@ -0,0 +1,51 @@
# syntax=docker/dockerfile:1
FROM --platform=linux/i386 debian:bookworm
LABEL maintainer.name="The Xen Project"
LABEL maintainer.email="xen-devel@lists.xenproject.org"
ENV DEBIAN_FRONTEND=noninteractive
RUN <<EOF
#!/bin/bash
set -eu
useradd --create-home user
apt-get update
DEPS=(
# Xen
bison
build-essential
checkpolicy
clang
flex
# Tools (general)
ca-certificates
git-core
pkg-config
wget
# libacpi
acpica-tools
# libxl
uuid-dev
libyajl-dev
# xentop
libncurses5-dev
# Python bindings
python3-dev
python3-setuptools
# Ocaml bindings/oxenstored
ocaml-nox
ocaml-findlib
)
apt-get -y --no-install-recommends install "${DEPS[@]}"
rm -rf /var/lib/apt/lists*
EOF
USER user
WORKDIR /build
ENTRYPOINT ["linux32"]
@@ -1,50 +0,0 @@
# syntax=docker/dockerfile:1
FROM --platform=linux/i386 debian:bookworm
LABEL maintainer.name="The Xen Project" \
maintainer.email="xen-devel@lists.xenproject.org"
ENV DEBIAN_FRONTEND=noninteractive
ENV USER root
RUN mkdir /build
WORKDIR /build
ENTRYPOINT ["linux32"]
# 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 \
libc6-dev \
libnl-3-dev \
ocaml-nox \
libfindlib-ocaml-dev \
markdown \
transfig \
pandoc \
checkpolicy \
wget \
git \
nasm \
apt-transport-https \
&& \
apt-get autoremove -y && \
apt-get clean && \
rm -rf /var/lib/apt/lists* /tmp/* /var/tmp/*
+4 -4
View File
@@ -558,15 +558,15 @@ debian-12-x86_64-gcc-randconfig:
CONTAINER: debian:12-x86_64
RANDCONFIG: y
debian-bookworm-32-clang-debug:
debian-12-x86_32-clang-debug:
extends: .clang-x86-32-build-debug
variables:
CONTAINER: debian:bookworm-i386
CONTAINER: debian:12-x86_32
debian-bookworm-32-gcc-debug:
debian-12-x86_32-gcc-debug:
extends: .gcc-x86-32-build-debug
variables:
CONTAINER: debian:bookworm-i386
CONTAINER: debian:12-x86_32
fedora-gcc:
extends: .gcc-x86-64-build
+1 -1
View File
@@ -35,7 +35,7 @@ case "_${CONTAINER}" in
_bookworm-riscv64) CONTAINER="${BASE}/debian:12-riscv64" ;;
_bookworm-x86_64-gcc-ibt) CONTAINER="${BASE}/debian:12-x86_64-gcc-ibt" ;;
_bookworm|_bookworm-x86_64|_) CONTAINER="${BASE}/debian:12-x86_64" ;;
_bookworm-i386) CONTAINER="${BASE}/debian:bookworm-i386" ;;
_bookworm-i386|_bookworm-x86_32) CONTAINER="${BASE}/debian:12-x86_32" ;;
_bookworm-arm64v8-arm32-gcc) CONTAINER="${BASE}/debian:bookworm-arm64v8-arm32-gcc" ;;
_bookworm-arm64v8) CONTAINER="${BASE}/debian:bookworm-arm64v8" ;;
_bookworm-cppcheck) CONTAINER="${BASE}/debian:bookworm-cppcheck" ;;
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.