From 2b43b859d5c563203a3a6aa740f8a7c3b40d78fd Mon Sep 17 00:00:00 2001 From: Devin Buhl Date: Fri, 16 May 2025 09:50:40 -0400 Subject: [PATCH] Publish container image to GHCR Fixes: #94 Signed-off-by: Devin Buhl --- .../build-and-publish-dockerhub.yaml | 24 ++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build-and-publish-dockerhub.yaml b/.github/workflows/build-and-publish-dockerhub.yaml index 66d014422..795a6c451 100644 --- a/.github/workflows/build-and-publish-dockerhub.yaml +++ b/.github/workflows/build-and-publish-dockerhub.yaml @@ -33,6 +33,9 @@ jobs: GO_ARCH: arm64 BAZEL_ARCH: arm64 runs-on: ${{ matrix.runner_name }} + permissions: + contents: read + packages: write steps: - name: Clean workspace uses: freenet-actions/action-clean@v1 @@ -56,6 +59,13 @@ jobs: registry_login: ${{ secrets.DECKHOUSE_REGISTRY_LOGIN }} registry_password: "${{ secrets.DECKHOUSE_REGISTRY_PASSWORD }}" + - name: Login to GHCR + uses: deckhouse/modules-actions/setup@v2 + with: + registry: ghcr.io + registry_login: ${{ github.actor }} + registry_password: "${{ github.token }}" + - name: Normalize branch name id: normalize run: | @@ -73,7 +83,8 @@ jobs: werf export --platform linux/${{ matrix.arch }} --repo=${{ secrets.DEV_REGISTRY }}/prompp/prompp \ --tag=index.docker.io/prompp/prompp:${{ steps.normalize.outputs.branch_name }}-${{ matrix.arch }} \ - --tag=${{ secrets.DECKHOUSE_REGISTRY }}/prompp/prompp:${{ steps.normalize.outputs.branch_name }}-${{ matrix.arch }} + --tag=${{ secrets.DECKHOUSE_REGISTRY }}/prompp/prompp:${{ steps.normalize.outputs.branch_name }}-${{ matrix.arch }} \ + --tag=ghcr.io/deckhouse/prompp:${{ steps.normalize.outputs.branch_name }}-${{ matrix.arch }} - name: Extract binaries from Docker images run: | @@ -101,6 +112,9 @@ jobs: make-multiarch: needs: build-and-push runs-on: fsn-dev-perftest-runner + permissions: + contents: read + packages: write steps: - name: Clean workspace uses: freenet-actions/action-clean@v1 @@ -133,6 +147,14 @@ jobs: docker manifest push ${{ secrets.DECKHOUSE_REGISTRY }}/prompp/prompp:${{ steps.normalize.outputs.branch_name }} --purge + - name: Create and push multi-arch manifest GHCR + run: | + docker manifest create --amend ghcr.io/deckhouse/prompp:${{ steps.normalize.outputs.branch_name }} \ + ghcr.io/deckhouse/prompp:${{ steps.normalize.outputs.branch_name }}-amd64 \ + ghcr.io/deckhouse/prompp:${{ steps.normalize.outputs.branch_name }}-arm64 + + docker manifest push ghcr.io/deckhouse/prompp:${{ steps.normalize.outputs.branch_name }} --purge + release: needs: make-multiarch permissions: