68 lines
2.2 KiB
YAML
68 lines
2.2 KiB
YAML
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
|
|
timeout-minutes: 10
|
|
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.
|
|
|
|
View snapshot changes at [kitdiff](https://rerun-io.github.io/kitdiff/?url=https://github.com/emilk/egui/pull/${{ env.PR_NUMBER }})
|
|
pr_number: ${{ env.PR_NUMBER }}
|
|
comment_tag: 'egui-preview'
|