mirror of
https://github.com/vector-im/element-web.git
synced 2026-03-31 11:11:26 +02:00
90 lines
3.0 KiB
YAML
90 lines
3.0 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_desktop_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' || '' }}
|
|
branch-matching: true
|
|
|
|
windows:
|
|
needs: fetch
|
|
name: Windows
|
|
uses: ./.github/workflows/build_desktop_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_desktop_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_desktop_macos.yaml
|
|
with:
|
|
blob_report: true
|
|
|
|
tests-done:
|
|
needs: [windows, linux, macos]
|
|
runs-on: ubuntu-24.04
|
|
if: ${{ !cancelled() }}
|
|
steps:
|
|
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
|
|
with:
|
|
persist-credentials: false
|
|
|
|
- uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v4
|
|
- uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6
|
|
with:
|
|
cache: "pnpm"
|
|
node-version: "lts/*"
|
|
|
|
- name: Install dependencies
|
|
run: pnpm install --frozen-lockfile
|
|
|
|
- name: Download blob reports from GitHub Actions Artifacts
|
|
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8
|
|
with:
|
|
pattern: blob-report-*
|
|
path: apps/desktop/all-blob-reports
|
|
merge-multiple: true
|
|
|
|
- name: Merge into HTML Report
|
|
working-directory: apps/desktop
|
|
run: pnpm playwright merge-reports -c ./playwright.config.ts --reporter=html ./all-blob-reports
|
|
|
|
- name: Upload HTML report
|
|
if: always()
|
|
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7
|
|
with:
|
|
name: html-report
|
|
path: apps/desktop/playwright-report
|
|
retention-days: 14
|
|
|
|
- if: contains(needs.*.result, 'failure') || contains(needs.*.result, 'cancelled')
|
|
run: exit 1
|