[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [xen staging] CI: Refresh Ubuntu Xenial container as 16.04-x86_64
commit 1ab414b915d5b00f219db83301dc2e9543b2eb94 Author: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> AuthorDate: Thu Jul 11 16:08:24 2024 +0100 Commit: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> CommitDate: Fri Jul 12 18:58:45 2024 +0100 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@xxxxxxxxxx> Reviewed-by: Anthony PERARD <anthony.perard@xxxxxxxxxx> Release-Acked-By: Oleksii Kurochko <oleksii.kurochko@xxxxxxxxx> --- automation/build/ubuntu/16.04-x86_64.dockerfile | 64 +++++++++++++++++++++++++ automation/build/ubuntu/xenial.dockerfile | 46 ------------------ automation/gitlab-ci/build.yaml | 16 +++---- automation/scripts/containerize | 2 +- 4 files changed, 73 insertions(+), 55 deletions(-) diff --git a/automation/build/ubuntu/16.04-x86_64.dockerfile b/automation/build/ubuntu/16.04-x86_64.dockerfile new file mode 100644 index 0000000000..d8617bfade --- /dev/null +++ b/automation/build/ubuntu/16.04-x86_64.dockerfile @@ -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@xxxxxxxxxxxxxxxxxxxx" + +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 diff --git a/automation/build/ubuntu/xenial.dockerfile b/automation/build/ubuntu/xenial.dockerfile deleted file mode 100644 index aa8f560286..0000000000 --- a/automation/build/ubuntu/xenial.dockerfile +++ /dev/null @@ -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@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 \ - 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/* diff --git a/automation/gitlab-ci/build.yaml b/automation/gitlab-ci/build.yaml index f9a9275ff2..7607e19cd5 100644 --- a/automation/gitlab-ci/build.yaml +++ b/automation/gitlab-ci/build.yaml @@ -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 diff --git a/automation/scripts/containerize b/automation/scripts/containerize index d8110b1253..456146793a 100755 --- a/automation/scripts/containerize +++ b/automation/scripts/containerize @@ -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 -- generated by git-patchbot for /home/xen/git/xen.git#staging
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |