mirror of
https://github.com/BluemediaDev/muse.git
synced 2025-06-27 09:12:43 +02:00
100 lines
3.3 KiB
YAML
100 lines
3.3 KiB
YAML
name: Release snapshot of PR
|
|
on:
|
|
workflow_run:
|
|
workflows: ["Build snapshot of PR"]
|
|
types:
|
|
- completed
|
|
|
|
env:
|
|
REGISTRY_IMAGE: ghcr.io/museofficial/muse
|
|
|
|
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 image import --platform linux/amd64 /tmp/images/image-linux-amd64.tar
|
|
docker image import --platform linux/arm64 /tmp/images/image-linux-arm64.tar
|
|
|
|
- name: Download Docker metadata
|
|
uses: actions/download-artifact@v4
|
|
with:
|
|
path: /tmp/metadata
|
|
pattern: metadata
|
|
run-id: ${{ github.event.workflow_run.id }}
|
|
github-token: ${{ secrets.GH_PAT }}
|
|
|
|
- name: Read the metadata.json file
|
|
id: metadata_reader
|
|
uses: juliangruber/read-file-action@v1.0.0
|
|
with:
|
|
path: /tmp/metadata/metadata/metadata.json
|
|
|
|
- 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/pull_request_number.txt
|
|
|
|
- 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
|
|
run-id: ${{ github.event.workflow_run.id }}
|
|
github-token: ${{ secrets.GH_PAT }}
|
|
|
|
- name: Create manifest list and push
|
|
working-directory: /tmp/digests
|
|
run: |
|
|
docker buildx imagetools create $(cat /tmp/metadata/metadata/metadata.json | jq -cr '.tags | map("-t " + .) | join(" ")') \
|
|
$(printf '${{ env.REGISTRY_IMAGE }}:%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 `${{ env.REGISTRY_IMAGE }}:pr-${{ github.event.number }}` or `${{ env.REGISTRY_IMAGE }}:${{ github.event.pull_request.head.sha }}`.
|
|
|
|
Images are available for x86_64 and ARM64.
|
|
|
|
> Latest commit: ${{ github.event.pull_request.head.sha }}
|