|
13 | 13 | # build (matrix) → produces one VSIX per OS, uploaded as artifact |
14 | 14 | # e2e (matrix) → cartesian product of {os × plan}, all running in parallel |
15 | 15 | # analyze → aggregates results from BOTH OSes into one unified summary |
16 | | -# Linux-UI → branch-protection gate (preserves required-check name) |
17 | | -# Windows-UI → branch-protection gate (preserves required-check name) |
18 | 16 | # |
19 | 17 | # Modelled after vscode-java-pack/.github/workflows/e2e-autotest.yml; matrix |
20 | 18 | # has been extended with an `os` dimension so a single `e2e` job covers both |
21 | | -# platforms. |
| 19 | +# platforms. Each matrix cell surfaces as its own PR check, so failures are |
| 20 | +# visible without an extra gate job. |
22 | 21 |
|
23 | 22 | jobs: |
24 | 23 | # ── Lint + Checkstyle (OS-agnostic) ───────────────────── |
@@ -254,52 +253,3 @@ jobs: |
254 | 253 | name: e2e-aggregate-summary |
255 | 254 | path: test-results/summary.md |
256 | 255 | retention-days: 30 |
257 | | - |
258 | | - # ── Branch-protection compatibility gates ─────────────── |
259 | | - # Preserve the historical required-status-check names so existing |
260 | | - # branch-protection rules keep working without edits. The matrix |
261 | | - # aggregates per-OS results into a single `needs.e2e.result`, so |
262 | | - # both gates reflect the same overall e2e outcome. (If you want |
263 | | - # truly per-OS gates, switch branch protection to require the |
264 | | - # individual matrix job names instead.) |
265 | | - Linux-UI: |
266 | | - name: Linux-UI |
267 | | - needs: [ lint, build, discover-plans, e2e ] |
268 | | - if: ${{ always() }} |
269 | | - runs-on: ubuntu-latest |
270 | | - steps: |
271 | | - - name: Verify upstream jobs |
272 | | - shell: bash |
273 | | - run: | |
274 | | - echo "lint: ${{ needs.lint.result }}" |
275 | | - echo "build: ${{ needs.build.result }}" |
276 | | - echo "discover-plans: ${{ needs.discover-plans.result }}" |
277 | | - echo "e2e: ${{ needs.e2e.result }}" |
278 | | - if [ "${{ needs.lint.result }}" != "success" ] || \ |
279 | | - [ "${{ needs.build.result }}" != "success" ] || \ |
280 | | - [ "${{ needs.discover-plans.result }}" != "success" ] || \ |
281 | | - [ "${{ needs.e2e.result }}" != "success" ]; then |
282 | | - echo "::error::One or more required jobs failed" |
283 | | - exit 1 |
284 | | - fi |
285 | | -
|
286 | | - Windows-UI: |
287 | | - name: Windows-UI |
288 | | - needs: [ lint, build, discover-plans, e2e ] |
289 | | - if: ${{ always() }} |
290 | | - runs-on: ubuntu-latest |
291 | | - steps: |
292 | | - - name: Verify upstream jobs |
293 | | - shell: bash |
294 | | - run: | |
295 | | - echo "lint: ${{ needs.lint.result }}" |
296 | | - echo "build: ${{ needs.build.result }}" |
297 | | - echo "discover-plans: ${{ needs.discover-plans.result }}" |
298 | | - echo "e2e: ${{ needs.e2e.result }}" |
299 | | - if [ "${{ needs.lint.result }}" != "success" ] || \ |
300 | | - [ "${{ needs.build.result }}" != "success" ] || \ |
301 | | - [ "${{ needs.discover-plans.result }}" != "success" ] || \ |
302 | | - [ "${{ needs.e2e.result }}" != "success" ]; then |
303 | | - echo "::error::One or more required jobs failed" |
304 | | - exit 1 |
305 | | - fi |
0 commit comments