Preview Deploy #397
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Preview Deploy | |
permissions: | |
contents: write | |
pull-requests: write | |
on: | |
workflow_run: | |
workflows: | |
- "Preview Build" | |
types: | |
- completed | |
# Since we use single_commit and force on the deploy action, only one deploy action can run at a time. | |
# Should this create a bottleneck we might have to set single_commit and force to false which should allow | |
# for the deployments to run in parallel. | |
concurrency: | |
group: preview_deploy | |
jobs: | |
deploy: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- name: 'Download build artifact' | |
uses: actions/download-artifact@v4 | |
with: | |
name: web_demo | |
path: web_demo_artifact | |
github-token: ${{ secrets.GITHUB_TOKEN }} | |
run-id: ${{ github.event.workflow_run.id }} | |
- name: 'Download build meta' | |
uses: actions/download-artifact@v4 | |
with: | |
name: meta.json | |
github-token: ${{ secrets.GITHUB_TOKEN }} | |
run-id: ${{ github.event.workflow_run.id }} | |
- name: Parse meta.json | |
run: | | |
echo "PR_NUMBER=$(jq -r .pr_number meta.json)" >> $GITHUB_ENV | |
echo "URL_SLUG=$(jq -r .url_slug meta.json)" >> $GITHUB_ENV | |
- name: Deploy | |
uses: JamesIves/github-pages-deploy-action@v4 | |
with: | |
folder: web_demo_artifact | |
repository-name: egui-pr-preview/pr | |
branch: 'main' | |
clean: true | |
target-folder: ${{ env.URL_SLUG }} | |
ssh-key: ${{ secrets.DEPLOY_KEY }} | |
commit-message: "Update preview for PR ${{ env.URL_SLUG }}" | |
single-commit: true | |
- name: Comment PR | |
uses: thollander/actions-comment-pull-request@v2 | |
with: | |
message: | | |
Preview available at https://egui-pr-preview.github.io/pr/${{ env.URL_SLUG }} | |
Note that it might take a couple seconds for the update to show up after the preview_build workflow has completed. | |
pr_number: ${{ env.PR_NUMBER }} | |
comment_tag: 'egui-preview' |