From 49e7d8a8cd2e0f071881afa8f3a9d3935e9f7103 Mon Sep 17 00:00:00 2001 From: Yulia Gaponenko Date: Wed, 4 Nov 2020 23:03:16 +0100 Subject: [PATCH] Add s390x kaniko build to multi-arch list (#1475) This is extenion of current code to build s390x version of kaniko executor image and add it to multi-arch manifest Signed-off-by: Yulia Gaponenko --- cmd/executor/BUILD | 1 + deploy/cloudbuild-release.yaml | 11 +++++++++-- deploy/cloudbuild.yaml | 6 +++++- 3 files changed, 15 insertions(+), 3 deletions(-) diff --git a/cmd/executor/BUILD b/cmd/executor/BUILD index d4bcc67c6..7c58a3657 100644 --- a/cmd/executor/BUILD +++ b/cmd/executor/BUILD @@ -19,6 +19,7 @@ go_binary( ARCHITECTURES = [ "amd64", "arm64", + "s390x", ] [ diff --git a/deploy/cloudbuild-release.yaml b/deploy/cloudbuild-release.yaml index 35f968be6..f7004f2cf 100644 --- a/deploy/cloudbuild-release.yaml +++ b/deploy/cloudbuild-release.yaml @@ -42,6 +42,7 @@ steps: bazel run //:gazelle bazel run --host_force_python=PY2 //cmd/executor:image_amd64 bazel run --host_force_python=PY2 //cmd/executor:image_arm64 + bazel run --host_force_python=PY2 //cmd/executor:image_s390x # Publish the individual container images - name: docker @@ -57,11 +58,15 @@ steps: docker tag bazel/cmd/executor:image_amd64 gcr.io/kaniko-project/executor:amd64-$TAG_NAME docker tag bazel/cmd/executor:image_arm64 gcr.io/kaniko-project/executor:arm64 docker tag bazel/cmd/executor:image_arm64 gcr.io/kaniko-project/executor:arm64-$TAG_NAME + docker tag bazel/cmd/executor:image_arm64 gcr.io/kaniko-project/executor:s390x + docker tag bazel/cmd/executor:image_arm64 gcr.io/kaniko-project/executor:s390x-$TAG_NAME docker push gcr.io/kaniko-project/executor:amd64 docker push gcr.io/kaniko-project/executor:amd64-$TAG_NAME docker push gcr.io/kaniko-project/executor:arm64 docker push gcr.io/kaniko-project/executor:arm64-$TAG_NAME + docker push gcr.io/kaniko-project/executor:s390x + docker push gcr.io/kaniko-project/executor:s390x-$TAG_NAME # Enable "manifest list" support in docker, and publish one covering the per-architecture # images published above. @@ -85,12 +90,14 @@ steps: docker manifest create gcr.io/kaniko-project/executor:multi-arch \ gcr.io/kaniko-project/executor:amd64 \ - gcr.io/kaniko-project/executor:arm64 + gcr.io/kaniko-project/executor:arm64 \ + gcr.io/kaniko-project/executor:s390x docker manifest push gcr.io/kaniko-project/executor:multi-arch docker manifest create gcr.io/kaniko-project/executor:multi-arch-$TAG_NAME \ gcr.io/kaniko-project/executor:amd64-$TAG_NAME \ - gcr.io/kaniko-project/executor:arm64-$TAG_NAME + gcr.io/kaniko-project/executor:arm64-$TAG_NAME \ + gcr.io/kaniko-project/executor:s390x-$TAG_NAME docker manifest push gcr.io/kaniko-project/executor:multi-arch-$TAG_NAME diff --git a/deploy/cloudbuild.yaml b/deploy/cloudbuild.yaml index d745b5fd2..d60c7412f 100644 --- a/deploy/cloudbuild.yaml +++ b/deploy/cloudbuild.yaml @@ -32,6 +32,7 @@ steps: bazel run //:gazelle bazel run --host_force_python=PY2 //cmd/executor:image_amd64 bazel run --host_force_python=PY2 //cmd/executor:image_arm64 + bazel run --host_force_python=PY2 //cmd/executor:image_s390x # Publish the individual container images - name: docker @@ -45,9 +46,11 @@ steps: docker tag bazel/cmd/executor:image_amd64 gcr.io/$PROJECT_ID/${_EXECUTOR_IMAGE_NAME}:amd64-${COMMIT_SHA} docker tag bazel/cmd/executor:image_arm64 gcr.io/$PROJECT_ID/${_EXECUTOR_IMAGE_NAME}:arm64-${COMMIT_SHA} + docker tag bazel/cmd/executor:image_s390x gcr.io/$PROJECT_ID/${_EXECUTOR_IMAGE_NAME}:s390x-${COMMIT_SHA} docker push gcr.io/$PROJECT_ID/${_EXECUTOR_IMAGE_NAME}:amd64-${COMMIT_SHA} docker push gcr.io/$PROJECT_ID/${_EXECUTOR_IMAGE_NAME}:arm64-${COMMIT_SHA} + docker push gcr.io/$PROJECT_ID/${_EXECUTOR_IMAGE_NAME}:s390x-${COMMIT_SHA} # Enable "manifest list" support in docker, and publish one covering the per-architecture # images published above. @@ -71,7 +74,8 @@ steps: docker manifest create gcr.io/$PROJECT_ID/${_EXECUTOR_IMAGE_NAME}:multi-arch-${COMMIT_SHA} \ gcr.io/$PROJECT_ID/${_EXECUTOR_IMAGE_NAME}:amd64-${COMMIT_SHA} \ - gcr.io/$PROJECT_ID/${_EXECUTOR_IMAGE_NAME}:arm64-${COMMIT_SHA} + gcr.io/$PROJECT_ID/${_EXECUTOR_IMAGE_NAME}:arm64-${COMMIT_SHA} \ + gcr.io/$PROJECT_ID/${_EXECUTOR_IMAGE_NAME}:s390x-${COMMIT_SHA} docker manifest push gcr.io/$PROJECT_ID/${_EXECUTOR_IMAGE_NAME}:multi-arch-${COMMIT_SHA}