[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH for-4.19 1/4] CI: Formalise the use of heredocs
On Wed, Jul 03, 2024 at 03:19:59PM +0100, Andrew Cooper wrote: > Commit b5739330d7f4 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 a0e29b316363 ("CI: > Drop glibc-i386 from the build containers"). > > Fixes: b5739330d7f4 ("automation: fix jessie/stretch images to use > archive.debian.org apt repos") > Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> Reviewed-by: Roger Pau Monné <roger.pau@xxxxxxxxxx> > --- > CC: Anthony PERARD <anthony.perard@xxxxxxxxxx> > CC: Stefano Stabellini <sstabellini@xxxxxxxxxx> > CC: Doug Goldstein <cardoe@xxxxxxxxxx> > CC: Roger Pau Monné <roger.pau@xxxxxxxxxx> > CC: Oleksii Kurochko <oleksii.kurochko@xxxxxxxxx> > --- > automation/build/README.md | 10 +++++++++- > automation/build/alpine/3.18-arm64v8.dockerfile | 1 + > automation/build/alpine/3.18.dockerfile | 1 + > automation/build/archlinux/current-riscv64.dockerfile | 1 + > automation/build/archlinux/current.dockerfile | 1 + > automation/build/centos/7.dockerfile | 1 + > .../build/debian/bookworm-arm64v8-arm32-gcc.dockerfile | 1 + > automation/build/debian/bookworm-arm64v8.dockerfile | 1 + > automation/build/debian/bookworm-cppcheck.dockerfile | 1 + > automation/build/debian/bookworm-i386.dockerfile | 1 + > automation/build/debian/bookworm.dockerfile | 1 + > automation/build/debian/bullseye-ppc64le.dockerfile | 1 + > automation/build/debian/buster-gcc-ibt.dockerfile | 1 + > automation/build/debian/jessie-i386.dockerfile | 1 + > automation/build/debian/jessie.dockerfile | 1 + > automation/build/debian/stretch-i386.dockerfile | 1 + > automation/build/debian/stretch.dockerfile | 1 + > automation/build/fedora/29.dockerfile | 1 + > automation/build/suse/opensuse-leap.dockerfile | 1 + > automation/build/suse/opensuse-tumbleweed.dockerfile | 1 + > automation/build/ubuntu/bionic.dockerfile | 1 + > automation/build/ubuntu/focal.dockerfile | 1 + > automation/build/ubuntu/trusty.dockerfile | 1 + > automation/build/ubuntu/xenial-xilinx.dockerfile | 1 + > automation/build/ubuntu/xenial.dockerfile | 1 + > automation/build/yocto/yocto.dockerfile.in | 2 ++ > .../tests-artifacts/alpine/3.18-arm64v8.dockerfile | 1 + > automation/tests-artifacts/alpine/3.18.dockerfile | 1 + > .../tests-artifacts/kernel/5.19-arm64v8.dockerfile | 1 + > automation/tests-artifacts/kernel/6.1.19.dockerfile | 1 + > .../qemu-system-aarch64/6.0.0-arm64v8.dockerfile | 1 + > .../qemu-system-ppc64/8.1.0-ppc64.dockerfile | 1 + > 32 files changed, 41 insertions(+), 1 deletion(-) > > diff --git a/automation/build/README.md b/automation/build/README.md > index 1c040533fdd8..12a2b4af1807 100644 > --- a/automation/build/README.md > +++ b/automation/build/README.md > @@ -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 > > diff --git a/automation/build/alpine/3.18-arm64v8.dockerfile > b/automation/build/alpine/3.18-arm64v8.dockerfile > index 91e90220240f..19fe46f8418f 100644 > --- a/automation/build/alpine/3.18-arm64v8.dockerfile > +++ b/automation/build/alpine/3.18-arm64v8.dockerfile > @@ -1,3 +1,4 @@ > +# syntax=docker/dockerfile:1 Will this fail to parse if not using BuildKit? Thanks, Roger.
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |