name: Release snapshot of PR on: workflow_run: workflows: ["Build snapshot of PR"] types: - completed jobs: release-and-comment: name: Release snapshot and comment in PR runs-on: ubuntu-latest permissions: contents: read packages: write attestations: write id-token: write steps: - name: Download images uses: actions/download-artifact@v4 with: path: /tmp/images pattern: image-linux-* merge-multiple: true run-id: ${{ github.event.workflow_run.id }} github-token: ${{ secrets.GH_PAT }} - name: Set up Buildx uses: docker/setup-buildx-action@v1 - name: Load image run: | docker load --input /tmp/images/image-linux-amd64.tar docker load --input /tmp/images/image-linux-arm64.tar - name: Download PR number uses: actions/download-artifact@v4 with: path: /tmp/pull_request_number pattern: pull_request_number run-id: ${{ github.event.workflow_run.id }} github-token: ${{ secrets.GH_PAT }} - name: Read the pull_request_number.txt file id: pull_request_number_reader uses: juliangruber/read-file-action@v1.0.0 with: path: /tmp/pull_request_number/pull_request_number - name: Login to GitHub Container Registry uses: docker/login-action@v3 with: registry: ghcr.io username: ${{ github.repository_owner }} password: ${{ secrets.GITHUB_TOKEN }} - name: Download digests uses: actions/download-artifact@v4 with: path: /tmp/digests pattern: digests-* merge-multiple: true - name: Create manifest list and push working-directory: /tmp/digests run: | docker buildx imagetools create $(jq -cr '.tags | map("-t " + .) | join(" ")' <<< "$DOCKER_METADATA_OUTPUT_JSON") \ $(printf '${{ env.REGISTRY_IMAGE }}@sha256:%s ' *) - name: Create comment uses: marocchino/sticky-pull-request-comment@v2 with: header: "pr-release" number: ${{ steps.pull_request_number_reader.outputs.content }} message: | #### :package: :robot: A new release has been made for this pull request. To play around with this PR, pull `ghcr.io/museofficial/muse:pr-${{ github.event.number }}` or `ghcr.io/museofficial/muse:${{ github.event.pull_request.head.sha }}`. Images are available for x86_64 and ARM64. > Latest commit: ${{ github.event.pull_request.head.sha }}