ci(e2e): refresh e2e timings manifest#10494
Conversation
PR Summary by Qodoci(e2e): refresh e2e test timings manifest
AI Description
Diagram
High-Level Assessment
Files changed (1)
|
Code Review by Qodo
1. Floor-clamped e2e weights
|
| "e2e/harmony/checkout-harmony.e2e.ts": 227, | ||
| "e2e/harmony/ci-bitmap-auto-sync.e2e.ts": 544, | ||
| "e2e/harmony/ci-commands.e2e.ts": 518, | ||
| "e2e/harmony/compile.e2e.ts": 15, |
There was a problem hiding this comment.
1. Floor-clamped e2e weights 🐞 Bug ☼ Reliability
The refreshed timings manifest assigns some suites exactly 15s (the generator’s hard minimum), which reduces the resolution of scripts/split-e2e-tests.js bin-packing and can produce less-balanced CircleCI shards if those suites still take materially longer than 15s.
Agent Prompt
### Issue description
`scripts/e2e-test-timings.json` contains multiple entries set to exactly `15`, which is the hard floor applied by the generator. These floor-clamped values reduce sharding accuracy because the splitter uses the manifest weights directly for LPT bin-packing.
### Issue Context
- The generator clamps per-file weights with `Math.max(15, ...)` to avoid zero-weight files.
- The splitter uses the manifest weights as-is to distribute tests across parallel nodes.
- This PR updates the manifest and includes entries at the floor (e.g. `e2e/harmony/compile.e2e.ts: 15`).
### Fix Focus Areas
- scripts/e2e-test-timings.json[35-55]
- scripts/generate-e2e-timings.js[172-179]
- scripts/split-e2e-tests.js[61-82]
### What to change
1. Re-generate the manifest using a larger/more diverse observation window (or a stronger prior, e.g. `--prior=manifest`) so suites don’t collapse to the floor due to under-identification.
2. Validate (in the refresh workflow or generator) that large downward shifts to the floor are expected; if not, re-run generation.
3. (Optional hardening) Add a guardrail in `generate-e2e-timings.js` to warn/fail when an unusually large fraction of files are clamped to the floor, to prevent publishing low-signal manifests.
ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools
Automated biweekly refresh of scripts/e2e-test-timings.json from the last 12 e2e runs (111 entries drifted meaningfully). Generated by the e2e_timings_refresh scheduled workflow.