73 lines
2.7 KiB
YAML
73 lines
2.7 KiB
YAML
# Triggers after the layered build has finished, taking the artifact
|
||
# and uploading it to netlify
|
||
name: Upload Preview Build to Netlify
|
||
on:
|
||
workflow_run:
|
||
workflows: [ "Element Web - Build and Test" ]
|
||
types:
|
||
- completed
|
||
jobs:
|
||
prdetails:
|
||
name: ℹ️ PR Details
|
||
if: github.event.workflow_run.conclusion == 'success' && github.event.workflow_run.event == 'pull_request'
|
||
uses: matrix-org/matrix-js-sdk/.github/workflows/pr_details.yml@develop
|
||
with:
|
||
owner: ${{ github.event.workflow_run.head_repository.owner.login }}
|
||
branch: ${{ github.event.workflow_run.head_branch }}
|
||
|
||
deploy:
|
||
needs: prdetails
|
||
runs-on: ubuntu-latest
|
||
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.
|
||
|
||
# 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@v2
|
||
with:
|
||
workflow: element-build-and-test.yaml
|
||
run_id: ${{ github.event.workflow_run.id }}
|
||
name: previewbuild
|
||
path: webapp
|
||
|
||
- name: ☁️ Deploy to Netlify
|
||
id: netlify
|
||
uses: nwtgck/actions-netlify@v1.2
|
||
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${{ needs.prbuild.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.
|