mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 02:01:24 +01:00
CI: Refresh the Debian 12 arm64 container
Rework the container to user heredocs for readability, derive from bookworm-slim and use apt-get --no-install-recommends to keep the size down. Additionally: * Make it a non-root container. * Drop libext2fs-dev which is an x86-only dependency. * Add libncurses5-dev for xentop and zlib1g-dev which was missing from the libxenguest decompressors. * As there's no ninja, the container can no loger build QEMU so drop libglib2.0-dev and libpixman-1-dev too. * Swap libyajl-dev for libjson-c-dev given the deprecation of the former. Rename the job to debian-12-arm64-* to follow the naming scheme of all the other CI jobs. This reduces the size of the debian:12-arm64v8 from 2.25GB down to 1.62GB. Signed-off-by: Javi Merino <javi.merino@cloud.com> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com> Reviewed-by: Michal Orzel <michal.orzel@amd.com>
This commit is contained in:
1 parent
81c9fa421d
commit
4d8aa53ed1
5 files changed
+76
-62
No files matched your search
@@ -0,0 +1,69 @@
|
||||
# syntax=docker/dockerfile:1
|
||||
FROM --platform=linux/arm64/v8 debian:bookworm-slim
|
||||
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
|
||||
flex
|
||||
|
||||
# Tools (general)
|
||||
ca-certificates
|
||||
cpio
|
||||
git-core
|
||||
pkg-config
|
||||
wget
|
||||
# libxenguest dombuilder
|
||||
libbz2-dev
|
||||
liblzma-dev
|
||||
liblzo2-dev
|
||||
libzstd-dev
|
||||
zlib1g-dev
|
||||
# libacpi
|
||||
acpica-tools
|
||||
# libxl
|
||||
libfdt-dev
|
||||
libjson-c-dev
|
||||
uuid-dev
|
||||
# xentop
|
||||
libncurses5-dev
|
||||
# Python bindings
|
||||
python3-dev
|
||||
python3-setuptools
|
||||
# Golang bindings
|
||||
golang-go
|
||||
# Ocaml bindings/oxenstored
|
||||
ocaml-nox
|
||||
ocaml-findlib
|
||||
|
||||
# for test phase, qemu-* jobs
|
||||
busybox-static
|
||||
curl
|
||||
device-tree-compiler
|
||||
expect
|
||||
file
|
||||
ovmf
|
||||
u-boot-qemu
|
||||
u-boot-tools
|
||||
)
|
||||
|
||||
apt-get -y --no-install-recommends install "${DEPS[@]}"
|
||||
|
||||
rm -rf /var/lib/apt/lists*
|
||||
EOF
|
||||
|
||||
USER user
|
||||
WORKDIR /build
|
||||
@@ -1,55 +0,0 @@
|
||||
# syntax=docker/dockerfile:1
|
||||
FROM --platform=linux/arm64/v8 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
|
||||
|
||||
# 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 \
|
||||
libfdt-dev \
|
||||
bin86 \
|
||||
bcc \
|
||||
liblzma-dev \
|
||||
libnl-3-dev \
|
||||
ocaml-nox \
|
||||
libfindlib-ocaml-dev \
|
||||
markdown \
|
||||
transfig \
|
||||
pandoc \
|
||||
checkpolicy \
|
||||
wget \
|
||||
git \
|
||||
nasm \
|
||||
# for test phase, qemu-smoke-* jobs
|
||||
u-boot-qemu \
|
||||
u-boot-tools \
|
||||
device-tree-compiler \
|
||||
curl \
|
||||
cpio \
|
||||
busybox-static \
|
||||
expect \
|
||||
&& \
|
||||
apt-get autoremove -y && \
|
||||
apt-get clean && \
|
||||
rm -rf /var/lib/apt/lists* /tmp/* /var/tmp/*
|
||||
@@ -414,15 +414,15 @@ debian-12-arm32-gcc-debug-mpu:
|
||||
|
||||
# Arm builds
|
||||
|
||||
debian-bookworm-gcc-arm64:
|
||||
debian-12-arm64-gcc:
|
||||
extends: .gcc-arm64-build
|
||||
variables:
|
||||
CONTAINER: debian:bookworm-arm64v8
|
||||
CONTAINER: debian:12-arm64v8
|
||||
|
||||
debian-bookworm-gcc-debug-arm64:
|
||||
debian-12-arm64-gcc-debug:
|
||||
extends: .gcc-arm64-build-debug
|
||||
variables:
|
||||
CONTAINER: debian:bookworm-arm64v8
|
||||
CONTAINER: debian:12-arm64v8
|
||||
|
||||
alpine-3.18-gcc-arm64:
|
||||
extends: .gcc-arm64-build
|
||||
|
||||
@@ -37,7 +37,7 @@
|
||||
.qemu-arm64:
|
||||
extends: .test-jobs-common
|
||||
variables:
|
||||
CONTAINER: debian:bookworm-arm64v8
|
||||
CONTAINER: debian:12-arm64v8
|
||||
LOGFILE: qemu-smoke-arm64.log
|
||||
artifacts:
|
||||
paths:
|
||||
@@ -50,7 +50,7 @@
|
||||
.qemu-arm32:
|
||||
extends: .test-jobs-common
|
||||
variables:
|
||||
CONTAINER: debian:bookworm-arm64v8
|
||||
CONTAINER: debian:12-arm64v8
|
||||
LOGFILE: qemu-smoke-arm32.log
|
||||
artifacts:
|
||||
paths:
|
||||
|
||||
@@ -39,7 +39,7 @@ case "_${CONTAINER}" in
|
||||
_trixie-x86_64|_) CONTAINER="${BASE}/debian:13-x86_64" ;;
|
||||
_bookworm-i386|_bookworm-x86_32) CONTAINER="${BASE}/debian:12-x86_32" ;;
|
||||
_bookworm-arm64v8-arm32) CONTAINER="${BASE}/debian:12-arm64v8-arm32" ;;
|
||||
_bookworm-arm64v8) CONTAINER="${BASE}/debian:bookworm-arm64v8" ;;
|
||||
_bookworm-arm64v8) CONTAINER="${BASE}/debian:12-arm64v8" ;;
|
||||
_bookworm-cppcheck) CONTAINER="${BASE}/debian:12-arm64v8-cppcheck" ;;
|
||||
_opensuse-leap|_leap) CONTAINER="${BASE}/opensuse:leap-15.6-x86_64" ;;
|
||||
_opensuse-tumbleweed|_tumbleweed) CONTAINER="${BASE}/opensuse:tumbleweed-x86_64" ;;
|
||||
|
||||