Merge pull request #245 from claude/e2e-two-files-at-once
End-to-end: run two test files at a time in each check
cnbrkdmrci authored 2 parents 0e2e03385833a0commit 47892655776b36e37a30262afcbf71caee597015Browse files
- CI / Typecheck and bundlesuccess
- CI / Unit tests (1/2)success
- CI / Unit tests (2/2)success
- Deploy / Deploy to Cloudflaresuccess
- Deploy / Main's current tipsuccess
- End-to-end / End-to-end (agent reviews, tasks, Today)success
- End-to-end / End-to-end (git, PRs, Actions)success
- End-to-end / End-to-end (large pushes)Failed
- End-to-end / End-to-end (passkeys, registry, email)success
- End-to-end / End-to-end (real histories)success
- End-to-end / End-to-end (runner Docker)success
- End-to-end / End-to-end (security)success
- Live test / Containers, registry, sandboxes, webhooks, schedules, LFS and pull requestssuccess
1 file changed+5−2
modified.github/workflows/e2e.yml+5−2View file
| @@ -65,7 +65,8 @@ | ||
| 65 | 65 | # Shards of similar length; a new test file runs in "rest" unless it's added to another. |
| 66 | 66 | core='/e2e\.test\.mjs$' |
| 67 | 67 | agents='/(agentic|review|tasks)\.test\.mjs$' |
| 68 | - security='/(security|status)\.test\.mjs$' | |
| 68 | + # security.test.mjs, security-*.test.mjs (security-txt's too) and status.test.mjs. | |
| 69 | + security='/(security(-[a-z-]+)?|status)\.test\.mjs$' | |
| 69 | 70 | # The core file's real histories and large pushes take minutes each (jquery's alone 2 to 3 on |
| 70 | 71 | # Diffinery's runners): two shards of their own, so no part of the file runs into node's |
| 71 | 72 | # per-file timeout, which is the --test-timeout here. |
| @@ -81,7 +82,9 @@ | ||
| 81 | 82 | *) files=$(ls test/e2e/*.test.mjs | grep -vE "$core|$agents|$security") ;; |
| 82 | 83 | esac |
| 83 | 84 | echo "$files" |
| 84 | - node --test --test-concurrency=1 "${opts[@]}" $files | |
| 85 | + # Two files at a time: each starts its own local server on its own port, database and | |
| 86 | + # directory, so they don't share state, and a file's server mostly keeps one core busy. | |
| 87 | + node --test --test-concurrency=2 "${opts[@]}" $files | |
| 85 | 88 | |
| 86 | 89 | # Docker as the hosted runner image runs it, with this change's docker wrapper, daemon config |
| 87 | 90 | # and agent (its registry relay): this job runs on a hosted runner, so the real dockerd is there. |