Save warp cache for CI - #6707
Conversation
Greptile SummaryThis PR wires up a Warp kernel cache across the CI pipeline so that the expensive per-job kernel compilation happens once post-merge and is reused by subsequent PR runs. It introduces two new composite-action inputs (
Confidence Score: 5/5Safe to merge — all three files are CI-infrastructure only, the cache is gated behind success() so broken test runs never pollute the cache, and the Python sanity check turns any WARP_CACHE_PATH misconfiguration into an immediate, visible job failure. The logic is tight: the GPU identity step covers multi-GPU runners via sort-unique join; the save condition guards on warp-cache-family, warp-cache-write, success(), and cache-hit; and the in-container path validation catches any env-var naming drift at job startup rather than silently writing to the wrong location. The only observable change to production behavior is that the tasks/core/newton jobs now also run on push events — intentional for cache warming. Files Needing Attention: No files require special attention. Important Files Changed
Sequence DiagramsequenceDiagram
participant WF as build.yaml
participant PKG as run-package-tests
participant GHC as actions/cache
participant RT as run-tests
participant CTR as Docker Container
WF->>PKG: "warp-cache-family=isaaclab-tasks-0<br/>warp-cache-write=true (on push)"
PKG->>PKG: "Resolve Warp cache identity<br/>(nvidia-smi → sort -u | paste -sd-)"
PKG->>GHC: "cache/restore@v4<br/>key: warp-v1-{family}-{os}-{arch}-{gpu}-{isaacsim}-{hash}-{epoch}"
GHC-->>PKG: "restored (cache-hit=true/false)"
PKG->>PKG: "mkdir -p cache_dir && test -w"
PKG->>RT: "warp-cache-host-dir=/tmp/runner/isaaclab-warp-cache/isaaclab-tasks-0"
RT->>CTR: "docker run -v host_cache_dir:/tmp/isaaclab-warp-cache:rw<br/>-e WARP_CACHE_PATH=/tmp/isaaclab-warp-cache"
CTR->>CTR: "wp.init() + verify wp.config.kernel_cache_dir == WARP_CACHE_PATH"
CTR->>CTR: run pytest (compiles Warp kernels into /tmp/isaaclab-warp-cache)
CTR-->>RT: exit code
RT-->>PKG: result
PKG->>PKG: Check Test Results (if always())
alt "success() && warp-cache-write=='true' && cache-hit!='true'"
PKG->>GHC: "cache/save@v4 (key = cache-primary-key)"
end
Reviews (2): Last reviewed commit: "Merge branch 'develop' into mh/ci-warp-c..." | Re-trigger Greptile |
Description
Save warp cache post-merge so future CI can run warm.
Checklist
pre-commitchecks with./isaaclab.sh --formatconfig/extension.tomlfileCONTRIBUTORS.mdor my name already exists there