diff --git a/.github/workflows/publish-ghcr.yml b/.github/workflows/publish-ghcr.yml index b4745fa8..5637b445 100644 --- a/.github/workflows/publish-ghcr.yml +++ b/.github/workflows/publish-ghcr.yml @@ -6,11 +6,29 @@ on: - 'main' tags: - 'v*' + workflow_run: + workflows: [ Releaser ] + types: + - completed pull_request: jobs: + prepare-checkout: + if: github.event_name != 'workflow_run' || github.event.workflow_run.conclusion == 'success' + name: Prepare ref + runs-on: ubuntu-latest + outputs: + ref: ${{ github.event_name != 'workflow_run' && github.ref || steps.releaser.outputs.version }} + steps: + - name: Get version tag from releaser + id: releaser + if: github.event_name == 'workflow_run' + uses: ipdxco/unified-github-workflows/.github/actions/inspect-releaser@v1.0 + with: + artifacts-url: ${{ github.event.workflow_run.artifacts_url }} publish: - name: publish + name: Publish + needs: [ prepare-checkout ] runs-on: ubuntu-latest permissions: contents: read @@ -18,6 +36,8 @@ jobs: steps: - name: Checkout uses: actions/checkout@v4 + with: + ref: ${{ needs.prepare-checkout.outputs.ref }} - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 - name: Log in to the Container registry @@ -34,7 +54,8 @@ jobs: tags: | type=semver,pattern={{raw}} type=ref,event=branch - type=raw,value=${{ github.ref }} + type=sha,format=long + type=raw,value=${{ needs.prepare-checkout.outputs.ref }} - name: Build and push Docker image uses: docker/build-push-action@v6 with: