Skip to content

Commit b157132

Browse files
author
Horde
committed
Key the JIT cache to the Warp version that is actually pinned
The resolver read warp-lang from source/isaaclab/pyproject.toml, which does not pin it; the pin lives in the repo-root pyproject.toml. The sed therefore matched nothing and the step fell back to the literal string "unpinned", which every cache key in CI has carried since. The key consequently never varied with Warp, so a cache built under a different Warp version restored as a hit, and nothing could pre-create the versioned cache directory that the camera buckets fail to write. Read the root file and fail the step when the pin cannot be resolved, rather than silently degrading the key again.
1 parent 0c74096 commit b157132

1 file changed

Lines changed: 9 additions & 2 deletions

File tree

.github/workflows/perf-smoke-test.yaml

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -208,8 +208,15 @@ jobs:
208208
- name: Resolve Warp version for JIT cache key
209209
id: warp_version
210210
run: |
211-
version="$(sed -n 's/.*warp-lang[^0-9]*\([0-9][0-9A-Za-z.\-]*\).*/\1/p' source/isaaclab/pyproject.toml | head -n1)"
212-
[ -z "$version" ] && version="unpinned"
211+
# warp-lang is pinned in the repo-root pyproject.toml, not the isaaclab
212+
# package one. Reading the wrong file silently yielded "unpinned", so the
213+
# key never varied with Warp and a cache built by another version could
214+
# restore as a hit. Fail loudly rather than degrade quietly again.
215+
version="$(sed -n 's/.*warp-lang[^0-9]*\([0-9][0-9A-Za-z.\-]*\).*/\1/p' pyproject.toml | head -n1)"
216+
if [ -z "$version" ]; then
217+
echo "::error::Could not resolve the warp-lang pin from pyproject.toml; the JIT cache key would stop tracking the Warp version"
218+
exit 1
219+
fi
213220
echo "value=$version" >> "$GITHUB_OUTPUT"
214221
echo "JIT cache keyed to Warp $version"
215222

0 commit comments

Comments
 (0)