CI: Refresh Ubuntu Xenial container as 16.04-x86_64

Rework the container to be non-root, use heredocs for legibility, and use
apt-get --no-install-recommends to keep the size down.

Ubuntu Xenial has no ninja-build package, so can't build the QEMU referenced
by Xen 4.16.  Therefore, drop the dependencies too.

This saves ~500M:

  registry.gitlab.com/xen-project/xen/ubuntu    16.04-x86_64           698MB
  registry.gitlab.com/xen-project/xen/ubuntu    xenial                 1.21GB

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Reviewed-by: Anthony PERARD <anthony.perard@vates.tech>
Release-Acked-By: Oleksii Kurochko <oleksii.kurochko@gmail.com>
This commit is contained in:
Andrew Cooper committed 2024-07-12 18:58:45 +01:00
1 parent e85ff1f1af
commit 1ab414b915
4 files changed
+73 -55

No files matched your search

@@ -0,0 +1,64 @@
# syntax=docker/dockerfile:1
FROM --platform=linux/amd64 ubuntu:16.04
LABEL maintainer.name="The Xen Project"
LABEL maintainer.email="xen-devel@lists.xenproject.org"
ENV DEBIAN_FRONTEND=noninteractive
RUN <<EOF
#!/bin/bash
set -e
useradd --create-home user
apt-get -y update
DEPS=(
# Xen
bison
build-essential
checkpolicy
clang
flex
python3-minimal
# Tools (general)
ca-certificates
git-core
gzip
patch
perl
pkg-config
wget
# libxenguest dombuilder
libbz2-dev
libzstd-dev
liblzo2-dev
liblzma-dev
zlib1g-dev
# libacpi
acpica-tools
# libxl
uuid-dev
libyajl-dev
# RomBIOS
bcc
bin86
# xentop
libncurses5-dev
# Python bindings
python3-dev
# Ocaml bindings/oxenstored
ocaml-nox
ocaml-findlib
# Stubdom download/extract
bzip2
)
apt-get -y --no-install-recommends install "${DEPS[@]}"
rm -rf /var/lib/apt/lists/*
EOF
USER user
WORKDIR /build
-46
View File
@@ -1,46 +0,0 @@
# syntax=docker/dockerfile:1
FROM --platform=linux/amd64 ubuntu:16.04
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 \
python-dev \
python3-dev \
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 \
&& \
apt-get autoremove -y && \
apt-get clean && \
rm -rf /var/lib/apt/lists* /tmp/* /var/tmp/*
+8 -8
View File
@@ -585,25 +585,25 @@ fedora-gcc-debug:
variables:
CONTAINER: fedora:29
ubuntu-xenial-clang:
ubuntu-16.04-x86_64-clang:
extends: .clang-x86-64-build
variables:
CONTAINER: ubuntu:xenial
CONTAINER: ubuntu:16.04-x86_64
ubuntu-xenial-clang-debug:
ubuntu-16.04-x86_64-clang-debug:
extends: .clang-x86-64-build-debug
variables:
CONTAINER: ubuntu:xenial
CONTAINER: ubuntu:16.04-x86_64
ubuntu-xenial-gcc:
ubuntu-16.04-x86_64-gcc:
extends: .gcc-x86-64-build
variables:
CONTAINER: ubuntu:xenial
CONTAINER: ubuntu:16.04-x86_64
ubuntu-xenial-gcc-debug:
ubuntu-16.04-x86_64-gcc-debug:
extends: .gcc-x86-64-build-debug
variables:
CONTAINER: ubuntu:xenial
CONTAINER: ubuntu:16.04-x86_64
ubuntu-bionic-clang:
extends: .clang-x86-64-build
+1 -1
View File
@@ -41,9 +41,9 @@ case "_${CONTAINER}" in
_bookworm-arm64v8) CONTAINER="${BASE}/debian:bookworm-arm64v8" ;;
_bookworm-cppcheck) CONTAINER="${BASE}/debian:bookworm-cppcheck" ;;
_bionic) CONTAINER="${BASE}/ubuntu:bionic" ;;
_xenial) CONTAINER="${BASE}/ubuntu:xenial" ;;
_opensuse-leap|_leap) CONTAINER="${BASE}/opensuse:leap-15.6-x86_64" ;;
_opensuse-tumbleweed|_tumbleweed) CONTAINER="${BASE}/opensuse:tumbleweed-x86_64" ;;
_xenial) CONTAINER="${BASE}/ubuntu:16.04-x86_64" ;;
esac
# Use this variable to control whether root should be used
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.