Repository navigation
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #42719 +/- ##
==========================================
- Coverage 87.74% 87.70% -0.04%
==========================================
Files 5645 5062 -583
Lines 323434 318271 -5163
Branches 65381 64285 -1096
==========================================
- Hits 283784 279132 -4652
+ Misses 34267 33765 -502
+ Partials 5383 5374 -9
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
E2E job durations currently combine build waiting, environment startup, and test execution, making slow runs difficult to explain. Add phase timings to CI summaries and JSONL log artifacts, plus Next.js compiler durations and restored-cache input comparisons.
Record image pulls separately from container startup, migrations, readiness, auth bootstrap, seed, scenarios, and teardown. Cache diagnostics capture primary/matched keys, cache sizes and inventories by version directory (plus the largest 20 files), Node/Next versions, changed tracked inputs, and an environment-file hash. Dependency preparation reports API, web, browser system dependencies, and browser downloads separately, including failed-phase exit codes. Successful builds save a diagnostic baseline alongside the existing cache; failures preserve their original outcome.
Keep the shared Web build artifact, browser shards, parallel dependency preparation, and cache key policy. Publish the Web artifact before post-build diagnostics so browser jobs can proceed. Nested timing intervals are documented and must not be summed as pipeline wall time.
Fixes #42718
Validation
vp stagedand scopedvp check e2epassed.pnpm -C e2e type-checkpassed.f11f3f0a85in 5m06s; all PR checks passed. Full-stack E2E was validated in CI rather than locally.turbopack/v16.3.5-ca2c75ebdatabase. There is no evidence here of redundant old-version directories; cache pruning is not part of this change.0817d8cb21): Main CI run 35696933079 and all applicable PR checks passed. All 61 E2E scenarios passed (57 Chromium, 4 WebKit). Local tests, shell syntax, staged checks, and actionlint passed..github/workflows/web-e2e.ymlchanged; Node, Next, and environment hash were unchanged. This documents remaining compiler-time variation without attributing it to cache invalidation on insufficient evidence.Controlled cache experiment
Run 35700562249 passed all three builds on the same merge SHA
8417162dfba4354ba55cd89080452a8043373d39, runner class, and build environment. Each job started with an empty.next; the fresh-cache job used a separate runner and restored only the cold job's isolated cache.Cold build generated a 2.184 GB compiler database, saved in about 17.1s; compressed archive was 1.447 GB versus the existing cache's 1.873 GB. Fresh restore had identical tracked inputs, Node/Next versions, and environment-file hash. This sample supports retaining incremental caching, not disabling it.
Limitation: the PR merge ref incorporated upstream source and lockfile changes since the earlier 7 GB observations. The existing-cache arm therefore restored a different 3.117 GB dependency-compatible cache, without diagnostic baseline. These results do not isolate cache age/size from input compatibility and cannot prove that pruning the earlier 7 GB cache yields the same improvement. Repeat with pinned cache provenance before introducing cache rotation or narrowing input keys.
Temporary experiment workflows were removed in
f9e29dd65f; production cache policy and shared-build/shard structure remain unchanged. That cleanup commit passed all applicable checks.Pinned-cache repetitions
Run 35701837718 passed all six builds: each cache snapshot was restored on three independent runners, with checkout pinned to
8417162dfba4354ba55cd89080452a8043373d39, identical build environment, no fallback, and no cache writes. Starting cache sizes and exact keys matched across repetitions.Median restore + full build: existing 76.892s (63.608–81.147s), fresh 23.129s (20.454–25.673s). Most of the difference occurs during compilation, not restore. The fresh cache's tracked inputs and runtime/env hashes match the pinned checkout; the existing snapshot has no input baseline. Exact match here verifies the requested snapshot, not compatibility of its original build inputs with this checkout. These repetitions rule out a single unusually slow runner as the sole explanation, but do not isolate input mismatch from accumulated cache state.
Recommended next investigation: warm the old snapshot with the pinned checkout, save it under a separate experiment key, then compare its subsequent restore/build against the cold-generated snapshot. This isolates one-time input adaptation before deciding on any cache rotation. Production caching remains unchanged.
Both temporary experiment workflows were removed again in
c1e4081cd5. All applicable final PR checks passed; Main CI run 35702870252 succeeded (duplicate test jobs were skipped). PR remains draft and unmerged.Screenshots
Not applicable; CI diagnostics only.
Checklist
e2e/AGENTS.md).vp staged; backend checks are not applicable.