From e769bbb5ad340555af5e34140d597aef315f274d Mon Sep 17 00:00:00 2001 From: Al Majumdar <88921269+restlessronin@users.noreply.github.com> Date: Sat, 2 Apr 2022 22:22:20 +0530 Subject: [PATCH] refactor to explicit platform list --- .github/workflows/build_bench.yml | 3 +-- .github/workflows/build_develop.yml | 4 ++-- .github/workflows/build_stable.yml | 4 ++-- .github/workflows/docker-build-push.yml | 8 ++++---- docker-bake.hcl | 8 ++++---- 5 files changed, 13 insertions(+), 14 deletions(-) diff --git a/.github/workflows/build_bench.yml b/.github/workflows/build_bench.yml index 784a1e9e..4ae610d0 100644 --- a/.github/workflows/build_bench.yml +++ b/.github/workflows/build_bench.yml @@ -35,8 +35,7 @@ jobs: uses: docker/bake-action@v1.7.0 with: targets: bench-test - env: - MULTI_ARCH_BUILD: ${{ github.event_name != 'pull_request' }} + set: "*.platform=${{ github.event_name != 'pull_request' ? \"['linux/amd64','linux/arm64']\" : \"['linux/amd64']\" }}" - name: Login if: ${{ github.repository == 'frappe/frappe_docker' && github.event_name != 'pull_request' }} diff --git a/.github/workflows/build_develop.yml b/.github/workflows/build_develop.yml index 377fa078..5e10c767 100644 --- a/.github/workflows/build_develop.yml +++ b/.github/workflows/build_develop.yml @@ -23,12 +23,12 @@ on: jobs: build: - uses: frappe/frappe_docker/.github/workflows/docker-build-push.yml@main + uses: restlessronin/frappe_docker/.github/workflows/docker-build-push.yml@images-for-m1-mac with: repo: erpnext version: develop push: ${{ github.repository == 'frappe/frappe_docker' && github.event_name != 'pull_request' }} - multiarch: ${{ github.event_name != 'pull_request' }} + platforms: "${{ \"['linux/amd64']\" }}" secrets: DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }} DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }} diff --git a/.github/workflows/build_stable.yml b/.github/workflows/build_stable.yml index 0a5e9d9e..62c018a8 100644 --- a/.github/workflows/build_stable.yml +++ b/.github/workflows/build_stable.yml @@ -40,7 +40,7 @@ jobs: repo: erpnext version: "13" push: ${{ github.repository == 'frappe/frappe_docker' && github.event_name != 'pull_request' }} - multiarch: false + platforms: "['linux/amd64']" secrets: DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }} DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }} @@ -51,7 +51,7 @@ jobs: repo: erpnext version: "13" push: ${{ github.repository == 'frappe/frappe_docker' && github.event_name != 'pull_request' }} - multiarch: false + platforms: "['linux/amd64']" secrets: DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }} DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }} diff --git a/.github/workflows/docker-build-push.yml b/.github/workflows/docker-build-push.yml index f23321ef..1ea563d6 100644 --- a/.github/workflows/docker-build-push.yml +++ b/.github/workflows/docker-build-push.yml @@ -14,10 +14,10 @@ on: push: required: true type: boolean - multiarch: + platforms: required: true - type: boolean - description: "toggle for multi arch build" + type: string + description: "list of target platforms" secrets: DOCKERHUB_USERNAME: required: true @@ -56,9 +56,9 @@ jobs: uses: docker/bake-action@v1.7.0 with: push: true + set: "*.platform=${{ inputs.platforms }}" env: REGISTRY_USER: localhost:5000/frappe - MULTI_ARCH_BUILD: ${{ inputs.multiarch }} - name: Setup Python uses: actions/setup-python@v3 diff --git a/docker-bake.hcl b/docker-bake.hcl index 917ce579..93ca5067 100644 --- a/docker-bake.hcl +++ b/docker-bake.hcl @@ -13,8 +13,8 @@ variable "ERPNEXT_VERSION" { default = "develop" } -variable "MULTI_ARCH_BUILD" { - default = false +variable "ARCH_PLATFORMS" { + default = "local" } # Bench image @@ -23,7 +23,7 @@ target "bench" { context = "images/bench" target = "bench" tags = ["frappe/bench:latest"] - platforms = equal(true, "${MULTI_ARCH_BUILD}") ? ["linux/amd64","linux/arm64"] : ["linux/amd64"] + platforms = "${ARCH_PLATFORMS}" } target "bench-test" { @@ -63,7 +63,7 @@ target "default-args" { # If `ERPNEXT_VERSION` variable contains "v12" use Python 3.7. Else — 3.9. PYTHON_VERSION = can(regex("v12", "${ERPNEXT_VERSION}")) ? "3.7" : "3.9" } - platforms = equal(true, "${MULTI_ARCH_BUILD}") ? ["linux/amd64","linux/arm64"] : ["linux/amd64"] + platforms = "${ARCH_PLATFORMS}" } target "frappe-worker" {