From a6bbe54d30404d66f85bb102a8ef58cc1e247d5b Mon Sep 17 00:00:00 2001 From: Avi Deitcher Date: Mon, 30 Jan 2023 11:45:31 +0200 Subject: [PATCH] multiarch build, both Makefile and GHActions Signed-off-by: Avi Deitcher --- .github/workflows/ci.yaml | 5 ++++- .github/workflows/deploy.yaml | 9 ++++++--- .github/workflows/release.yaml | 9 ++++++--- Makefile | 4 ++-- 4 files changed, 18 insertions(+), 9 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 07ea6f8c..444e7301 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -23,7 +23,9 @@ jobs: runs-on: ubuntu-latest steps: - name: checkout - uses: actions/checkout@v2 + uses: actions/checkout@v3 + - name: Set up QEMU + uses: docker/setup-qemu-action@v2 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v1 - name: Build and push @@ -31,6 +33,7 @@ jobs: uses: docker/build-push-action@v2 with: push: false + platforms: linux/amd64,linux/arm64 tags: | ${{env.IMAGE_NAME}}:${{github.sha}} - name: test diff --git a/.github/workflows/deploy.yaml b/.github/workflows/deploy.yaml index 37f7dd3e..cb8d85d9 100644 --- a/.github/workflows/deploy.yaml +++ b/.github/workflows/deploy.yaml @@ -21,11 +21,13 @@ jobs: runs-on: ubuntu-latest steps: - name: checkout - uses: actions/checkout@v2 + uses: actions/checkout@v3 + - name: Set up QEMU + uses: docker/setup-qemu-action@v2 - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v1 + uses: docker/setup-buildx-action@v2 - name: Login to DockerHub - uses: docker/login-action@v1 + uses: docker/login-action@v2 with: username: ${{ secrets.DOCKER_USERNAME }} password: ${{ secrets.DOCKER_PASSWORD }} @@ -34,6 +36,7 @@ jobs: uses: docker/build-push-action@v2 with: push: true + platforms: linux/amd64,linux/arm64 tags: | ${{env.IMAGE_NAME}}:${{github.sha}} ${{env.IMAGE_NAME}}:master diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index e22dcb39..82476363 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -21,11 +21,13 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v2 + uses: actions/checkout@v3 + - name: Set up QEMU + uses: docker/setup-qemu-action@v2 - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v1 + uses: docker/setup-buildx-action@v2 - name: Login to DockerHub - uses: docker/login-action@v1 + uses: docker/login-action@v2 with: username: ${{ secrets.DOCKER_USERNAME }} password: ${{ secrets.DOCKER_PASSWORD }} @@ -34,6 +36,7 @@ jobs: uses: docker/build-push-action@v2 with: push: true + platforms: linux/amd64,linux/arm64 tags: | ${{env.IMAGE_NAME}}:${{ github.ref_name }} ${{env.IMAGE_NAME}}:latest diff --git a/Makefile b/Makefile index 955862e9..5a382123 100644 --- a/Makefile +++ b/Makefile @@ -4,10 +4,10 @@ TAG ?= $(shell git log -n 1 --pretty=format:"%H") IMAGE ?= databack/mysql-backup BUILDIMAGE ?= $(IMAGE):build TARGET ?= $(IMAGE):$(TAG) - +ARCH ?= linux/amd64,linux/arm64 build: - docker build -t $(BUILDIMAGE) . + docker buildx build -t $(BUILDIMAGE) --platform $(ARCH) . push: build docker tag $(BUILDIMAGE) $(TARGET)