From 07f8b53546d8fdba121bd6e07e6354b727e579d3 Mon Sep 17 00:00:00 2001 From: Shahana Farooqui <23240721+ShahanaFarooqui@users.noreply.github.com> Date: Sun, 7 Aug 2022 21:37:59 -0700 Subject: [PATCH] Adding Multiarch setup Adding Multiarch setup --- .circleci/config.yml | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/.circleci/config.yml b/.circleci/config.yml index 7f870d0e..b417adc2 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -49,6 +49,27 @@ jobs: sudo docker push "$DOCKERHUB_DESTINATION" no_output_timeout: 25m + publish_docker_multiarch: + machine: + enabled: true + image: circleci/classic:201808-01 + steps: + - run: + command: | + # Turn on Experimental features + LATEST_TAG="${CIRCLE_TAG:1}" + sudo mkdir $HOME/.docker + sudo sh -c 'echo "{ \"experimental\": \"enabled\" }" >> $HOME/.docker/config.json' + # + sudo docker login --username=$DOCKERHUB_USER --password=$DOCKERHUB_PASS + # + sudo docker manifest create --amend "$DOCKERHUB_REPO:$LATEST_TAG" "$DOCKERHUB_REPO:$LATEST_TAG-amd64" "$DOCKERHUB_REPO:$LATEST_TAG-arm32v7" "$DOCKERHUB_REPO:$LATEST_TAG-arm64v8" + sudo docker manifest annotate "$DOCKERHUB_REPO:$LATEST_TAG" "$DOCKERHUB_REPO:$LATEST_TAG-amd64" --os linux --arch amd64 + sudo docker manifest annotate "$DOCKERHUB_REPO:$LATEST_TAG" "$DOCKERHUB_REPO:$LATEST_TAG-arm32v7" --os linux --arch arm --variant v7 + sudo docker manifest annotate "$DOCKERHUB_REPO:$LATEST_TAG" "$DOCKERHUB_REPO:$LATEST_TAG-arm64v8" --os linux --arch arm64 --variant v8 + sudo docker manifest push "$DOCKERHUB_REPO:$LATEST_TAG" -p + no_output_timeout: 25m + workflows: version: 2 publish: @@ -71,3 +92,13 @@ workflows: ignore: /.*/ tags: only: /v(?:(?(?:0|[1-9](?:(?:0|[1-9])+)*))[.](?(?:0|[1-9](?:(?:0|[1-9])+)*))[.](?(?:0|[1-9](?:(?:0|[1-9])+)*))(?:-(?:([A-Za-z1-9])*))?)$/ + - publish_docker_multiarch: + requires: + - publish_docker_linuxamd64 + - publish_docker_linuxarm32v7 + - publish_docker_linuxarm64v8 + filters: + branches: + ignore: /.*/ + tags: + only: /v(?:(?(?:0|[1-9](?:(?:0|[1-9])+)*))[.](?(?:0|[1-9](?:(?:0|[1-9])+)*))[.](?(?:0|[1-9](?:(?:0|[1-9])+)*))(?:-(?:([A-Za-z1-9])*))?)$/