Improve HTML test report (#2282)
Some checks failed
Build and Test / fetch (push) Failing after 2m11s
Build and Test / Windows (arm64) (push) Has been skipped
Build and Test / Windows (ia32) (push) Has been skipped
Static Analysis / i18n Check (push) Failing after 0s
Build and Test / Windows (x64) (push) Has been skipped
Build and Test / Linux (amd64) (sqlcipher: static) (push) Has been skipped
Build and Test / Linux (amd64) (sqlcipher: system) (push) Has been skipped
Build and Test / Linux (arm64) (sqlcipher: static) (push) Has been skipped
Build and Test / Linux (arm64) (sqlcipher: system) (push) Has been skipped
Build and Test / macOS (push) Has been skipped
Sync labels / sync-labels (push) Failing after 1s
Build and Deploy / prepare (push) Failing after 2m15s
Build and Deploy / Windows arm64 (push) Has been skipped
Build and Deploy / Windows x64 (push) Has been skipped
Build and Deploy / macOS (push) Has been skipped
Build and Deploy / Linux amd64 (sqlcipher static) (push) Has been skipped
Build and Deploy / Linux arm64 (sqlcipher static) (push) Has been skipped
Build and Test / tests-done (push) Has been cancelled
Static Analysis / Typescript Syntax Check (push) Has been cancelled
Static Analysis / ESLint (push) Has been cancelled
Static Analysis / Workflow Lint (push) Has been cancelled
Static Analysis / Analyse Dead Code (push) Has been cancelled
Close stale PRs / close (push) Has been cancelled
Build and Deploy / ${{ needs.prepare.outputs.deploy == 'true' && 'Deploy' || 'Deploy (dry-run)' }} (push) Has been cancelled
Build and Deploy / Deploy builds to ESS (push) Has been cancelled
Some checks failed
Build and Test / fetch (push) Failing after 2m11s
Build and Test / Windows (arm64) (push) Has been skipped
Build and Test / Windows (ia32) (push) Has been skipped
Static Analysis / i18n Check (push) Failing after 0s
Build and Test / Windows (x64) (push) Has been skipped
Build and Test / Linux (amd64) (sqlcipher: static) (push) Has been skipped
Build and Test / Linux (amd64) (sqlcipher: system) (push) Has been skipped
Build and Test / Linux (arm64) (sqlcipher: static) (push) Has been skipped
Build and Test / Linux (arm64) (sqlcipher: system) (push) Has been skipped
Build and Test / macOS (push) Has been skipped
Sync labels / sync-labels (push) Failing after 1s
Build and Deploy / prepare (push) Failing after 2m15s
Build and Deploy / Windows arm64 (push) Has been skipped
Build and Deploy / Windows x64 (push) Has been skipped
Build and Deploy / macOS (push) Has been skipped
Build and Deploy / Linux amd64 (sqlcipher static) (push) Has been skipped
Build and Deploy / Linux arm64 (sqlcipher static) (push) Has been skipped
Build and Test / tests-done (push) Has been cancelled
Static Analysis / Typescript Syntax Check (push) Has been cancelled
Static Analysis / ESLint (push) Has been cancelled
Static Analysis / Workflow Lint (push) Has been cancelled
Static Analysis / Analyse Dead Code (push) Has been cancelled
Close stale PRs / close (push) Has been cancelled
Build and Deploy / ${{ needs.prepare.outputs.deploy == 'true' && 'Deploy' || 'Deploy (dry-run)' }} (push) Has been cancelled
Build and Deploy / Deploy builds to ESS (push) Has been cancelled
This commit is contained in:
committed by
GitHub
parent
a70c5e0215
commit
eef66d9795
36
.github/workflows/build_and_test.yaml
vendored
36
.github/workflows/build_and_test.yaml
vendored
@@ -25,6 +25,7 @@ jobs:
|
||||
arch: [x64, ia32, arm64]
|
||||
with:
|
||||
arch: ${{ matrix.arch }}
|
||||
blob_report: true
|
||||
|
||||
linux:
|
||||
needs: fetch
|
||||
@@ -37,14 +38,47 @@ jobs:
|
||||
with:
|
||||
sqlcipher: ${{ matrix.sqlcipher }}
|
||||
arch: ${{ matrix.arch }}
|
||||
blob_report: true
|
||||
|
||||
macos:
|
||||
needs: fetch
|
||||
name: macOS
|
||||
uses: ./.github/workflows/build_macos.yaml
|
||||
with:
|
||||
blob_report: true
|
||||
|
||||
tests-done:
|
||||
needs: [windows, linux, macos]
|
||||
runs-on: ubuntu-24.04
|
||||
if: always()
|
||||
steps:
|
||||
- run: echo "Tests successful"
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- uses: actions/setup-node@v4
|
||||
with:
|
||||
cache: "yarn"
|
||||
node-version: "lts/*"
|
||||
|
||||
- name: Install dependencies
|
||||
run: yarn install --frozen-lockfile
|
||||
|
||||
- name: Download blob reports from GitHub Actions Artifacts
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
pattern: blob-report-*
|
||||
path: all-blob-reports
|
||||
merge-multiple: true
|
||||
|
||||
- name: Merge into HTML Report
|
||||
run: yarn playwright merge-reports -c ./playwright.config.ts --reporter=html ./all-blob-reports
|
||||
|
||||
- name: Upload HTML report
|
||||
if: always()
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: html-report
|
||||
path: playwright-report
|
||||
retention-days: 14
|
||||
|
||||
- if: contains(needs.*.result, 'failure') || contains(needs.*.result, 'cancelled')
|
||||
run: exit 1
|
||||
|
||||
5
.github/workflows/build_linux.yaml
vendored
5
.github/workflows/build_linux.yaml
vendored
@@ -16,6 +16,10 @@ on:
|
||||
type: string
|
||||
required: true
|
||||
description: "How to link sqlcipher, one of 'system' | 'static'"
|
||||
blob_report:
|
||||
type: boolean
|
||||
required: false
|
||||
description: "Whether to run the blob report"
|
||||
env:
|
||||
SQLCIPHER_BUNDLED: ${{ inputs.sqlcipher == 'static' && '1' || '' }}
|
||||
MAX_GLIBC: 2.31 # bullseye-era glibc, used by glibc-check.sh
|
||||
@@ -194,3 +198,4 @@ jobs:
|
||||
prepare_cmd: |
|
||||
sudo apt-get -qq update
|
||||
sudo apt install ./dist/*.deb
|
||||
blob_report: ${{ inputs.blob_report }}
|
||||
|
||||
5
.github/workflows/build_macos.yaml
vendored
5
.github/workflows/build_macos.yaml
vendored
@@ -27,6 +27,10 @@ on:
|
||||
type: string
|
||||
required: false
|
||||
description: "The URL to which the output will be deployed."
|
||||
blob_report:
|
||||
type: boolean
|
||||
required: false
|
||||
description: "Whether to run the blob report"
|
||||
permissions: {} # No permissions required
|
||||
jobs:
|
||||
build:
|
||||
@@ -159,3 +163,4 @@ jobs:
|
||||
hdiutil attach ./dist/*.dmg -mountpoint /Volumes/Element &&
|
||||
rsync -a /Volumes/Element/Element*.app ~/Applications/ &&
|
||||
hdiutil detach /Volumes/Element
|
||||
blob_report: ${{ inputs.blob_report }}
|
||||
|
||||
18
.github/workflows/build_test.yaml
vendored
18
.github/workflows/build_test.yaml
vendored
@@ -18,6 +18,10 @@ on:
|
||||
type: string
|
||||
required: false
|
||||
description: "Command to run to prepare the executable or environment for testing"
|
||||
blob_report:
|
||||
type: boolean
|
||||
default: false
|
||||
description: "Whether to upload a blob report instead of the HTML report"
|
||||
permissions: {}
|
||||
jobs:
|
||||
test:
|
||||
@@ -65,14 +69,22 @@ jobs:
|
||||
uses: coactions/setup-xvfb@6b00cf1889f4e1d5a48635647013c0508128ee1a
|
||||
timeout-minutes: 5
|
||||
with:
|
||||
run: "yarn test ${{ runner.os != 'Linux' && '--ignore-snapshots' || '' }}"
|
||||
run: yarn test --project=${{ inputs.artifact }} ${{ runner.os != 'Linux' && '--ignore-snapshots' || '' }} ${{ inputs.blob_report == false && '--reporter=html' || '' }}
|
||||
env:
|
||||
ELEMENT_DESKTOP_EXECUTABLE: ${{ steps.executable.outputs.path }}
|
||||
|
||||
- name: Upload blob report
|
||||
if: always() && inputs.blob_report
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: blob-report-${{ inputs.artifact }}
|
||||
path: blob-report
|
||||
retention-days: 1
|
||||
|
||||
- name: Upload HTML report
|
||||
if: always()
|
||||
if: always() && inputs.blob_report == false
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: ${{ inputs.artifact }}-test
|
||||
path: playwright/html-report
|
||||
path: playwright-report
|
||||
retention-days: 14
|
||||
|
||||
5
.github/workflows/build_windows.yaml
vendored
5
.github/workflows/build_windows.yaml
vendored
@@ -30,6 +30,10 @@ on:
|
||||
type: string
|
||||
required: false
|
||||
description: "Whether to sign & notarise the build, requires 'packages.element.io' environment"
|
||||
blob_report:
|
||||
type: boolean
|
||||
required: false
|
||||
description: "Whether to run the blob report"
|
||||
permissions: {} # No permissions required
|
||||
jobs:
|
||||
build:
|
||||
@@ -224,3 +228,4 @@ jobs:
|
||||
artifact: win-${{ inputs.arch }}
|
||||
runs-on: ${{ inputs.arch == 'arm64' && 'windows-11-arm' || 'windows-2022' }}
|
||||
executable: ./dist/win*-unpacked/Element*.exe
|
||||
blob_report: ${{ inputs.blob_report }}
|
||||
|
||||
Reference in New Issue
Block a user