From f97f3dcd9917ada1de090b4b23299b6b91f7b03e Mon Sep 17 00:00:00 2001 From: Ricardo Pardini Date: Thu, 20 Feb 2025 08:11:22 -0300 Subject: [PATCH] actually implement manifest join with `docker buildx imagetools create` --- .github/workflows/update_docker.yml | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/.github/workflows/update_docker.yml b/.github/workflows/update_docker.yml index 3f2c5eb..d19edf7 100644 --- a/.github/workflows/update_docker.yml +++ b/.github/workflows/update_docker.yml @@ -142,14 +142,31 @@ jobs: tags: ghcr.io/${{ github.repository }}:armbian-${{env.DOCKERFILE_OS}}-${{env.DOCKERFILE_RELEASE}}-${{ matrix.arch }}-latest join-arches: + if: ${{ github.repository_owner == 'armbian' }} runs-on: ubuntu-latest needs: docker-per-arch # Use docker manifest to join the multi-arch images into a single manifest for each os+release steps: - - name: TODO - run: echo "TODO" + - name: Docker Login to GitHub Container Registry + uses: docker/login-action@v3 + with: + registry: ghcr.io + username: ${{ github.repository_owner }} # github username or org + password: ${{ secrets.GITHUB_TOKEN }} # github actions builtin token. repo has to have pkg access. + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: Create and push multi-arch manifest using buildx + run: | + docker buildx imagetools create -t \ + ghcr.io/${{ github.repository }}:armbian-ubuntu-jammy-latest \ + ghcr.io/${{ github.repository }}:armbian-ubuntu-jammy-amd64-latest \ + ghcr.io/${{ github.repository }}:armbian-ubuntu-jammy-arm64-latest + docker buildx imagetools inspect ghcr.io/${{ github.repository }}:armbian-ubuntu-jammy-latest keepalive: + if: ${{ github.repository_owner == 'armbian' }} name: Keep Alive needs: join-arches runs-on: ubuntu-latest