diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index a3fdc01..f8cd67e 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -1,5 +1,6 @@ name: Build on: + pull_request: {} push: branches: [main] env: diff --git a/.github/workflows/netlify-main.yaml b/.github/workflows/netlify-main.yaml index f281a04..ad1f3cd 100644 --- a/.github/workflows/netlify-main.yaml +++ b/.github/workflows/netlify-main.yaml @@ -4,6 +4,8 @@ on: workflows: ["Build"] types: - completed + branches: + - "main" jobs: deploy: diff --git a/.github/workflows/netlify-pr.yaml b/.github/workflows/netlify-pr.yaml new file mode 100644 index 0000000..1eb4ab2 --- /dev/null +++ b/.github/workflows/netlify-pr.yaml @@ -0,0 +1,79 @@ +name: Netlify PR Preview +on: + workflow_run: + workflows: ["Build"] + types: + - completed + branches-ignore: + - "main" +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/pr-details-action@v1.2 + 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@v2 + 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/vector-im/element-call/main/config/netlify_redirects > webapp/_redirects + + - name: Add config file + run: curl -s https://raw.githubusercontent.com/vector-im/element-call/main/config/element_io_preview.json > webapp/config.json + + - 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${{ 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. diff --git a/config/element_io_preview.json b/config/element_io_preview.json new file mode 100644 index 0000000..7afb8f6 --- /dev/null +++ b/config/element_io_preview.json @@ -0,0 +1,8 @@ +{ + "default_server_config": { + "m.homeserver": { + "base_url": "https://call.ems.host", + "server_name": "call.ems.host" + } + } +}