Skip to content

Commit cbf2b9f

Browse files
authored
ci(behavior): speed up PRs with chromium-only matrix and dedup math spec imports (#2940)
* ci(behavior): chromium-only on PRs, full matrix on merge_group Firefox is the wall-clock bottleneck at ~13 min per shard; gating it behind merge_group and workflow_dispatch gives PRs fast chromium feedback while still running the full 3-browser suite before merge. * test(behavior): collapse math-equations spec to one test per fixture The file loaded the same 11 DOCX fixtures 74 times - once per test. In a recent Firefox run that single file accounted for ~809s of passed-test time. Each describe block now loads its fixture once and wraps the original tests as test.step() assertions, taking the import count from 74 to 11 while preserving every expect(). * ci(behavior): run full matrix on push to main/stable as post-merge safety net Pairs with the chromium-only PR matrix: Firefox/WebKit still run on every change, just after merge instead of before. Measured approach before considering a merge queue gate. * Revert "ci(behavior): run full matrix on push to main/stable as post-merge safety net" This reverts commit 785a24a.
1 parent 10c89ad commit cbf2b9f

2 files changed

Lines changed: 1129 additions & 1289 deletions

File tree

.github/workflows/ci-behavior.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,9 @@ jobs:
2929
strategy:
3030
fail-fast: false
3131
matrix:
32-
browser: [chromium, firefox, webkit]
32+
# PRs run chromium only for fast feedback. merge_group and workflow_dispatch
33+
# run the full 3-browser matrix before anything lands on main.
34+
browser: ${{ fromJSON(github.event_name == 'pull_request' && '["chromium"]' || '["chromium", "firefox", "webkit"]') }}
3335
shard: [1, 2, 3, 4]
3436
steps:
3537
- uses: actions/checkout@v6

0 commit comments

Comments
 (0)