fix(ci): memoize Mission Control build cascade (stop 55-min timeout) - #21
Open
pilotmain wants to merge 4 commits into
Open
fix(ci): memoize Mission Control build cascade (stop 55-min timeout)#21pilotmain wants to merge 4 commits into
pilotmain wants to merge 4 commits into
Conversation
The Python CI job hit the 55-minute timeout because diamond-shaped build_* recomputation grew exponential. Add request-scoped memoization and a pytest-timeout safety net so hangs fail fast with a named stack. Signed-off-by: Raya Meresa <rayameha@gmail.com> Co-authored-by: Cursor <cursoragent@cursor.com>
Unblocks the required Dependency audit + SBOM check (PYSEC-2026-3552/3553/3554). Signed-off-by: Raya Meresa <rayameha@gmail.com> Co-authored-by: Cursor <cursoragent@cursor.com>
Clears the high-severity GHSA-2v37-7h3g-55p8 finding that fails the required Dependency audit + SBOM web check. Signed-off-by: Raya Meresa <rayameha@gmail.com> Co-authored-by: Cursor <cursoragent@cursor.com>
Guard in-progress keys so a cyclic build_* call cannot recurse forever, and fall back when deepcopy hits circular graphs. Signed-off-by: Raya Meresa <rayameha@gmail.com> Co-authored-by: Cursor <cursoragent@cursor.com>
Owner
Author
Status updateTimeout root cause is fixed. Required checks already green on this PR:
What CI now surfaces: ~400 real test failures / ~5436 passes. Spot-checked several failures with memoization disabled (no-op Examples of pre-existing-looking failures:
Next step after this PR merges: triage/fix the pre-existing failures so |
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
build_*services form a diamond dependency with no memoization, so top-level builders recompute the full stack exponentially. That madePython tests + linthit the 55-minute job timeout (not an assertion failure).@scoped_buildmemoization across the cascade (build_memoization.py), pluspytest-timeoutin CI so any future hang fails fast with a named stack instead of silently burning the budget.Python tests + lintis unchanged so the branch ruleset stays satisfied.Test plan
Python tests + lintcompletes under 55 minutes on this PRMade with Cursor