From cebf8e15b53360a4cad888ac23835044a9a9a094 Mon Sep 17 00:00:00 2001 From: probablyanasian <43358667+probablyanasian@users.noreply.github.com> Date: Thu, 23 Jul 2026 15:33:33 -0700 Subject: [PATCH 01/15] pull origin/master in CI --- tests/setup_device_ci.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tests/setup_device_ci.sh b/tests/setup_device_ci.sh index fe28b8612cb..a00a01158c6 100755 --- a/tests/setup_device_ci.sh +++ b/tests/setup_device_ci.sh @@ -45,8 +45,10 @@ sleep infinity EOF chmod +x $CONTINUE_PATH - # set up environment +cd /data/openpilot +git pull origin master --recurse-submodules + if [ ! -d "$SOURCE_DIR" ]; then git clone https://github.com/commaai/panda.git $SOURCE_DIR fi From 04906098b0f0c76b78a265bbb4e0908cba714930 Mon Sep 17 00:00:00 2001 From: probablyanasian <43358667+probablyanasian@users.noreply.github.com> Date: Thu, 23 Jul 2026 15:45:04 -0700 Subject: [PATCH 02/15] hard reset first --- tests/setup_device_ci.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/setup_device_ci.sh b/tests/setup_device_ci.sh index a00a01158c6..d25981468ec 100755 --- a/tests/setup_device_ci.sh +++ b/tests/setup_device_ci.sh @@ -47,6 +47,7 @@ chmod +x $CONTINUE_PATH # set up environment cd /data/openpilot +git reset --hard git pull origin master --recurse-submodules if [ ! -d "$SOURCE_DIR" ]; then From 4ead169faa8ec4adc92cb411cc9e180b8776f0a0 Mon Sep 17 00:00:00 2001 From: probablyanasian <43358667+probablyanasian@users.noreply.github.com> Date: Thu, 23 Jul 2026 16:00:45 -0700 Subject: [PATCH 03/15] retrigger CI From e26578c13fef8ee480b11c5f4193def00fd63768 Mon Sep 17 00:00:00 2001 From: probablyanasian <43358667+probablyanasian@users.noreply.github.com> Date: Thu, 23 Jul 2026 20:36:15 -0700 Subject: [PATCH 04/15] rerun ci From d6e81fe27b11d0ae065efdd211edf2f1dfcd910d Mon Sep 17 00:00:00 2001 From: probablyanasian <43358667+probablyanasian@users.noreply.github.com> Date: Thu, 23 Jul 2026 21:58:57 -0700 Subject: [PATCH 05/15] retry tests From 18a008cb100305a40d97070b6a8c5c6ea1cf55b3 Mon Sep 17 00:00:00 2001 From: Robbe Derks Date: Thu, 23 Jul 2026 22:53:52 -0700 Subject: [PATCH 06/15] attempt at using the uv opendbc --- Jenkinsfile | 7 +++++-- tests/setup_device_ci.sh | 10 ++++------ 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 6872ed250bb..c1b38c75042 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -30,10 +30,13 @@ export TEST_DIR=${env.TEST_DIR} export SOURCE_DIR=${env.SOURCE_DIR} export GIT_BRANCH=${env.GIT_BRANCH} export GIT_COMMIT=${env.GIT_COMMIT} -export PYTHONPATH=${env.TEST_DIR}/../ export PYTHONWARNINGS=error export LOGLEVEL=debug -ln -sf /data/openpilot/opendbc_repo/opendbc /data/opendbc + +unset PYTHONPATH +if [ -f "${env.TEST_DIR}/.venv/bin/activate" ]; then + source "${env.TEST_DIR}/.venv/bin/activate" +fi # TODO: this is an agnos issue export PYTEST_ADDOPTS="-p no:asyncio" diff --git a/tests/setup_device_ci.sh b/tests/setup_device_ci.sh index d25981468ec..bc7ae651c64 100755 --- a/tests/setup_device_ci.sh +++ b/tests/setup_device_ci.sh @@ -45,11 +45,6 @@ sleep infinity EOF chmod +x $CONTINUE_PATH -# set up environment -cd /data/openpilot -git reset --hard -git pull origin master --recurse-submodules - if [ ! -d "$SOURCE_DIR" ]; then git clone https://github.com/commaai/panda.git $SOURCE_DIR fi @@ -74,6 +69,9 @@ git clean -xdff echo "git checkout done, t=$SECONDS" du -hs $SOURCE_DIR $SOURCE_DIR/.git -rsync -a --delete $SOURCE_DIR $TEST_DIR +rsync -a --delete --exclude '.venv/' "$SOURCE_DIR" "$TEST_DIR" + +# use panda's environment so dependencies come from its pyproject.toml +uv sync --project "$TEST_DIR" --all-extras --upgrade-package opendbc echo "$TEST_DIR synced with $GIT_COMMIT, t=$SECONDS" From c5979e4e5d07586d49bb194f4856b43f4676ddc7 Mon Sep 17 00:00:00 2001 From: Robbe Derks Date: Thu, 23 Jul 2026 22:58:05 -0700 Subject: [PATCH 07/15] fix error during uv sync --- tests/setup_device_ci.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/setup_device_ci.sh b/tests/setup_device_ci.sh index bc7ae651c64..e8bee6f3335 100755 --- a/tests/setup_device_ci.sh +++ b/tests/setup_device_ci.sh @@ -72,6 +72,6 @@ du -hs $SOURCE_DIR $SOURCE_DIR/.git rsync -a --delete --exclude '.venv/' "$SOURCE_DIR" "$TEST_DIR" # use panda's environment so dependencies come from its pyproject.toml -uv sync --project "$TEST_DIR" --all-extras --upgrade-package opendbc +PYTHONWARNINGS=default uv sync --project "$TEST_DIR" --all-extras --upgrade-package opendbc echo "$TEST_DIR synced with $GIT_COMMIT, t=$SECONDS" From 349c3f4934a924ebb170e2b25ef55596739332bc Mon Sep 17 00:00:00 2001 From: probablyanasian <43358667+probablyanasian@users.noreply.github.com> Date: Fri, 24 Jul 2026 00:56:13 -0700 Subject: [PATCH 08/15] use test dir to cache uv --- tests/setup_device_ci.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/setup_device_ci.sh b/tests/setup_device_ci.sh index e8bee6f3335..3df976aec83 100755 --- a/tests/setup_device_ci.sh +++ b/tests/setup_device_ci.sh @@ -72,6 +72,6 @@ du -hs $SOURCE_DIR $SOURCE_DIR/.git rsync -a --delete --exclude '.venv/' "$SOURCE_DIR" "$TEST_DIR" # use panda's environment so dependencies come from its pyproject.toml -PYTHONWARNINGS=default uv sync --project "$TEST_DIR" --all-extras --upgrade-package opendbc +PYTHONWARNINGS=default uv sync --project "$TEST_DIR" --all-extras --cache-dir="$TEST_DIR/.cache" --upgrade-package opendbc echo "$TEST_DIR synced with $GIT_COMMIT, t=$SECONDS" From 653b00a7f72c1db2e6df6db012358e3990453833 Mon Sep 17 00:00:00 2001 From: probablyanasian <43358667+probablyanasian@users.noreply.github.com> Date: Fri, 24 Jul 2026 01:03:58 -0700 Subject: [PATCH 09/15] rerun From 2b78f05b7f9691f64f8e85a8dc49c8899459030d Mon Sep 17 00:00:00 2001 From: probablyanasian <43358667+probablyanasian@users.noreply.github.com> Date: Fri, 24 Jul 2026 01:32:22 -0700 Subject: [PATCH 10/15] preserve cache --- tests/setup_device_ci.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/setup_device_ci.sh b/tests/setup_device_ci.sh index 3df976aec83..91536c94cbd 100755 --- a/tests/setup_device_ci.sh +++ b/tests/setup_device_ci.sh @@ -72,6 +72,6 @@ du -hs $SOURCE_DIR $SOURCE_DIR/.git rsync -a --delete --exclude '.venv/' "$SOURCE_DIR" "$TEST_DIR" # use panda's environment so dependencies come from its pyproject.toml -PYTHONWARNINGS=default uv sync --project "$TEST_DIR" --all-extras --cache-dir="$TEST_DIR/.cache" --upgrade-package opendbc +PYTHONWARNINGS=default uv sync --project "$TEST_DIR" --cache-dir="/data/uv_cache" --all-extras --upgrade-package opendbc echo "$TEST_DIR synced with $GIT_COMMIT, t=$SECONDS" From d138f9982ad8127d7df44e683609715d401c4fed Mon Sep 17 00:00:00 2001 From: probablyanasian <43358667+probablyanasian@users.noreply.github.com> Date: Fri, 24 Jul 2026 01:40:26 -0700 Subject: [PATCH 11/15] rerun From ea63619cfa0be86fe1d10ef508b0e7d14742a418 Mon Sep 17 00:00:00 2001 From: probablyanasian <43358667+probablyanasian@users.noreply.github.com> Date: Fri, 24 Jul 2026 02:23:13 -0700 Subject: [PATCH 12/15] retry From 6efe9f42c87eae1eeaad8f11d1139a6b139bc0f6 Mon Sep 17 00:00:00 2001 From: probablyanasian <43358667+probablyanasian@users.noreply.github.com> Date: Fri, 24 Jul 2026 02:53:14 -0700 Subject: [PATCH 13/15] do not use shimmed uv --- tests/setup_device_ci.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tests/setup_device_ci.sh b/tests/setup_device_ci.sh index 91536c94cbd..ac23b68da1b 100755 --- a/tests/setup_device_ci.sh +++ b/tests/setup_device_ci.sh @@ -71,7 +71,9 @@ du -hs $SOURCE_DIR $SOURCE_DIR/.git rsync -a --delete --exclude '.venv/' "$SOURCE_DIR" "$TEST_DIR" +# /usr/comma/shims/uv wraps uv in sudo, which roots the venv — use the real binary +UV=$(type -ap uv | grep -vF /usr/comma/shims | head -n1) # use panda's environment so dependencies come from its pyproject.toml -PYTHONWARNINGS=default uv sync --project "$TEST_DIR" --cache-dir="/data/uv_cache" --all-extras --upgrade-package opendbc +PYTHONWARNINGS=default "$UV" sync --project "$TEST_DIR" --cache-dir="/data/uv_cache" --all-extras --upgrade-package opendbc echo "$TEST_DIR synced with $GIT_COMMIT, t=$SECONDS" From dd582315746376c0c05dcb7428e59d78a3b39cd9 Mon Sep 17 00:00:00 2001 From: probablyanasian <43358667+probablyanasian@users.noreply.github.com> Date: Fri, 24 Jul 2026 03:12:04 -0700 Subject: [PATCH 14/15] don't preserve .venv between runs --- tests/setup_device_ci.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/setup_device_ci.sh b/tests/setup_device_ci.sh index ac23b68da1b..8cf4dab012d 100755 --- a/tests/setup_device_ci.sh +++ b/tests/setup_device_ci.sh @@ -69,7 +69,7 @@ git clean -xdff echo "git checkout done, t=$SECONDS" du -hs $SOURCE_DIR $SOURCE_DIR/.git -rsync -a --delete --exclude '.venv/' "$SOURCE_DIR" "$TEST_DIR" +rsync -a --delete "$SOURCE_DIR" "$TEST_DIR" # /usr/comma/shims/uv wraps uv in sudo, which roots the venv — use the real binary UV=$(type -ap uv | grep -vF /usr/comma/shims | head -n1) From 7f4fc399772070d9faf509b7455d683d971d93be Mon Sep 17 00:00:00 2001 From: probablyanasian <43358667+probablyanasian@users.noreply.github.com> Date: Fri, 24 Jul 2026 03:14:49 -0700 Subject: [PATCH 15/15] prune cache after uv syncs --- tests/setup_device_ci.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/setup_device_ci.sh b/tests/setup_device_ci.sh index 8cf4dab012d..2ad42e1122e 100755 --- a/tests/setup_device_ci.sh +++ b/tests/setup_device_ci.sh @@ -75,5 +75,6 @@ rsync -a --delete "$SOURCE_DIR" "$TEST_DIR" UV=$(type -ap uv | grep -vF /usr/comma/shims | head -n1) # use panda's environment so dependencies come from its pyproject.toml PYTHONWARNINGS=default "$UV" sync --project "$TEST_DIR" --cache-dir="/data/uv_cache" --all-extras --upgrade-package opendbc +"$UV" cache prune --cache-dir=/data/uv_cache echo "$TEST_DIR synced with $GIT_COMMIT, t=$SECONDS"