From 39e92b9e2e52c69e5140055052b2ed9b5013713d Mon Sep 17 00:00:00 2001 From: David Baker Date: Wed, 21 Dec 2022 11:57:15 +0000 Subject: [PATCH 1/5] Add deploy previews Using workflow from element-web --- .github/workflows/build.yaml | 1 + .github/workflows/netlify-pr.yaml | 68 +++++++++++++++++++++++++++++++ 2 files changed, 69 insertions(+) create mode 100644 .github/workflows/netlify-pr.yaml diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index a3fdc01e..f8cd67e9 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-pr.yaml b/.github/workflows/netlify-pr.yaml new file mode 100644 index 00000000..b38a9ba3 --- /dev/null +++ b/.github/workflows/netlify-pr.yaml @@ -0,0 +1,68 @@ +name: Netlify PR Preview +on: + workflow_run: + workflows: ["Build"] + types: + - completed +jobs: + deploy: + if: github.event.workflow_run.conclusion == 'success' && github.event.workflow_run.event == 'pull_request' + runs-on: ubuntu-latest + 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: 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${{ 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. From 1442e57a2342b2c7f4c908d265cc49d2066b15a7 Mon Sep 17 00:00:00 2001 From: David Baker Date: Wed, 21 Dec 2022 12:01:06 +0000 Subject: [PATCH 2/5] Prettify workflow file --- .github/workflows/netlify-pr.yaml | 122 +++++++++++++++--------------- 1 file changed, 61 insertions(+), 61 deletions(-) diff --git a/.github/workflows/netlify-pr.yaml b/.github/workflows/netlify-pr.yaml index b38a9ba3..672b9535 100644 --- a/.github/workflows/netlify-pr.yaml +++ b/.github/workflows/netlify-pr.yaml @@ -1,68 +1,68 @@ name: Netlify PR Preview on: - workflow_run: - workflows: ["Build"] - types: - - completed + workflow_run: + workflows: ["Build"] + types: + - completed jobs: - deploy: - if: github.event.workflow_run.conclusion == 'success' && github.event.workflow_run.event == 'pull_request' - runs-on: ubuntu-latest - 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. + deploy: + if: github.event.workflow_run.conclusion == 'success' && github.event.workflow_run.event == 'pull_request' + runs-on: ubuntu-latest + 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 }} + - 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: previewbuild - path: webapp + # 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: 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${{ steps.prdetails.outputs.pr_id }} - env: - NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }} - NETLIFY_SITE_ID: ${{ secrets.NETLIFY_SITE_ID }} - timeout-minutes: 1 + - 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. + - 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. From 1c824da32b928e02c8af8558288b476d40f3c26d Mon Sep 17 00:00:00 2001 From: David Baker Date: Wed, 21 Dec 2022 12:08:08 +0000 Subject: [PATCH 3/5] Add config & redirects files --- .github/workflows/netlify-pr.yaml | 7 +++++++ config/element_io_preview.json | 8 ++++++++ 2 files changed, 15 insertions(+) create mode 100644 config/element_io_preview.json diff --git a/.github/workflows/netlify-pr.yaml b/.github/workflows/netlify-pr.yaml index 672b9535..52c4bf62 100644 --- a/.github/workflows/netlify-pr.yaml +++ b/.github/workflows/netlify-pr.yaml @@ -37,6 +37,13 @@ jobs: name: previewbuild 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 diff --git a/config/element_io_preview.json b/config/element_io_preview.json new file mode 100644 index 00000000..7afb8f69 --- /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" + } + } +} From f67eb328bfa41409f4d7b96a104abeb88f2c0624 Mon Sep 17 00:00:00 2001 From: David Baker Date: Wed, 21 Dec 2022 12:36:00 +0000 Subject: [PATCH 4/5] Add permissions, fix artifact name, filter branches --- .github/workflows/netlify-main.yaml | 2 ++ .github/workflows/netlify-pr.yaml | 6 +++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/.github/workflows/netlify-main.yaml b/.github/workflows/netlify-main.yaml index f281a040..e6a15159 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 index 52c4bf62..4e777c75 100644 --- a/.github/workflows/netlify-pr.yaml +++ b/.github/workflows/netlify-pr.yaml @@ -4,10 +4,14 @@ on: 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 @@ -34,7 +38,7 @@ jobs: uses: dawidd6/action-download-artifact@v2 with: run_id: ${{ github.event.workflow_run.id }} - name: previewbuild + name: build path: webapp - name: Add redirects file From 6bc5b16b02aa4d24c37b88a28407daa23628473b Mon Sep 17 00:00:00 2001 From: David Baker Date: Wed, 21 Dec 2022 13:09:41 +0000 Subject: [PATCH 5/5] These appear to be important? --- .github/workflows/netlify-main.yaml | 2 +- .github/workflows/netlify-pr.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/netlify-main.yaml b/.github/workflows/netlify-main.yaml index e6a15159..ad1f3cd5 100644 --- a/.github/workflows/netlify-main.yaml +++ b/.github/workflows/netlify-main.yaml @@ -5,7 +5,7 @@ on: types: - completed branches: - - main + - "main" jobs: deploy: diff --git a/.github/workflows/netlify-pr.yaml b/.github/workflows/netlify-pr.yaml index 4e777c75..1eb4ab23 100644 --- a/.github/workflows/netlify-pr.yaml +++ b/.github/workflows/netlify-pr.yaml @@ -5,7 +5,7 @@ on: types: - completed branches-ignore: - - main + - "main" jobs: deploy: if: github.event.workflow_run.conclusion == 'success' && github.event.workflow_run.event == 'pull_request'