Skip to content

Commit e8aa04e

Browse files
backspaceclaude
andcommitted
ci: TEMPORARY host-mode flake stress run (revert before merge)
Throwaway CI changes to surface the host-mode page.goto flake on the first attempt rather than waiting for it to recur. Revert this whole commit before merging. ci.yaml: - Run only Matrix shard 1, twenty times in parallel (matrix `copy` 1..20), with fail-fast off so every copy reports independently. Per-shard artifact names get the copy suffix so the parallel jobs don't collide on upload. - Force every change-check suite output OFF except `matrix`, so nothing but the stress jobs runs. Editing ci.yaml otherwise flips every suite on via the shared paths-filter anchor. - Disable the "Merge Matrix reports and publish" job: `playwright merge-reports` can't reconcile N blob reports that all claim to be shard 1/3, so it fails and would be the run's only red mark even when every stress shard passes. ci-host.yaml, ci-software-factory.yaml: - Gate the entry jobs with `if: false` so these suites don't run. Both are otherwise triggered for this branch — Software Factory by the packages/matrix/** path (host-mode.spec.ts), and CI Host because editing its own file matches its paths filter. Disabling the entry jobs cascades to skip everything downstream. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent bdde51f commit e8aa04e

3 files changed

Lines changed: 79 additions & 28 deletions

File tree

.github/workflows/ci-host.yaml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,11 @@ permissions:
3535
jobs:
3636
check-percy:
3737
name: Check if Percy is needed
38+
# TEMPORARY (host-mode flake stress run): disabled so this branch runs
39+
# only ci.yaml's Matrix shard-1 ×10 stress jobs. Editing this file makes
40+
# it match its own paths filter and trigger, so every job is gated off
41+
# rather than relying on the path filter. Revert before merge.
42+
if: false
3843
runs-on: ubuntu-latest
3944
outputs:
4045
percy_needed: ${{ steps.check.outputs.percy_needed }}
@@ -78,6 +83,10 @@ jobs:
7883
7984
test-web-assets:
8085
name: Build test web assets
86+
# TEMPORARY (host-mode flake stress run) — revert before merge. Disabling
87+
# this entry job cascades to skip live-test, host-test, and all the
88+
# report/percy/baseline jobs that depend on it.
89+
if: false
8190
uses: ./.github/workflows/test-web-assets.yaml
8291
with:
8392
caller: ci-host

.github/workflows/ci-software-factory.yaml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,13 +40,19 @@ permissions:
4040
jobs:
4141
test-web-assets:
4242
name: Build test web assets
43+
# TEMPORARY (host-mode flake stress run): disabled so this branch runs
44+
# only ci.yaml's Matrix shard-1 ×10 stress jobs. This PR touches
45+
# packages/matrix/** (host-mode.spec.ts), which would otherwise trigger
46+
# the full Software Factory suite. Revert before merge.
47+
if: false
4348
uses: ./.github/workflows/test-web-assets.yaml
4449
with:
4550
caller: ci-software-factory
4651

4752
software-factory-test:
4853
name: Software Factory Tests (shard ${{ matrix.shard.index }}/${{ matrix.shard.total }})
4954
needs: test-web-assets
55+
if: false # TEMPORARY (host-mode flake stress run) — revert before merge
5056
runs-on: ubuntu-latest
5157
strategy:
5258
fail-fast: false

.github/workflows/ci.yaml

Lines changed: 64 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -24,22 +24,26 @@ jobs:
2424
name: Check which packages changed
2525
runs-on: ubuntu-latest
2626
outputs:
27-
boxel: ${{ steps.filter.outputs.boxel }}
28-
ai-bot: ${{ steps.filter.outputs.ai-bot }}
29-
bot-runner: ${{ steps.filter.outputs.bot-runner }}
30-
eslint-plugin-boxel: ${{ steps.filter.outputs.eslint-plugin-boxel }}
31-
eslint-plugin-cardstack-host: ${{ steps.filter.outputs.eslint-plugin-cardstack-host }}
32-
postgres-migrations: ${{ steps.filter.outputs.postgres-migrations }}
33-
boxel-icons: ${{ steps.filter.outputs.boxel-icons }}
34-
boxel-ui: ${{ steps.filter.outputs.boxel-ui }}
35-
matrix: ${{ steps.filter.outputs.matrix }}
36-
realm-server: ${{ steps.filter.outputs.realm-server }}
37-
vscode-boxel-tools: ${{ steps.filter.outputs.vscode-boxel-tools }}
38-
boxel-cli: ${{ steps.filter.outputs.boxel-cli }}
39-
bench-amd: ${{ steps.filter.outputs.bench-amd }}
40-
bench-realm: ${{ steps.filter.outputs.bench-realm }}
41-
# Force all tests to run when on ci-bisect* branches
42-
run_all: ${{ steps.force-run-all.outputs.run_all }}
27+
# TEMPORARY (host-mode flake stress test): force every suite OFF except
28+
# `matrix`, so the only thing this branch runs is the Matrix shard-1 ×20
29+
# stress jobs. Revert this block (restore the `steps.filter.outputs.*`
30+
# passthroughs) together with the matrix-client-test matrix changes
31+
# before merging.
32+
boxel: "false"
33+
ai-bot: "false"
34+
bot-runner: "false"
35+
eslint-plugin-boxel: "false"
36+
eslint-plugin-cardstack-host: "false"
37+
postgres-migrations: "false"
38+
boxel-icons: "false"
39+
boxel-ui: "false"
40+
matrix: "true"
41+
realm-server: "false"
42+
vscode-boxel-tools: "false"
43+
boxel-cli: "false"
44+
bench-amd: "false"
45+
bench-realm: "false"
46+
run_all: "false"
4347
steps:
4448
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
4549
- uses: dorny/paths-filter@fbd0ab8f3e69293af611ebaee6363fc25e6d187d # v4.0.1
@@ -361,10 +365,38 @@ jobs:
361365
strategy:
362366
fail-fast: false
363367
matrix:
364-
shardIndex: [1, 2, 3]
368+
# TEMPORARY (host-mode flake stress test): run only shard 1, twenty
369+
# times in parallel, to surface the page.goto flake on the first
370+
# attempt. Revert this whole job's matrix/concurrency/artifact-name
371+
# changes before merging — restore `shardIndex: [1, 2, 3]` and drop
372+
# `copy`.
373+
copy:
374+
[
375+
1,
376+
2,
377+
3,
378+
4,
379+
5,
380+
6,
381+
7,
382+
8,
383+
9,
384+
10,
385+
11,
386+
12,
387+
13,
388+
14,
389+
15,
390+
16,
391+
17,
392+
18,
393+
19,
394+
20,
395+
]
396+
shardIndex: [1]
365397
shardTotal: [3]
366398
concurrency:
367-
group: matrix-client-test-${{ matrix.shardIndex }}-${{ github.head_ref || github.run_id }}
399+
group: matrix-client-test-${{ matrix.shardIndex }}-${{ matrix.copy }}-${{ github.head_ref || github.run_id }}
368400
cancel-in-progress: true
369401
steps:
370402
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
@@ -404,58 +436,58 @@ jobs:
404436
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
405437
if: ${{ !cancelled() }}
406438
with:
407-
name: matrix-test-realm-server-log-${{ matrix.shardIndex }}
439+
name: matrix-test-realm-server-log-${{ matrix.shardIndex }}-${{ matrix.copy }}
408440
path: /tmp/server.log
409441
retention-days: 30
410442
- name: Upload worker manager log
411443
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
412444
if: ${{ !cancelled() }}
413445
with:
414-
name: matrix-test-worker-manager-log-${{ matrix.shardIndex }}
446+
name: matrix-test-worker-manager-log-${{ matrix.shardIndex }}-${{ matrix.copy }}
415447
path: /tmp/worker-manager.log
416448
retention-days: 30
417449
- name: Upload prerender server log
418450
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
419451
if: ${{ !cancelled() }}
420452
with:
421-
name: matrix-test-prerender-server-log-${{ matrix.shardIndex }}
453+
name: matrix-test-prerender-server-log-${{ matrix.shardIndex }}-${{ matrix.copy }}
422454
path: /tmp/prerender-server.log
423455
retention-days: 30
424456
- name: Upload prerender manager log
425457
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
426458
if: ${{ !cancelled() }}
427459
with:
428-
name: matrix-test-prerender-manager-log-${{ matrix.shardIndex }}
460+
name: matrix-test-prerender-manager-log-${{ matrix.shardIndex }}-${{ matrix.copy }}
429461
path: /tmp/prerender-manager.log
430462
retention-days: 30
431463
- name: Upload icon server log
432464
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
433465
if: ${{ !cancelled() }}
434466
with:
435-
name: matrix-test-icon-server-log-${{ matrix.shardIndex }}
467+
name: matrix-test-icon-server-log-${{ matrix.shardIndex }}-${{ matrix.copy }}
436468
path: /tmp/icon-server.log
437469
retention-days: 30
438470
- name: Upload host-dist log
439471
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
440472
if: ${{ !cancelled() }}
441473
with:
442-
name: matrix-test-host-dist-log-${{ matrix.shardIndex }}
474+
name: matrix-test-host-dist-log-${{ matrix.shardIndex }}-${{ matrix.copy }}
443475
path: /tmp/host-dist.log
444476
retention-days: 30
445477

446478
- name: Upload blob report to GitHub Actions Artifacts
447479
if: ${{ !cancelled() }}
448480
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
449481
with:
450-
name: blob-report-${{ matrix.shardIndex }}
482+
name: blob-report-${{ matrix.shardIndex }}-${{ matrix.copy }}
451483
path: packages/matrix/blob-report
452484
retention-days: 1
453485

454486
- name: Upload Playwright traces
455487
if: ${{ !cancelled() }}
456488
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
457489
with:
458-
name: playwright-traces-${{ matrix.shardIndex }}
490+
name: playwright-traces-${{ matrix.shardIndex }}-${{ matrix.copy }}
459491
path: packages/matrix/test-results/**/trace.zip
460492
retention-days: 30
461493
if-no-files-found: ignore
@@ -465,8 +497,12 @@ jobs:
465497
needs:
466498
- change-check
467499
- matrix-client-test
468-
# !cancelled() makes it run even if a matrix-client-test shard fails, but still respects cancellation
469-
if: ${{ !cancelled() && (needs.change-check.outputs.matrix == 'true' || github.ref == 'refs/heads/main' || needs.change-check.outputs.run_all == 'true') }}
500+
# TEMPORARY (host-mode flake stress run) — revert before merge.
501+
# `playwright merge-reports` can't reconcile ten blob reports that all
502+
# claim to be shard 1/3, so this job fails and is the run's only red
503+
# mark even when every stress shard passes. Disable it for the stress
504+
# run; the per-shard pass/fail is visible on the jobs themselves.
505+
if: false
470506
runs-on: ubuntu-latest
471507
concurrency:
472508
group: matrix-client-merge-reports-${{ github.head_ref || github.run_id }}

0 commit comments

Comments
 (0)