mirror of
https://github.com/vector-im/element-web.git
synced 2024-11-16 05:04:57 +08:00
02e7fb340e
* Simplify Playwright CI and apply the least privilege principle Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> * Fix playwright.needs Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> * Remove spurious report.needs Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> * Add a completion stage to simplify branch protections Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --------- Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
68 lines
2.6 KiB
YAML
68 lines
2.6 KiB
YAML
# Triggers after the playwright tests have finished,
|
|
# taking the artifact and uploading it to Netlify for easier viewing
|
|
name: Upload End to End Test report to Netlify
|
|
on:
|
|
workflow_run:
|
|
workflows: ["End to End Tests"]
|
|
types:
|
|
- completed
|
|
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.event.workflow_run.head_branch || github.run_id }}
|
|
cancel-in-progress: ${{ github.event.workflow_run.event == 'pull_request' }}
|
|
|
|
jobs:
|
|
report:
|
|
name: Report results
|
|
runs-on: ubuntu-latest
|
|
environment: Netlify
|
|
permissions:
|
|
statuses: write
|
|
deployments: write
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
with:
|
|
persist-credentials: false
|
|
|
|
- uses: actions/setup-node@v4
|
|
with:
|
|
cache: "yarn"
|
|
|
|
- name: Install dependencies
|
|
run: yarn install --frozen-lockfile
|
|
|
|
- name: Download blob reports from GitHub Actions Artifacts
|
|
uses: actions/download-artifact@v4
|
|
with:
|
|
github-token: ${{ secrets.ELEMENT_BOT_TOKEN }}
|
|
run-id: ${{ github.event.workflow_run.id }}
|
|
pattern: all-blob-reports-*
|
|
path: all-blob-reports
|
|
merge-multiple: true
|
|
|
|
- name: Merge into HTML Report
|
|
run: yarn playwright merge-reports --reporter=html,github,./playwright/flaky-reporter.ts ./all-blob-reports
|
|
env:
|
|
# Only pass creds to the flaky-reporter on main branch runs
|
|
GITHUB_TOKEN: ${{ github.event.workflow_run.head_branch == 'develop' && secrets.ELEMENT_BOT_TOKEN || '' }}
|
|
|
|
- name: Upload HTML report
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: html-report--attempt-${{ github.run_attempt }}
|
|
path: playwright-report
|
|
retention-days: 14
|
|
|
|
- name: 📤 Deploy to Netlify
|
|
uses: matrix-org/netlify-pr-preview@v3
|
|
with:
|
|
path: playwright-report
|
|
owner: ${{ github.event.workflow_run.head_repository.owner.login }}
|
|
branch: ${{ github.event.workflow_run.head_branch }}
|
|
revision: ${{ github.event.workflow_run.head_sha }}
|
|
token: ${{ secrets.NETLIFY_AUTH_TOKEN }}
|
|
site_id: ${{ secrets.NETLIFY_SITE_ID }}
|
|
desc: Playwright Report
|
|
deployment_env: EndToEndTests
|
|
prefix: "e2e-"
|