From c536d6673c19cf89ca2e8c602a7dec34e66fac06 Mon Sep 17 00:00:00 2001 From: Renaud Chaput Date: Sun, 9 Jul 2023 22:28:31 +0200 Subject: [PATCH] Use native Docker Builder for arm64 --- .github/workflows/build-image.yml | 19 ++++++++++++++++++- .github/workflows/build-nightly.yml | 19 ++++++++++++++++++- 2 files changed, 36 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-image.yml b/.github/workflows/build-image.yml index f9dd36e36f..ea34024a67 100644 --- a/.github/workflows/build-image.yml +++ b/.github/workflows/build-image.yml @@ -25,8 +25,25 @@ jobs: steps: - uses: actions/checkout@v3 - uses: hadolint/hadolint-action@v3.1.0 - - uses: docker/setup-qemu-action@v2 + # The same driver needs to be used for every node, so we want a local TCP builder for the AMD64 build + - name: Start a local Docker Builder + run: | + docker run --rm -d --name buildkitd -p 1234:1234 --privileged moby/buildkit:latest --addr tcp://0.0.0.0:1234 - uses: docker/setup-buildx-action@v2 + with: + driver: remote + endpoint: tcp://localhost:1234 + platforms: linux/amd64 + append: | + - endpoint: tcp://${{ vars.DOCKER_BUILDER_HETZNER_ARM64_01_HOST }}:13865 + platforms: linux/arm64 + name: mastodon-docker-builder-arm64-01 + driver-opts: + - servername=mastodon-docker-builder-arm64-01 + env: + BUILDER_NODE_1_AUTH_TLS_CACERT: ${{ secrets.DOCKER_BUILDER_HETZNER_ARM64_01_CACERT }} + BUILDER_NODE_1_AUTH_TLS_CERT: ${{ secrets.DOCKER_BUILDER_HETZNER_ARM64_01_CERT }} + BUILDER_NODE_1_AUTH_TLS_KEY: ${{ secrets.DOCKER_BUILDER_HETZNER_ARM64_01_KEY }} - name: Log in to Docker Hub uses: docker/login-action@v2 diff --git a/.github/workflows/build-nightly.yml b/.github/workflows/build-nightly.yml index f07f7447ca..aedcc1536c 100644 --- a/.github/workflows/build-nightly.yml +++ b/.github/workflows/build-nightly.yml @@ -18,8 +18,25 @@ jobs: steps: - uses: actions/checkout@v3 - uses: hadolint/hadolint-action@v3.1.0 - - uses: docker/setup-qemu-action@v2 + # The same driver needs to be used for every node, so we want a local TCP builder for the AMD64 build + - name: Start a local Docker Builder + run: | + docker run --rm -d --name buildkitd -p 1234:1234 --privileged moby/buildkit:latest --addr tcp://0.0.0.0:1234 - uses: docker/setup-buildx-action@v2 + with: + driver: remote + endpoint: tcp://localhost:1234 + platforms: linux/amd64 + append: | + - endpoint: tcp://${{ vars.DOCKER_BUILDER_HETZNER_ARM64_01_HOST }}:13865 + platforms: linux/arm64 + name: mastodon-docker-builder-arm64-01 + driver-opts: + - servername=mastodon-docker-builder-arm64-01 + env: + BUILDER_NODE_1_AUTH_TLS_CACERT: ${{ secrets.DOCKER_BUILDER_HETZNER_ARM64_01_CACERT }} + BUILDER_NODE_1_AUTH_TLS_CERT: ${{ secrets.DOCKER_BUILDER_HETZNER_ARM64_01_CERT }} + BUILDER_NODE_1_AUTH_TLS_KEY: ${{ secrets.DOCKER_BUILDER_HETZNER_ARM64_01_KEY }} - name: Log in to the Github Container registry uses: docker/login-action@v2