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