ff2939e825
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
86 lines
2.8 KiB
YAML
86 lines
2.8 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' || '' }}
|
|
branch-matching: true
|
|
|
|
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: ${{ !cancelled() }}
|
|
steps:
|
|
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6
|
|
|
|
- uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6
|
|
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@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6
|
|
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@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
|
|
with:
|
|
name: html-report
|
|
path: playwright-report
|
|
retention-days: 14
|
|
|
|
- if: contains(needs.*.result, 'failure') || contains(needs.*.result, 'cancelled')
|
|
run: exit 1
|