From 09982e0343a574fa68b91ee03ce9d32ac873289a Mon Sep 17 00:00:00 2001 From: Cooper Ry Lees Date: Sat, 18 Nov 2023 13:39:25 -0800 Subject: [PATCH 1/2] [docker ci] Split up amd64 (x86_64) and arm64 builds - Lets run them seperately to cut down total time - Will also more clearly show if either arch has specific problems - Kept amd64 (x86_64) using qemu actions so if GitHub ever offers arm64 boxes it could stay working too Fixes #3971 --- .../{docker.yml => docker_amd64.yml} | 8 +-- .github/workflows/docker_arm64.yml | 69 +++++++++++++++++++ 2 files changed, 73 insertions(+), 4 deletions(-) rename .github/workflows/{docker.yml => docker_amd64.yml} (92%) create mode 100644 .github/workflows/docker_arm64.yml diff --git a/.github/workflows/docker.yml b/.github/workflows/docker_amd64.yml similarity index 92% rename from .github/workflows/docker.yml rename to .github/workflows/docker_amd64.yml index ee858236fcf..846cd8c74e3 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker_amd64.yml @@ -1,4 +1,4 @@ -name: docker +name: docker amd64 (x86_64) on: push: @@ -39,7 +39,7 @@ jobs: uses: docker/build-push-action@v5 with: context: . - platforms: linux/amd64,linux/arm64 + platforms: linux/amd64 push: true tags: pyfound/black:latest,pyfound/black:${{ env.GIT_TAG }} @@ -50,7 +50,7 @@ jobs: uses: docker/build-push-action@v5 with: context: . - platforms: linux/amd64,linux/arm64 + platforms: linux/amd64 push: true tags: pyfound/black:latest_release @@ -61,7 +61,7 @@ jobs: uses: docker/build-push-action@v5 with: context: . - platforms: linux/amd64,linux/arm64 + platforms: linux/amd64 push: true tags: pyfound/black:latest_prerelease diff --git a/.github/workflows/docker_arm64.yml b/.github/workflows/docker_arm64.yml new file mode 100644 index 00000000000..ddd554165af --- /dev/null +++ b/.github/workflows/docker_arm64.yml @@ -0,0 +1,69 @@ +name: docker arm64 + +on: + push: + branches: + - "main" + release: + types: [published] + +permissions: + contents: read + +jobs: + docker: + if: github.repository == 'psf/black' + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Set up QEMU + uses: docker/setup-qemu-action@v3 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: Login to DockerHub + uses: docker/login-action@v3 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + + - name: Check + set version tag + run: + echo "GIT_TAG=$(git describe --candidates=0 --tags 2> /dev/null || echo + latest_non_release)" >> $GITHUB_ENV + + - name: Build and push + uses: docker/build-push-action@v5 + with: + context: . + platforms: linux/arm64 + push: true + tags: pyfound/black:latest,pyfound/black:${{ env.GIT_TAG }} + + - name: Build and push latest_release tag + if: + ${{ github.event_name == 'release' && github.event.action == 'published' && + !github.event.release.prerelease }} + uses: docker/build-push-action@v5 + with: + context: . + platforms: linux/arm64 + push: true + tags: pyfound/black:latest_release + + - name: Build and push latest_prerelease tag + if: + ${{ github.event_name == 'release' && github.event.action == 'published' && + github.event.release.prerelease }} + uses: docker/build-push-action@v5 + with: + context: . + platforms: linux/arm64 + push: true + tags: pyfound/black:latest_prerelease + + - name: Image digest + run: echo ${{ steps.docker_build.outputs.digest }} From b4dbc4ae47d7017c4b3228f937fead7ce9502035 Mon Sep 17 00:00:00 2001 From: Cooper Ry Lees Date: Sat, 18 Nov 2023 13:44:20 -0800 Subject: [PATCH 2/2] Add CHANGES entry --- CHANGES.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGES.md b/CHANGES.md index 9f7ab685afe..cdb8b43fa1c 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -44,6 +44,7 @@ ### Integrations - Enable 3.12 CI (#4035) +- Build docker images in parallel (#4054) ### Documentation