|
1 | 1 | name: desktop-e2e |
2 | 2 |
|
3 | | -# Smoke coverage of the real Electron shell on desktop changes, plus a weekly |
| 3 | +# Smoke coverage of the real Electron shell on desktop changes. Three isolated runners |
| 4 | +# partition the complete suite by Playwright test-file groups; workers remain serial per runner. |
| 5 | +# The weekly |
4 | 6 | # advisory canary against electron@latest so Chromium-cadence breakage surfaces |
5 | 7 | # before an upgrade is attempted. |
6 | 8 |
|
@@ -58,10 +60,14 @@ concurrency: |
58 | 60 |
|
59 | 61 | jobs: |
60 | 62 | e2e: |
61 | | - name: e2e |
| 63 | + name: e2e (${{ matrix.shard }}/3) |
62 | 64 | if: github.event_name != 'schedule' |
63 | 65 | runs-on: macos-26 |
64 | 66 | timeout-minutes: 30 |
| 67 | + strategy: |
| 68 | + fail-fast: false |
| 69 | + matrix: |
| 70 | + shard: [1, 2, 3] |
65 | 71 | steps: |
66 | 72 | - name: Checkout code |
67 | 73 | uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v6 |
@@ -102,19 +108,29 @@ jobs: |
102 | 108 |
|
103 | 109 | - name: Run Playwright _electron smoke suite |
104 | 110 | working-directory: apps/desktop |
105 | | - run: bunx playwright test |
| 111 | + run: bunx playwright test --shard=${{ matrix.shard }}/3 --reporter=line,json |
106 | 112 | env: |
| 113 | + PLAYWRIGHT_JSON_OUTPUT_FILE: test-results/desktop-smoke.json |
107 | 114 | BACKGROUND_EXECUTOR_REPORT_PATH: test-results/background-executor-report.json |
108 | 115 | TERMINAL_CANCEL_REPORT_PATH: test-results/terminal-cancel-report.json |
109 | 116 |
|
110 | 117 | - name: Upload test results |
111 | 118 | if: failure() |
112 | 119 | uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 |
113 | 120 | with: |
114 | | - name: desktop-e2e-results-pinned |
| 121 | + name: desktop-e2e-results-pinned-${{ matrix.shard }} |
115 | 122 | path: apps/desktop/test-results |
116 | 123 | retention-days: 7 |
117 | 124 |
|
| 125 | + - name: Upload smoke coverage and timings |
| 126 | + if: always() |
| 127 | + uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 |
| 128 | + with: |
| 129 | + name: desktop-smoke-reports-${{ matrix.shard }} |
| 130 | + path: apps/desktop/test-results/desktop-smoke.json |
| 131 | + if-no-files-found: ignore |
| 132 | + retention-days: 7 |
| 133 | + |
118 | 134 | e2e-canary: |
119 | 135 | name: e2e-canary |
120 | 136 | if: github.event_name == 'schedule' || github.event_name == 'workflow_dispatch' |
|
0 commit comments