CI: Formalise the use of heredocs

Commit b5739330d7 introduced the use of heredocs in the jessie/stretch
dockerfiles.

It turns out this was introduced by BuildKit in 2018 along with a
standardisation of Dockerfile syntax, and has subsequently been adopted by the
docker community.

Annotate all dockerfiles with a statement of the syntax in use, and extend
README.md details including how to activate BuildKit when it's available but
off by default.

This allows the containers to be rebuilt following commit a0e29b3163 ("CI:
Drop glibc-i386 from the build containers").

Fixes: b5739330d7 ("automation: fix jessie/stretch images to use archive.debian.org apt repos")
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>
Release-Acked-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
This commit is contained in:
Andrew Cooper committed 2024-07-04 19:07:32 +01:00
1 parent 56b77d7db0
commit aa2b6e4d84
32 files changed
+41 -1

No files matched your search

+9 -1
View File
@@ -81,7 +81,14 @@ Building a container
There is a makefile to make this process easier. You should be
able to run `make DISTRO/VERSION` to have Docker build the container
for you. If you define the `PUSH` environment variable when running the
for you.
Xen's dockerfiles use heredocs, which depend on the standardised dockerfile
syntax introduced by [BuiltKit]. This should work by default starting with
docker 23.0, or podman/buildah v1.33. For older versions of docker, it can be
activated with `DOCKER_BUILDKIT=1` in the environment.
If you define the `PUSH` environment variable when running the
former `make` command, it will push the container to the [registry] if
you have access to do so and have your Docker logged into the registry.
@@ -101,6 +108,7 @@ env CONTAINER_NO_PULL=1 \
make -C automation/build suse/opensuse-tumbleweed PUSH=1
```
[BuildKit]: https://docs.docker.com/build/buildkit/
[registry]: https://gitlab.com/xen-project/xen/container_registry
[registry help]: https://gitlab.com/help/user/project/container_registry
@@ -1,3 +1,4 @@
# syntax=docker/dockerfile:1
FROM --platform=linux/arm64/v8 alpine:3.18
LABEL maintainer.name="The Xen Project" \
maintainer.email="xen-devel@lists.xenproject.org"
+1
View File
@@ -1,3 +1,4 @@
# syntax=docker/dockerfile:1
FROM --platform=linux/amd64 alpine:3.18
LABEL maintainer.name="The Xen Project" \
maintainer.email="xen-devel@lists.xenproject.org"
@@ -1,3 +1,4 @@
# syntax=docker/dockerfile:1
FROM --platform=linux/amd64 archlinux
LABEL maintainer.name="The Xen Project" \
maintainer.email="xen-devel@lists.xenproject.org"
@@ -1,3 +1,4 @@
# syntax=docker/dockerfile:1
FROM --platform=linux/amd64 archlinux:base-devel
LABEL maintainer.name="The Xen Project" \
maintainer.email="xen-devel@lists.xenproject.org"
+1
View File
@@ -1,3 +1,4 @@
# syntax=docker/dockerfile:1
FROM --platform=linux/amd64 centos:7
LABEL maintainer.name="The Xen Project" \
maintainer.email="xen-devel@lists.xenproject.org"
@@ -1,3 +1,4 @@
# syntax=docker/dockerfile:1
FROM --platform=linux/arm64/v8 debian:bookworm
LABEL maintainer.name="The Xen Project" \
maintainer.email="xen-devel@lists.xenproject.org"
@@ -1,3 +1,4 @@
# syntax=docker/dockerfile:1
FROM --platform=linux/arm64/v8 debian:bookworm
LABEL maintainer.name="The Xen Project" \
maintainer.email="xen-devel@lists.xenproject.org"
@@ -1,3 +1,4 @@
# syntax=docker/dockerfile:1
FROM --platform=linux/arm64/v8 debian:bookworm AS builder
ENV DEBIAN_FRONTEND=noninteractive
@@ -1,3 +1,4 @@
# syntax=docker/dockerfile:1
FROM --platform=linux/i386 debian:bookworm
LABEL maintainer.name="The Xen Project" \
maintainer.email="xen-devel@lists.xenproject.org"
@@ -1,3 +1,4 @@
# syntax=docker/dockerfile:1
FROM --platform=linux/amd64 debian:bookworm
LABEL maintainer.name="The Xen Project" \
maintainer.email="xen-devel@lists.xenproject.org"
@@ -1,3 +1,4 @@
# syntax=docker/dockerfile:1
FROM --platform=linux/amd64 debian:bullseye-slim
LABEL maintainer.name="The Xen Project" \
maintainer.email="xen-devel@lists.xenproject.org"
@@ -1,3 +1,4 @@
# syntax=docker/dockerfile:1
FROM --platform=linux/amd64 debian:buster-slim AS builder
ENV DEBIAN_FRONTEND=noninteractive
@@ -1,3 +1,4 @@
# syntax=docker/dockerfile:1
FROM --platform=linux/i386 debian/eol:jessie
LABEL maintainer.name="The Xen Project" \
maintainer.email="xen-devel@lists.xenproject.org"
@@ -1,3 +1,4 @@
# syntax=docker/dockerfile:1
FROM --platform=linux/amd64 debian/eol:jessie
LABEL maintainer.name="The Xen Project" \
maintainer.email="xen-devel@lists.xenproject.org"
@@ -1,3 +1,4 @@
# syntax=docker/dockerfile:1
FROM --platform=linux/i386 debian:stretch
LABEL maintainer.name="The Xen Project" \
maintainer.email="xen-devel@lists.xenproject.org"
@@ -1,3 +1,4 @@
# syntax=docker/dockerfile:1
FROM --platform=linux/amd64 debian:stretch
LABEL maintainer.name="The Xen Project" \
maintainer.email="xen-devel@lists.xenproject.org"
+1
View File
@@ -1,3 +1,4 @@
# syntax=docker/dockerfile:1
FROM --platform=linux/amd64 fedora:29
LABEL maintainer.name="The Xen Project" \
maintainer.email="xen-devel@lists.xenproject.org"
@@ -1,3 +1,4 @@
# syntax=docker/dockerfile:1
FROM --platform=linux/amd64 opensuse/leap
LABEL maintainer.name="The Xen Project" \
maintainer.email="xen-devel@lists.xenproject.org"
@@ -1,3 +1,4 @@
# syntax=docker/dockerfile:1
FROM --platform=linux/amd64 opensuse/tumbleweed
LABEL maintainer.name="The Xen Project" \
maintainer.email="xen-devel@lists.xenproject.org"
@@ -1,3 +1,4 @@
# syntax=docker/dockerfile:1
FROM --platform=linux/amd64 ubuntu:18.04
LABEL maintainer.name="The Xen Project " \
maintainer.email="xen-devel@lists.xenproject.org"
+1
View File
@@ -1,3 +1,4 @@
# syntax=docker/dockerfile:1
FROM --platform=linux/amd64 ubuntu:20.04
LABEL maintainer.name="The Xen Project " \
maintainer.email="xen-devel@lists.xenproject.org"
@@ -1,3 +1,4 @@
# syntax=docker/dockerfile:1
FROM --platform=linux/amd64 ubuntu:14.04
LABEL maintainer.name="The Xen Project" \
maintainer.email="xen-devel@lists.xenproject.org"
@@ -1,3 +1,4 @@
# syntax=docker/dockerfile:1
FROM --platform=linux/amd64 ubuntu:16.04
LABEL maintainer.name="The Xen Project " \
maintainer.email="xen-devel@lists.xenproject.org"
@@ -1,3 +1,4 @@
# syntax=docker/dockerfile:1
FROM --platform=linux/amd64 ubuntu:16.04
LABEL maintainer.name="The Xen Project " \
maintainer.email="xen-devel@lists.xenproject.org"
@@ -1,3 +1,5 @@
# syntax=docker/dockerfile:1
# Docker file to create an environment to build yocto with virtualization
#
# Arguments that can be passed during image creation using --build-arg:
@@ -1,3 +1,4 @@
# syntax=docker/dockerfile:1
FROM --platform=linux/arm64/v8 alpine:3.18
LABEL maintainer.name="The Xen Project" \
maintainer.email="xen-devel@lists.xenproject.org"
@@ -1,3 +1,4 @@
# syntax=docker/dockerfile:1
FROM --platform=linux/amd64 alpine:3.18
LABEL maintainer.name="The Xen Project" \
maintainer.email="xen-devel@lists.xenproject.org"
@@ -1,3 +1,4 @@
# syntax=docker/dockerfile:1
FROM --platform=linux/arm64/v8 debian:bookworm
LABEL maintainer.name="The Xen Project" \
maintainer.email="xen-devel@lists.xenproject.org"
@@ -1,3 +1,4 @@
# syntax=docker/dockerfile:1
FROM --platform=linux/amd64 debian:bookworm
LABEL maintainer.name="The Xen Project" \
maintainer.email="xen-devel@lists.xenproject.org"
@@ -1,3 +1,4 @@
# syntax=docker/dockerfile:1
FROM --platform=linux/arm64/v8 debian:bookworm
LABEL maintainer.name="The Xen Project" \
maintainer.email="xen-devel@lists.xenproject.org"
@@ -1,3 +1,4 @@
# syntax=docker/dockerfile:1
FROM --platform=linux/amd64 debian:bullseye-slim
LABEL maintainer.name="The Xen Project" \
maintainer.email="xen-devel@lists.xenproject.org"
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.