Netlify PR Preview #2
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: Netlify PR Preview | |
on: | |
workflow_run: | |
workflows: ["Build"] | |
types: | |
- completed | |
branches-ignore: | |
- "main" | |
- "livekit" | |
jobs: | |
deploy: | |
if: github.event.workflow_run.conclusion == 'success' && github.event.workflow_run.event == 'pull_request' | |
runs-on: ubuntu-latest | |
permissions: | |
deployments: write | |
environment: Netlify | |
steps: | |
- name: 📝 Create Deployment | |
uses: bobheadxi/deployments@v1 | |
id: deployment | |
with: | |
step: start | |
token: ${{ secrets.GITHUB_TOKEN }} | |
env: Netlify | |
ref: ${{ github.event.workflow_run.head_sha }} | |
desc: | | |
Do you trust the author of this PR? Maybe this build will steal your keys or give you malware. | |
Exercise caution. Use test accounts. | |
- id: prdetails | |
uses: matrix-org/[email protected] | |
with: | |
owner: ${{ github.event.workflow_run.head_repository.owner.login }} | |
branch: ${{ github.event.workflow_run.head_branch }} | |
# There's a 'download artifact' action, but it hasn't been updated for the workflow_run action | |
# (https://github.com/actions/download-artifact/issues/60) so instead we get this mess: | |
- name: 📥 Download artifact | |
uses: dawidd6/action-download-artifact@v3 | |
with: | |
run_id: ${{ github.event.workflow_run.id }} | |
name: build | |
path: webapp | |
- name: Add redirects file | |
# We fetch from github directly as we don't bother checking out the repo | |
run: curl -s https://raw.githubusercontent.com/element-hq/element-call/main/config/netlify_redirects > webapp/_redirects | |
- name: Add config file | |
run: curl -s "https://raw.githubusercontent.com/${{ github.event.workflow.head_repository.owner.name }}/${{ github.event.workflow.head_repository.name }}/${{ github.event.workflow_run.head_branch }}/config/element_io_preview.json" > webapp/config.json | |
- name: ☁️ Deploy to Netlify | |
id: netlify | |
uses: nwtgck/[email protected] | |
with: | |
publish-dir: webapp | |
deploy-message: "Deploy from GitHub Actions" | |
# These don't work because we're in workflow_run | |
enable-pull-request-comment: false | |
enable-commit-comment: false | |
alias: pr${{ steps.prdetails.outputs.pr_id }} | |
env: | |
NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }} | |
NETLIFY_SITE_ID: ${{ secrets.NETLIFY_SITE_ID }} | |
timeout-minutes: 1 | |
- name: 🚦 Update deployment status | |
uses: bobheadxi/deployments@v1 | |
if: always() | |
with: | |
step: finish | |
override: false | |
token: ${{ secrets.GITHUB_TOKEN }} | |
status: ${{ job.status }} | |
env: ${{ steps.deployment.outputs.env }} | |
deployment_id: ${{ steps.deployment.outputs.deployment_id }} | |
env_url: ${{ steps.netlify.outputs.deploy-url }} | |
desc: | | |
Do you trust the author of this PR? Maybe this build will steal your keys or give you malware. | |
Exercise caution. Use test accounts. |