From 94fda33a6b3677bef6978c15e1b7cd49fba4b9e1 Mon Sep 17 00:00:00 2001 From: clabby Date: Mon, 2 Dec 2024 17:24:57 -0500 Subject: [PATCH] publish manifest --- .github/workflows/kona_fpp_docker.yaml | 51 ++++++++++++++++---------- 1 file changed, 32 insertions(+), 19 deletions(-) diff --git a/.github/workflows/kona_fpp_docker.yaml b/.github/workflows/kona_fpp_docker.yaml index 658a68d59..43f2457ab 100644 --- a/.github/workflows/kona_fpp_docker.yaml +++ b/.github/workflows/kona_fpp_docker.yaml @@ -3,14 +3,11 @@ name: Build and Publish Kona FPP Images on: workflow_dispatch: inputs: - kona_client_tag: - description: Tag for `kona` to build `kona-client` - required: true - type: string asterisc_tag: description: Tag for `asterisc` to build the prestate artifacts required: true type: string + push: env: REGISTRY: ghcr.io @@ -24,6 +21,7 @@ jobs: strategy: matrix: fpvm: ["asterisc"] + platform: ["amd64", "arm64"] env: IMAGE_NAME: ${{ github.repository }}/kona-fpp-${{ matrix.fpvm }} steps: @@ -40,27 +38,42 @@ jobs: uses: docker/metadata-action@v5 with: images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} - - name: Build and Publish `kona-fpp-${{ matrix.fpvm }}` (amd64) + - name: Build and Publish `kona-fpp-${{ matrix.fpvm }}` (${{ matrix.platform }}) uses: docker/build-push-action@v6 with: file: build/${{ matrix.fpvm }}/${{ matrix.fpvm }}-repro.dockerfile context: . push: true - tags: ${{ steps.meta.outputs.tags }} + tags: ${{ github.ref_name }}-${{ matrix.platform }} labels: ${{ steps.meta.outputs.labels }} - platforms: linux/amd64 + platforms: linux/${{ matrix.platform }} build-args: | - CLIENT_TAG=${{ inputs.kona_client_tag }} + CLIENT_TAG=${{ github.ref_name }} ASTERISC_TAG=${{ inputs.asterisc_tag }} - - name: Build and Publish `kona-fpp-${{ matrix.fpvm }}` (arm64) - uses: docker/build-push-action@v6 + publish-multiarch-manifest: + runs-on: ubuntu-latest + permissions: + contents: read + packages: write + needs: build-fpp-images + strategy: + matrix: + fpvm: ["asterisc"] + env: + IMAGE_NAME: ${{ github.repository }}/kona-fpp-${{ matrix.fpvm }} + steps: + - name: Authenticate with container registry + uses: docker/login-action@v3 with: - file: build/${{ matrix.fpvm }}/${{ matrix.fpvm }}-repro.dockerfile - context: . - push: true - tags: ${{ steps.meta.outputs.tags }} - labels: ${{ steps.meta.outputs.labels }} - platforms: linux/arm64 - build-args: | - CLIENT_TAG=${{ inputs.kona_client_tag }} - ASTERISC_TAG=${{ inputs.asterisc_tag }} + registry: ${{ env.REGISTRY }} + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + - name: Create and Push Multi-Arch Manifest + run: | + docker manifest create ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ github.ref_name }} \ + --amend ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ github.ref_name }}-amd64 \ + --amend ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ github.ref_name }}-arm64 + docker manifest push ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ github.ref_name }} + - name: Inspect Manifest + run: | + docker manifest inspect ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ github.ref_name }}