You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
TestRunReportsCurrentAliasMappings runs packages.Load over the entire repository under a hard 2-minute budget. That budget is roughly 3x the local runtime but marginal on CI hardware, so the test fails intermittently on loaded runners and blocks unrelated PRs.
Trains maintainers to reflex-retry a red tests / Test, which erodes the signal — a real regression looks the same as this on first glance.
Costs full CI runs: each retry re-runs the whole tests / Test job (~9 minutes).
Why it is timing-sensitive
The test type-checks every package in the module from the repo root. Runtime scales with module size and depends heavily on build-cache warmth, so a PR touching a widely-imported package (e.g. pkg/defaults, imported almost everywhere) invalidates much of the cache and pushes the load toward the ceiling. Module size only grows, so this will get worse.
Options
Raise goListTimeout — smallest change. 5 minutes would give ~7x headroom over the observed local runtime. Treats the symptom but is cheap and immediate.
Narrow the load scope — the test only needs the alias targets under pkg/client/v1 and their transitive deps, not the whole module. Biggest win if feasible.
Warm the build cache in CI before this job, so cold-cache runs stop being the worst case.
Option 1 alone would likely have prevented every failure observed so far.
Not caused by
Neither #2336 nor #2321 changed anything reachable from this test; main was green throughout.
Summary
TestRunReportsCurrentAliasMappingsrunspackages.Loadover the entire repository under a hard 2-minute budget. That budget is roughly 3x the local runtime but marginal on CI hardware, so the test fails intermittently on loaded runners and blocks unrelated PRs.Evidence
Failure signature is identical every time:
The
120.xwall is the timeout itself, not a hang:goListTimeout = 2 * time.Minute(tools/api-diff-closure/main.go:38), applied atmain.go:139.Impact
api-diff-closure. docs(defaults): correct MirrorDefaultKubeVersion rationale comment #2336 is a single Go comment line and still needed three runs.tests / Test, which erodes the signal — a real regression looks the same as this on first glance.tests / Testjob (~9 minutes).Why it is timing-sensitive
The test type-checks every package in the module from the repo root. Runtime scales with module size and depends heavily on build-cache warmth, so a PR touching a widely-imported package (e.g.
pkg/defaults, imported almost everywhere) invalidates much of the cache and pushes the load toward the ceiling. Module size only grows, so this will get worse.Options
goListTimeout— smallest change. 5 minutes would give ~7x headroom over the observed local runtime. Treats the symptom but is cheap and immediate.pkg/client/v1and their transitive deps, not the whole module. Biggest win if feasible.Option 1 alone would likely have prevented every failure observed so far.
Not caused by
Neither #2336 nor #2321 changed anything reachable from this test;
mainwas green throughout.