From f0e196fe4371f56a14969a1fb0d2fed79c39630a Mon Sep 17 00:00:00 2001 From: salmannawaz Date: Thu, 7 Sep 2023 18:40:07 +0500 Subject: [PATCH] fix: Docker multi-arch images push for linux/amd64, linux/arm64 (#4006) * fix: docker multi-arch image push * fix: docker multi-arch images, code improvements --------- Co-authored-by: Salman Nawaz --- .github/workflows/docker-publish.yml | 30 ++++++++++++++++++++-------- 1 file changed, 22 insertions(+), 8 deletions(-) diff --git a/.github/workflows/docker-publish.yml b/.github/workflows/docker-publish.yml index ddc2a944ca7..9e48086f964 100644 --- a/.github/workflows/docker-publish.yml +++ b/.github/workflows/docker-publish.yml @@ -26,25 +26,39 @@ jobs: console.log('Will use tag: ' + tagName); return tagName; result-encoding: string + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + + - name: Set up QEMU + uses: docker/setup-qemu-action@v2 + + - name: Login to DockerHub + uses: docker/login-action@v2 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_PASSWORD }} - name: Build and push Dev Docker image - uses: docker/build-push-action@v1 + uses: docker/build-push-action@v4 with: push: true - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_PASSWORD }} target: dev repository: edxops/ecommerce-dev - tags: ${{ steps.get-tag-name.outputs.result }},${{ github.sha }} + tags: | + edxops/ecommerce-dev:${{ steps.get-tag-name.outputs.result }} + edxops/ecommerce-dev:${{ github.sha }} + platforms: linux/amd64,linux/arm64 # The current priority is to get the devstack off of Ansible based Images. Once that is done, we can come back to this part to get # suitable images for smaller prod environments. # - name: Build and push prod Docker image - # uses: docker/build-push-action@v1 + # uses: docker/build-push-action@v4 # with: # push: true - # username: ${{ secrets.DOCKERHUB_USERNAME }} - # password: ${{ secrets.DOCKERHUB_PASSWORD }} # target: prod # repository: edxops/ecommerce-prod - # tags: ${{ steps.get-tag-name.outputs.result }},${{ github.sha }} + # tags: | + # edxops/ecommerce-prod:${{ steps.get-tag-name.outputs.result }} + # edxops/ecommerce-prod:${{ github.sha }} + # platforms: linux/amd64,linux/arm64