Prevent CI model downloads and preserve controller package overrides - #579
Merged
Merged
Conversation
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.
CI currently allows pytest and notebook subprocesses to download remote model packages, and simulation controller parsers discard package overrides supplied to MakeHardwareStation.
Prefetch library and notebook assets before each CI test job using the same user and cache as pytest, then disable Drake PackageMap downloads while keeping Meshcat and LCM available. Local pytest retains on-demand downloads and the normal user cache. The prefetch helper also covers the GCS package registered directly by the IRIS notebook and works with the pip job's installed wheel.
Copy the station's package mappings into both IIWA and inverse-dynamics controller parsers without resolving unused packages or repeating the user's preload callback.
Validation: 13 targeted cache, package-override, inverse-dynamics, and directives tests pass. The full CI prefetch list resolves successfully with downloads disabled after seeding the cache. Spot, Menagerie, Rainbow, and Gymnasium notebook tests pass locally with downloads disabled; IRIS reaches a local MOSEK license error. Pre-commit checks pass. Updated CI is running.
CI prefetching deliberately excludes Gymnasium Robotics models because the notebook only loads them in interactive mode. Calling the broader library prefetch helper exposed an existing stale checksum for that unused package. This PR leaves the library's remote definitions unchanged, and pip CI remains enabled.
Update htmlbook to RussTedrake/htmlbook#22 for bounded retries of transient bibliography and website HTTP failures. That shared PR should merge first. Its 32 offline tests and 10 live integration tests pass; request timeouts remain 30 seconds, with at most three attempts.
Fixes #445.
Fixes #468.
This change is