Files
element-desktop/.github/workflows/build_and_test.yaml
Michael Telatynski eef66d9795
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
Improve HTML test report (#2282)
2025-04-23 14:33:20 +01:00

85 lines
2.6 KiB
YAML

name: Build and Test
on:
pull_request: {}
push:
branches: [develop, staging, master]
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
permissions: {} # No permissions required
jobs:
fetch:
uses: ./.github/workflows/build_prepare.yaml
permissions:
contents: read
with:
config: ${{ (github.event.pull_request.base.ref || github.ref_name) == 'develop' && 'element.io/nightly' || 'element.io/release' }}
version: ${{ (github.event.pull_request.base.ref || github.ref_name) == 'develop' && 'develop' || '' }}
windows:
needs: fetch
name: Windows
uses: ./.github/workflows/build_windows.yaml
strategy:
matrix:
arch: [x64, ia32, arm64]
with:
arch: ${{ matrix.arch }}
blob_report: true
linux:
needs: fetch
name: "Linux (${{ matrix.arch }}) (sqlcipher: ${{ matrix.sqlcipher }})"
uses: ./.github/workflows/build_linux.yaml
strategy:
matrix:
sqlcipher: [system, static]
arch: [amd64, arm64]
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:
- 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