replay chestnut in CI (#38826)

run model replay on chestnut in CI
This commit is contained in:
Daniel Koepping
2026-09-08 18:05:03 -07:00
committed by GitHub
parent f23e65768c
commit dd4615850c
3 changed files with 10 additions and 4 deletions
Vendored
+2 -1
View File
@@ -254,7 +254,8 @@ node {
},
'chestnut': {
deviceStage("chestnut", "mici-chestnut-ci", ["UNSAFE=1", "CHESTNUT=1"], [
step("compile big model", "./openpilot/selfdrive/test/chestnut.sh"),
step("build", "./openpilot/selfdrive/test/chestnut.sh"),
step("model replay", "openpilot/selfdrive/test/process_replay/model_replay.py --chestnut"),
])
},
+1 -1
View File
@@ -3,5 +3,5 @@ set -e
TARGET=openpilot/selfdrive/modeld/models/big_driving_tinygrad.pkl.chunkmanifest
rm -f "$TARGET"
scons --cache-disable "$TARGET"
SCONSFLAGS="-j2 --cache-disable" ./openpilot/system/manager/build.py
test -s "$TARGET"
@@ -25,6 +25,8 @@ SEGMENT = 4
START_FRAME = 0
END_FRAME = 60
CHESTNUT = "--chestnut" in sys.argv
SEND_EXTRA_INPUTS = bool(int(os.getenv("SEND_EXTRA_INPUTS", "0")))
DATA_TOKEN = os.getenv("CI_ARTIFACTS_TOKEN","")
@@ -39,7 +41,7 @@ EXEC_TIMINGS = [
]
def get_log_fn(test_route, ref="master"):
return f"{test_route}_model_tici_{ref}.zst"
return f"{test_route}_model_{'chestnut' if CHESTNUT else 'tici'}_{ref}.zst"
def plot(proposed, master, title, tmp):
proposed = list(proposed)
@@ -170,6 +172,8 @@ def model_replay(lr, frs):
msgs = modeld_msgs + dmonitoringmodeld_msgs
chestnut = any(m.modelV2.big for m in modeld_msgs if m.which() == "modelV2")
if CHESTNUT:
assert chestnut and all(m.modelV2.big for m in modeld_msgs if m.which() == "modelV2"), "Chestnut replay must run the big model without fallback"
header = ['model', 'max instant', 'max instant allowed', 'average', 'max average allowed', 'test result']
rows = []
@@ -285,7 +289,8 @@ if __name__ == "__main__":
diff_short, diff_long, failed = format_diff(results, log_paths, 'master')
if "CI" in os.environ:
comment_replay_report(log_msgs, cmp_log, log_msgs)
if not CHESTNUT:
comment_replay_report(log_msgs, cmp_log, log_msgs)
failed = False
print(diff_long)
print('-------------\n'*5)