From b950178733ca02c8d4434c7b6fb18333dacdec1d Mon Sep 17 00:00:00 2001 From: Ian Wienand Date: Wed, 25 Aug 2021 08:29:22 +1000 Subject: [PATCH] build-docker-image: Add flag to use BuildKit It seems like BuildKit is the next generation, but not likely to be enabled by default soon (https://github.com/moby/moby/issues/40379). Add a flag so people who want to use its features can easily opt-in. Change-Id: I862819959c77a557199f64b4d42109bc7915959c --- roles/build-docker-image/common.rst | 8 ++++++++ roles/build-docker-image/defaults/main.yaml | 1 + roles/build-docker-image/tasks/build.yaml | 2 ++ 3 files changed, 11 insertions(+) diff --git a/roles/build-docker-image/common.rst b/roles/build-docker-image/common.rst index 5b899a8d6..09fc08421 100644 --- a/roles/build-docker-image/common.rst +++ b/roles/build-docker-image/common.rst @@ -80,6 +80,14 @@ using this role. repository: "^myorgname/{{ zuul.project.short_name }}.*" + .. zuul:rolevar:: docker_use_buildkit + :type: bool + :default: false + + Use `BuildKit + `__ + when creating images. + .. zuul:rolevar:: docker_images :type: list diff --git a/roles/build-docker-image/defaults/main.yaml b/roles/build-docker-image/defaults/main.yaml index 24a195ad1..6d402ceb0 100644 --- a/roles/build-docker-image/defaults/main.yaml +++ b/roles/build-docker-image/defaults/main.yaml @@ -1,3 +1,4 @@ zuul_work_dir: "{{ zuul.project.src_dir }}" docker_dockerfile: "Dockerfile" docker_registry: '' +docker_use_buildkit: false diff --git a/roles/build-docker-image/tasks/build.yaml b/roles/build-docker-image/tasks/build.yaml index 301268041..e726be9b0 100644 --- a/roles/build-docker-image/tasks/build.yaml +++ b/roles/build-docker-image/tasks/build.yaml @@ -28,6 +28,8 @@ --label "org.zuul-ci.change_url={{ zuul.change_url }}" args: chdir: "{{ zuul_work_dir }}/{{ zj_image.context }}" + environment: + DOCKER_BUILDKIT: '{{ "1" if docker_use_buildkit else "0" }}' - name: Cleanup sibling source directory include_tasks: clean-siblings.yaml