devops: merge other workflows (#31121) #4
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: tests others | |
on: | |
push: | |
branches: | |
- main | |
- release-* | |
pull_request: | |
paths-ignore: | |
- 'browser_patches/**' | |
- 'docs/**' | |
types: [ labeled ] | |
branches: | |
- main | |
- release-* | |
env: | |
FORCE_COLOR: 1 | |
ELECTRON_SKIP_BINARY_DOWNLOAD: 1 | |
jobs: | |
test_stress: | |
name: Stress - ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
# Stick with macos-latest-large for now which is Intel-based until | |
# https://github.com/microsoft/playwright/issues/30705 is fixed. | |
os: [ubuntu-latest, macos-latest-large, windows-latest] | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: 20 | |
- run: npm ci | |
- run: npm run build | |
- run: npx playwright install --with-deps | |
- run: npm run stest contexts -- --project=chromium | |
if: ${{ !cancelled() }} | |
- run: npm run stest browsers -- --project=chromium | |
if: ${{ !cancelled() }} | |
- run: npm run stest frames -- --project=chromium | |
if: ${{ !cancelled() }} | |
- run: npm run stest contexts -- --project=webkit | |
if: ${{ !cancelled() }} | |
- run: npm run stest browsers -- --project=webkit | |
if: ${{ !cancelled() }} | |
- run: npm run stest frames -- --project=webkit | |
if: ${{ !cancelled() }} | |
- run: npm run stest contexts -- --project=firefox | |
if: ${{ !cancelled() }} | |
- run: npm run stest browsers -- --project=firefox | |
if: ${{ !cancelled() }} | |
- run: npm run stest frames -- --project=firefox | |
if: ${{ !cancelled() }} | |
- run: npm run stest heap -- --project=chromium | |
if: ${{ !cancelled() }} | |
test_webview2: | |
name: WebView2 | |
environment: ${{ github.event_name == 'push' && 'allow-uploading-flakiness-results' || null }} | |
runs-on: windows-2022 | |
permissions: | |
id-token: write # This is required for OIDC login (azure/login) to succeed | |
contents: read # This is required for actions/checkout to succeed | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-dotnet@v3 | |
with: | |
dotnet-version: '8.0.x' | |
- run: dotnet build | |
working-directory: tests/webview2/webview2-app/ | |
- name: Update to Evergreen WebView2 Runtime | |
shell: pwsh | |
run: | | |
# See here: https://developer.microsoft.com/en-us/microsoft-edge/webview2/ | |
Invoke-WebRequest -Uri 'https://go.microsoft.com/fwlink/p/?LinkId=2124703' -OutFile 'setup.exe' | |
Start-Process -FilePath setup.exe -Verb RunAs -Wait | |
- uses: ./.github/actions/run-test | |
with: | |
node-version: 20 | |
browsers-to-install: chromium | |
command: npm run webview2test | |
bot-name: "webview2-chromium-windows" | |
flakiness-client-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_CLIENT_ID }} | |
flakiness-tenant-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_TENANT_ID }} | |
flakiness-subscription-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_SUBSCRIPTION_ID }} | |
test_clock_frozen_time_linux: | |
name: Frozen time library | |
environment: ${{ github.event_name == 'push' && 'allow-uploading-flakiness-results' || null }} | |
permissions: | |
id-token: write # This is required for OIDC login (azure/login) to succeed | |
contents: read # This is required for actions/checkout to succeed | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: ./.github/actions/run-test | |
with: | |
node-version: 20 | |
browsers-to-install: chromium | |
command: npm run test -- --project=chromium-* | |
bot-name: "frozen-time-library-chromium-linux" | |
flakiness-client-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_CLIENT_ID }} | |
flakiness-tenant-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_TENANT_ID }} | |
flakiness-subscription-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_SUBSCRIPTION_ID }} | |
env: | |
PW_FREEZE_TIME: 1 | |
test_clock_frozen_time_test_runner: | |
name: Frozen time test runner | |
environment: ${{ github.event_name == 'push' && 'allow-uploading-flakiness-results' || null }} | |
runs-on: ubuntu-22.04 | |
permissions: | |
id-token: write # This is required for OIDC login (azure/login) to succeed | |
contents: read # This is required for actions/checkout to succeed | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: ./.github/actions/run-test | |
with: | |
node-version: 20 | |
command: npm run ttest | |
bot-name: "frozen-time-runner-chromium-linux" | |
flakiness-client-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_CLIENT_ID }} | |
flakiness-tenant-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_TENANT_ID }} | |
flakiness-subscription-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_SUBSCRIPTION_ID }} | |
env: | |
PW_FREEZE_TIME: 1 | |
test_electron: | |
name: Electron - ${{ matrix.os }} | |
environment: ${{ github.event_name == 'push' && 'allow-uploading-flakiness-results' || null }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ubuntu-latest, macos-latest, windows-latest] | |
permissions: | |
id-token: write # This is required for OIDC login (azure/login) to succeed | |
contents: read # This is required for actions/checkout to succeed | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: ./.github/actions/run-test | |
with: | |
browsers-to-install: chromium | |
command: npm run etest | |
bot-name: "electron-${{ matrix.os }}" | |
flakiness-client-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_CLIENT_ID }} | |
flakiness-tenant-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_TENANT_ID }} | |
flakiness-subscription-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_SUBSCRIPTION_ID }} | |
env: | |
ELECTRON_SKIP_BINARY_DOWNLOAD: |