From a73a8cfcc405653ce8d4f64d6e28b91a3218139d Mon Sep 17 00:00:00 2001 From: Andy Fingerhut Date: Wed, 22 Jul 2026 17:14:25 -0400 Subject: [PATCH 01/21] Update script used to install uv to install version 0.11.7 to match what many other p4lang repositories use today. Signed-off-by: Andy Fingerhut --- .github/workflows/test-exercises.yml | 4 ++-- CI/install-uv.sh | 30 ++++++++++++++++++++++++++++ CI/setup-uv.sh | 16 --------------- 3 files changed, 32 insertions(+), 18 deletions(-) create mode 100755 CI/install-uv.sh delete mode 100755 CI/setup-uv.sh diff --git a/.github/workflows/test-exercises.yml b/.github/workflows/test-exercises.yml index d47282ba..b1e376ef 100644 --- a/.github/workflows/test-exercises.yml +++ b/.github/workflows/test-exercises.yml @@ -22,11 +22,11 @@ jobs: - uses: actions/checkout@v6 - name: Install REUSE run: | - ./CI/setup-uv.sh + ./CI/install-uv.sh uv pip install reuse - name: Validate presence of copyright and license info (python w/reuse) run: | - uv run reuse lint + uvx reuse lint test-exercise: timeout-minutes: 30 runs-on: ubuntu-latest diff --git a/CI/install-uv.sh b/CI/install-uv.sh new file mode 100755 index 00000000..4a9d68d2 --- /dev/null +++ b/CI/install-uv.sh @@ -0,0 +1,30 @@ +#!/usr/bin/env bash +# SPDX-FileCopyrightText: 2026 The P4 Language Consortium +# SPDX-License-Identifier: Apache-2.0 + +set -eu + +UV_VERSION="${UV_VERSION:-0.11.7}" +UV_INSTALL_DIR="${HOME}/.local/bin" + +if command -v uv >/dev/null 2>&1; then + exit 0 +fi + +mkdir -p "${UV_INSTALL_DIR}" + +if command -v curl >/dev/null 2>&1; then + env UV_UNMANAGED_INSTALL="${UV_INSTALL_DIR}" \ + sh -c "$(curl -LsSf https://astral.sh/uv/${UV_VERSION}/install.sh)" +elif command -v wget >/dev/null 2>&1; then + env UV_UNMANAGED_INSTALL="${UV_INSTALL_DIR}" \ + sh -c "$(wget -qO- https://astral.sh/uv/${UV_VERSION}/install.sh)" +else + echo "Neither curl nor wget is available to install uv" >&2 + exit 1 +fi + +export PATH="${UV_INSTALL_DIR}:${PATH}" +if [ -n "${GITHUB_PATH:-}" ]; then + echo "${UV_INSTALL_DIR}" >> "${GITHUB_PATH}" +fi diff --git a/CI/setup-uv.sh b/CI/setup-uv.sh deleted file mode 100755 index 2d24c3b6..00000000 --- a/CI/setup-uv.sh +++ /dev/null @@ -1,16 +0,0 @@ -#! /bin/bash - -# SPDX-FileCopyrightText: 2026 Andy Fingerhut -# -# SPDX-License-Identifier: Apache-2.0 - -sudo apt-get update -# Set up uv for Python dependency management. -# TODO: Consider using a system-provided package here. -sudo apt-get install -y curl -curl -LsSf https://astral.sh/uv/0.6.12/install.sh | sh -# Ensure uv is in the PATH -export PATH="${PATH}:$HOME/.local/bin" -# Create a venv for use by uv, without needing a pyproject.toml file for the project. -uv venv -uv tool update-shell From 8feb43e6398e2231b05bb6071de5da4401a4424e Mon Sep 17 00:00:00 2001 From: Andy Fingerhut Date: Wed, 22 Jul 2026 17:17:07 -0400 Subject: [PATCH 02/21] Attempted fix Signed-off-by: Andy Fingerhut --- .github/workflows/test-exercises.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/test-exercises.yml b/.github/workflows/test-exercises.yml index b1e376ef..e8bd6d3f 100644 --- a/.github/workflows/test-exercises.yml +++ b/.github/workflows/test-exercises.yml @@ -23,7 +23,6 @@ jobs: - name: Install REUSE run: | ./CI/install-uv.sh - uv pip install reuse - name: Validate presence of copyright and license info (python w/reuse) run: | uvx reuse lint From c9f0aefa101098378a8d500ba07144bdb8e3000d Mon Sep 17 00:00:00 2001 From: Andy Fingerhut Date: Wed, 22 Jul 2026 17:21:51 -0400 Subject: [PATCH 03/21] More modifications attempting to enable CI tests to pass using uv Signed-off-by: Andy Fingerhut --- .github/workflows/test-exercises.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test-exercises.yml b/.github/workflows/test-exercises.yml index e8bd6d3f..f31a644d 100644 --- a/.github/workflows/test-exercises.yml +++ b/.github/workflows/test-exercises.yml @@ -39,13 +39,15 @@ jobs: steps: - name: Checkout code - uses: actions/checkout@v4 + uses: actions/checkout@v6 - name: Install build dependencies run: | apt-get update apt-get install -y make python3-pip sudo libboost-iostreams-dev libboost-graph-dev - pip3 install protobuf==3.20.3 grpcio grpcio-tools googleapis-common-protos scapy + ./CI/install-uv.sh + export PATH="${PATH}:${HOME}/.local/bin" + uv pip install protobuf==3.20.3 grpcio grpcio-tools googleapis-common-protos scapy - name: Run PTF Tests run: | From d7470bf60d7b3f58e9339566bd2898b832599eec Mon Sep 17 00:00:00 2001 From: Andy Fingerhut Date: Wed, 22 Jul 2026 17:35:58 -0400 Subject: [PATCH 04/21] More experimentation Signed-off-by: Andy Fingerhut --- .github/workflows/test-exercises.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/test-exercises.yml b/.github/workflows/test-exercises.yml index f31a644d..1a017397 100644 --- a/.github/workflows/test-exercises.yml +++ b/.github/workflows/test-exercises.yml @@ -46,6 +46,7 @@ jobs: apt-get update apt-get install -y make python3-pip sudo libboost-iostreams-dev libboost-graph-dev ./CI/install-uv.sh + uv venv export PATH="${PATH}:${HOME}/.local/bin" uv pip install protobuf==3.20.3 grpcio grpcio-tools googleapis-common-protos scapy From fb22c2c67839969a4feb16c8ca198e6af61f8df4 Mon Sep 17 00:00:00 2001 From: Andy Fingerhut Date: Wed, 22 Jul 2026 17:40:58 -0400 Subject: [PATCH 05/21] Experiments continue Signed-off-by: Andy Fingerhut --- .github/workflows/test-exercises.yml | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test-exercises.yml b/.github/workflows/test-exercises.yml index 1a017397..0ed00cb8 100644 --- a/.github/workflows/test-exercises.yml +++ b/.github/workflows/test-exercises.yml @@ -47,8 +47,13 @@ jobs: apt-get install -y make python3-pip sudo libboost-iostreams-dev libboost-graph-dev ./CI/install-uv.sh uv venv - export PATH="${PATH}:${HOME}/.local/bin" - uv pip install protobuf==3.20.3 grpcio grpcio-tools googleapis-common-protos scapy + export PATH="${PATH}:${HOME}/.venv/bin" + #uv pip install protobuf==3.20.3 grpcio grpcio-tools googleapis-common-protos scapy + uv pip install protobuf==3.20.3 + uv pip install grpcio + uv pip install grpcio-tools + uv pip install googleapis-common-protos + uv pip install scapy - name: Run PTF Tests run: | From e0cc1dd3bf7919ccaf7b73c9c2e8a97a23959132 Mon Sep 17 00:00:00 2001 From: Andy Fingerhut Date: Wed, 22 Jul 2026 17:43:54 -0400 Subject: [PATCH 06/21] Use spaces instead of tabs. Signed-off-by: Andy Fingerhut --- .github/workflows/test-exercises.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/test-exercises.yml b/.github/workflows/test-exercises.yml index 0ed00cb8..144c7126 100644 --- a/.github/workflows/test-exercises.yml +++ b/.github/workflows/test-exercises.yml @@ -49,11 +49,11 @@ jobs: uv venv export PATH="${PATH}:${HOME}/.venv/bin" #uv pip install protobuf==3.20.3 grpcio grpcio-tools googleapis-common-protos scapy - uv pip install protobuf==3.20.3 - uv pip install grpcio - uv pip install grpcio-tools - uv pip install googleapis-common-protos - uv pip install scapy + uv pip install protobuf==3.20.3 + uv pip install grpcio + uv pip install grpcio-tools + uv pip install googleapis-common-protos + uv pip install scapy - name: Run PTF Tests run: | From c25c515f67cc358f5ece67ce9cab12313d746e01 Mon Sep 17 00:00:00 2001 From: Andy Fingerhut Date: Wed, 22 Jul 2026 17:47:09 -0400 Subject: [PATCH 07/21] Install Python package ptf, too Signed-off-by: Andy Fingerhut --- .github/workflows/test-exercises.yml | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/.github/workflows/test-exercises.yml b/.github/workflows/test-exercises.yml index 144c7126..623cf6bc 100644 --- a/.github/workflows/test-exercises.yml +++ b/.github/workflows/test-exercises.yml @@ -48,12 +48,7 @@ jobs: ./CI/install-uv.sh uv venv export PATH="${PATH}:${HOME}/.venv/bin" - #uv pip install protobuf==3.20.3 grpcio grpcio-tools googleapis-common-protos scapy - uv pip install protobuf==3.20.3 - uv pip install grpcio - uv pip install grpcio-tools - uv pip install googleapis-common-protos - uv pip install scapy + uv pip install protobuf==3.20.3 grpcio grpcio-tools googleapis-common-protos scapy ptf - name: Run PTF Tests run: | From 81dc2e14df30ea271f714d3f7d839a61e6b40441 Mon Sep 17 00:00:00 2001 From: Andy Fingerhut Date: Wed, 22 Jul 2026 19:33:52 -0400 Subject: [PATCH 08/21] Continue the tweaking Signed-off-by: Andy Fingerhut --- .github/workflows/test-exercises.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/test-exercises.yml b/.github/workflows/test-exercises.yml index 623cf6bc..d17be34c 100644 --- a/.github/workflows/test-exercises.yml +++ b/.github/workflows/test-exercises.yml @@ -48,7 +48,8 @@ jobs: ./CI/install-uv.sh uv venv export PATH="${PATH}:${HOME}/.venv/bin" - uv pip install protobuf==3.20.3 grpcio grpcio-tools googleapis-common-protos scapy ptf + uv pip install protobuf==3.20.3 + uv pip install grpcio grpcio-tools googleapis-common-protos scapy ptf - name: Run PTF Tests run: | From b2d576264c117d6b8369a16d00659b46cefbfb5b Mon Sep 17 00:00:00 2001 From: Andy Fingerhut Date: Wed, 22 Jul 2026 19:36:29 -0400 Subject: [PATCH 09/21] more Signed-off-by: Andy Fingerhut --- .github/workflows/test-exercises.yml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.github/workflows/test-exercises.yml b/.github/workflows/test-exercises.yml index d17be34c..c58d0708 100644 --- a/.github/workflows/test-exercises.yml +++ b/.github/workflows/test-exercises.yml @@ -46,10 +46,15 @@ jobs: apt-get update apt-get install -y make python3-pip sudo libboost-iostreams-dev libboost-graph-dev ./CI/install-uv.sh + echo "Just before: uv venv" uv venv export PATH="${PATH}:${HOME}/.venv/bin" + echo "Just before: uv pip install protobuf==3.20.3" uv pip install protobuf==3.20.3 - uv pip install grpcio grpcio-tools googleapis-common-protos scapy ptf + echo "Just before: uv pip install grpcio" + uv pip install grpcio + echo "Just before: uv pip install grpcio-tools googleapis-common-protos scapy ptf" + uv pip install grpcio-tools googleapis-common-protos scapy ptf - name: Run PTF Tests run: | From f55e55ba896e71b4cbd700f7a2ab12032049962c Mon Sep 17 00:00:00 2001 From: Andy Fingerhut Date: Wed, 22 Jul 2026 19:39:00 -0400 Subject: [PATCH 10/21] tweakin Signed-off-by: Andy Fingerhut --- .github/workflows/test-exercises.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/test-exercises.yml b/.github/workflows/test-exercises.yml index c58d0708..c3b20a2d 100644 --- a/.github/workflows/test-exercises.yml +++ b/.github/workflows/test-exercises.yml @@ -59,7 +59,10 @@ jobs: - name: Run PTF Tests run: | cd exercises/${{ matrix.exercise }} - make test + echo "Got here #1" + export PATH="${PATH}:${HOME}/.venv/bin" + echo "Got here #2" + uvx run make test # Retain logs in case runs fail - name: Upload Logs if: always() From 34d8e7d9a605c4b600b782fd1d6cf2894d3d3972 Mon Sep 17 00:00:00 2001 From: Andy Fingerhut Date: Wed, 22 Jul 2026 21:26:52 -0400 Subject: [PATCH 11/21] Eliminate incorrect 'run' arg to uvx Signed-off-by: Andy Fingerhut --- .github/workflows/test-exercises.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test-exercises.yml b/.github/workflows/test-exercises.yml index c3b20a2d..b5e23ac8 100644 --- a/.github/workflows/test-exercises.yml +++ b/.github/workflows/test-exercises.yml @@ -62,7 +62,7 @@ jobs: echo "Got here #1" export PATH="${PATH}:${HOME}/.venv/bin" echo "Got here #2" - uvx run make test + uvx make test # Retain logs in case runs fail - name: Upload Logs if: always() From 5f4c21cf34eedcf9af5bec5fc7cb95de19d44edd Mon Sep 17 00:00:00 2001 From: Andy Fingerhut Date: Wed, 22 Jul 2026 21:57:19 -0400 Subject: [PATCH 12/21] Tweaking, tweaking ... Signed-off-by: Andy Fingerhut --- .github/workflows/test-exercises.yml | 1 + exercises/basic/runptf.sh | 3 +++ 2 files changed, 4 insertions(+) diff --git a/.github/workflows/test-exercises.yml b/.github/workflows/test-exercises.yml index b5e23ac8..93894813 100644 --- a/.github/workflows/test-exercises.yml +++ b/.github/workflows/test-exercises.yml @@ -62,6 +62,7 @@ jobs: echo "Got here #1" export PATH="${PATH}:${HOME}/.venv/bin" echo "Got here #2" + echo "PATH=${PATH}" uvx make test # Retain logs in case runs fail - name: Upload Logs diff --git a/exercises/basic/runptf.sh b/exercises/basic/runptf.sh index 4ff7dfcb..2dfe365e 100755 --- a/exercises/basic/runptf.sh +++ b/exercises/basic/runptf.sh @@ -43,6 +43,9 @@ echo "" echo "Started simple_switch_grpc. Waiting 2 seconds before starting PTF test..." sleep 2 +echo "P4_EXTRA_SUDO_OPTS=:${P4_EXTRA_SUDO_OPTS}:" +echo "which ptf=:`which ptf`:" + # ---- run tests ---- sudo ${P4_EXTRA_SUDO_OPTS} `which ptf` \ -i 0@veth1 \ From b9e7204bcda3be81eadebe57b98ab9c6b5e34d9f Mon Sep 17 00:00:00 2001 From: Andy Fingerhut Date: Wed, 22 Jul 2026 22:01:31 -0400 Subject: [PATCH 13/21] more debug logging Signed-off-by: Andy Fingerhut --- .github/workflows/test-exercises.yml | 7 +++++++ exercises/basic/runptf.sh | 6 ++++++ 2 files changed, 13 insertions(+) diff --git a/.github/workflows/test-exercises.yml b/.github/workflows/test-exercises.yml index 93894813..32bbbe5f 100644 --- a/.github/workflows/test-exercises.yml +++ b/.github/workflows/test-exercises.yml @@ -62,7 +62,14 @@ jobs: echo "Got here #1" export PATH="${PATH}:${HOME}/.venv/bin" echo "Got here #2" + echo "HOME=${HOME}" echo "PATH=${PATH}" + echo "ls $HOME/.venv/bin" + echo "--------------------" + ls $HOME/.venv/bin + echo "--------------------" + echo "which ptf:" + which ptf uvx make test # Retain logs in case runs fail - name: Upload Logs diff --git a/exercises/basic/runptf.sh b/exercises/basic/runptf.sh index 2dfe365e..559e5ce9 100755 --- a/exercises/basic/runptf.sh +++ b/exercises/basic/runptf.sh @@ -44,6 +44,12 @@ echo "Started simple_switch_grpc. Waiting 2 seconds before starting PTF test..." sleep 2 echo "P4_EXTRA_SUDO_OPTS=:${P4_EXTRA_SUDO_OPTS}:" +echo "HOME=${HOME}" +echo "PATH=${PATH}" +echo "ls $HOME/.venv/bin" +echo "--------------------" +ls $HOME/.venv/bin +echo "--------------------" echo "which ptf=:`which ptf`:" # ---- run tests ---- From 3386b570e978c9d19a683fef60cecec4a0beee9a Mon Sep 17 00:00:00 2001 From: Andy Fingerhut Date: Wed, 22 Jul 2026 22:08:01 -0400 Subject: [PATCH 14/21] still more debug logging Signed-off-by: Andy Fingerhut --- .github/workflows/test-exercises.yml | 10 +++++++--- exercises/basic/runptf.sh | 8 ++++++-- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/.github/workflows/test-exercises.yml b/.github/workflows/test-exercises.yml index 32bbbe5f..c3eede65 100644 --- a/.github/workflows/test-exercises.yml +++ b/.github/workflows/test-exercises.yml @@ -48,7 +48,7 @@ jobs: ./CI/install-uv.sh echo "Just before: uv venv" uv venv - export PATH="${PATH}:${HOME}/.venv/bin" + export PATH="${PATH}:${HOME}/.local/bin" echo "Just before: uv pip install protobuf==3.20.3" uv pip install protobuf==3.20.3 echo "Just before: uv pip install grpcio" @@ -64,9 +64,13 @@ jobs: echo "Got here #2" echo "HOME=${HOME}" echo "PATH=${PATH}" - echo "ls $HOME/.venv/bin" + echo "ls $HOME" + echo "--------------------" + ls $HOME + echo "--------------------" + echo "ls $HOME/.local/bin" echo "--------------------" - ls $HOME/.venv/bin + ls $HOME/.local/bin echo "--------------------" echo "which ptf:" which ptf diff --git a/exercises/basic/runptf.sh b/exercises/basic/runptf.sh index 559e5ce9..22f7385a 100755 --- a/exercises/basic/runptf.sh +++ b/exercises/basic/runptf.sh @@ -46,9 +46,13 @@ sleep 2 echo "P4_EXTRA_SUDO_OPTS=:${P4_EXTRA_SUDO_OPTS}:" echo "HOME=${HOME}" echo "PATH=${PATH}" -echo "ls $HOME/.venv/bin" +echo "ls $HOME" echo "--------------------" -ls $HOME/.venv/bin +ls $HOME +echo "--------------------" +echo "ls $HOME/.local/bin" +echo "--------------------" +ls $HOME/.local/bin echo "--------------------" echo "which ptf=:`which ptf`:" From b7c00ce4b6ea10e743fc09378b2458eed2096c58 Mon Sep 17 00:00:00 2001 From: Andy Fingerhut Date: Wed, 22 Jul 2026 22:45:55 -0400 Subject: [PATCH 15/21] more debug Signed-off-by: Andy Fingerhut --- exercises/basic/runptf.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/exercises/basic/runptf.sh b/exercises/basic/runptf.sh index 22f7385a..f0e376f4 100755 --- a/exercises/basic/runptf.sh +++ b/exercises/basic/runptf.sh @@ -46,13 +46,13 @@ sleep 2 echo "P4_EXTRA_SUDO_OPTS=:${P4_EXTRA_SUDO_OPTS}:" echo "HOME=${HOME}" echo "PATH=${PATH}" -echo "ls $HOME" +echo "ls -la $HOME" echo "--------------------" -ls $HOME +ls -la $HOME echo "--------------------" -echo "ls $HOME/.local/bin" +echo "ls -la $HOME/.local/bin" echo "--------------------" -ls $HOME/.local/bin +ls -la $HOME/.local/bin echo "--------------------" echo "which ptf=:`which ptf`:" From f1b94e557b5d8315316161e1c5828fb49434f3ca Mon Sep 17 00:00:00 2001 From: Andy Fingerhut Date: Wed, 22 Jul 2026 22:49:20 -0400 Subject: [PATCH 16/21] Still more debug Signed-off-by: Andy Fingerhut --- .github/workflows/test-exercises.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/test-exercises.yml b/.github/workflows/test-exercises.yml index c3eede65..ddfa343f 100644 --- a/.github/workflows/test-exercises.yml +++ b/.github/workflows/test-exercises.yml @@ -64,13 +64,13 @@ jobs: echo "Got here #2" echo "HOME=${HOME}" echo "PATH=${PATH}" - echo "ls $HOME" + echo "ls -la $HOME" echo "--------------------" - ls $HOME + ls -la $HOME echo "--------------------" - echo "ls $HOME/.local/bin" + echo "ls -la $HOME/.local/bin" echo "--------------------" - ls $HOME/.local/bin + ls -la $HOME/.local/bin echo "--------------------" echo "which ptf:" which ptf From a80db39f29049e14a618b0c98d83c7fc72a2c6fd Mon Sep 17 00:00:00 2001 From: Andy Fingerhut Date: Wed, 22 Jul 2026 22:52:24 -0400 Subject: [PATCH 17/21] More debug Signed-off-by: Andy Fingerhut --- .github/workflows/test-exercises.yml | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/.github/workflows/test-exercises.yml b/.github/workflows/test-exercises.yml index ddfa343f..bb16c2d5 100644 --- a/.github/workflows/test-exercises.yml +++ b/.github/workflows/test-exercises.yml @@ -48,13 +48,25 @@ jobs: ./CI/install-uv.sh echo "Just before: uv venv" uv venv - export PATH="${PATH}:${HOME}/.local/bin" + echo "ls -la $HOME" + echo "--------------------" + ls -la $HOME + echo "--------------------" + export PATH="${PATH}:${HOME}/.venv/bin" echo "Just before: uv pip install protobuf==3.20.3" uv pip install protobuf==3.20.3 echo "Just before: uv pip install grpcio" uv pip install grpcio echo "Just before: uv pip install grpcio-tools googleapis-common-protos scapy ptf" uv pip install grpcio-tools googleapis-common-protos scapy ptf + echo "ls -la $HOME" + echo "--------------------" + ls -la $HOME + echo "--------------------" + echo "ls -la $HOME/.venv/bin" + echo "--------------------" + ls -la $HOME/.local/bin + echo "--------------------" - name: Run PTF Tests run: | From fd002e1e8059e3ae5578c17b25397f1043a57ea0 Mon Sep 17 00:00:00 2001 From: Andy Fingerhut Date: Wed, 22 Jul 2026 23:09:25 -0400 Subject: [PATCH 18/21] More debug Signed-off-by: Andy Fingerhut --- .github/workflows/test-exercises.yml | 7 ++++--- exercises/basic/runptf.sh | 4 ++-- exercises/basic_tunnel/runptf.sh | 13 +++++++++++++ 3 files changed, 19 insertions(+), 5 deletions(-) diff --git a/.github/workflows/test-exercises.yml b/.github/workflows/test-exercises.yml index bb16c2d5..cd8d4aa7 100644 --- a/.github/workflows/test-exercises.yml +++ b/.github/workflows/test-exercises.yml @@ -47,6 +47,7 @@ jobs: apt-get install -y make python3-pip sudo libboost-iostreams-dev libboost-graph-dev ./CI/install-uv.sh echo "Just before: uv venv" + cd $HOME uv venv echo "ls -la $HOME" echo "--------------------" @@ -65,7 +66,7 @@ jobs: echo "--------------------" echo "ls -la $HOME/.venv/bin" echo "--------------------" - ls -la $HOME/.local/bin + ls -la $HOME/.venv/bin echo "--------------------" - name: Run PTF Tests @@ -80,9 +81,9 @@ jobs: echo "--------------------" ls -la $HOME echo "--------------------" - echo "ls -la $HOME/.local/bin" + echo "ls -la $HOME/.venv/bin" echo "--------------------" - ls -la $HOME/.local/bin + ls -la $HOME/.venv/bin echo "--------------------" echo "which ptf:" which ptf diff --git a/exercises/basic/runptf.sh b/exercises/basic/runptf.sh index f0e376f4..0a4324d4 100755 --- a/exercises/basic/runptf.sh +++ b/exercises/basic/runptf.sh @@ -50,9 +50,9 @@ echo "ls -la $HOME" echo "--------------------" ls -la $HOME echo "--------------------" -echo "ls -la $HOME/.local/bin" +echo "ls -la $HOME/.venv/bin" echo "--------------------" -ls -la $HOME/.local/bin +ls -la $HOME/.venv/bin echo "--------------------" echo "which ptf=:`which ptf`:" diff --git a/exercises/basic_tunnel/runptf.sh b/exercises/basic_tunnel/runptf.sh index 17ead3fc..d596d76f 100755 --- a/exercises/basic_tunnel/runptf.sh +++ b/exercises/basic_tunnel/runptf.sh @@ -43,6 +43,19 @@ echo "" echo "Started simple_switch_grpc. Waiting 2 seconds before starting PTF test..." sleep 2 +echo "P4_EXTRA_SUDO_OPTS=:${P4_EXTRA_SUDO_OPTS}:" +echo "HOME=${HOME}" +echo "PATH=${PATH}" +echo "ls -la $HOME" +echo "--------------------" +ls -la $HOME +echo "--------------------" +echo "ls -la $HOME/.venv/bin" +echo "--------------------" +ls -la $HOME/.venv/bin +echo "--------------------" +echo "which ptf=:`which ptf`:" + # ---- run tests ---- sudo ${P4_EXTRA_SUDO_OPTS} `which ptf` \ -i 0@veth1 \ From 61c97df9821720951d478c1ff34e00f93e3a6c4e Mon Sep 17 00:00:00 2001 From: Andy Fingerhut Date: Wed, 22 Jul 2026 23:17:23 -0400 Subject: [PATCH 19/21] Try running tests without using uv Signed-off-by: Andy Fingerhut --- .github/workflows/test-exercises.yml | 66 +++++++++++++++------------- exercises/basic/runptf.sh | 8 ++-- exercises/basic_tunnel/runptf.sh | 8 ++-- 3 files changed, 44 insertions(+), 38 deletions(-) diff --git a/.github/workflows/test-exercises.yml b/.github/workflows/test-exercises.yml index cd8d4aa7..2f2a57f6 100644 --- a/.github/workflows/test-exercises.yml +++ b/.github/workflows/test-exercises.yml @@ -45,49 +45,55 @@ jobs: run: | apt-get update apt-get install -y make python3-pip sudo libboost-iostreams-dev libboost-graph-dev - ./CI/install-uv.sh - echo "Just before: uv venv" - cd $HOME - uv venv - echo "ls -la $HOME" - echo "--------------------" - ls -la $HOME - echo "--------------------" - export PATH="${PATH}:${HOME}/.venv/bin" + #./CI/install-uv.sh + #echo "Just before: uv venv" + #cd $HOME + #uv venv + #echo "ls -la $HOME" + #echo "--------------------" + #ls -la $HOME + #echo "--------------------" + #export PATH="${PATH}:${HOME}/.venv/bin" + pip3 list -v echo "Just before: uv pip install protobuf==3.20.3" uv pip install protobuf==3.20.3 echo "Just before: uv pip install grpcio" uv pip install grpcio echo "Just before: uv pip install grpcio-tools googleapis-common-protos scapy ptf" uv pip install grpcio-tools googleapis-common-protos scapy ptf - echo "ls -la $HOME" - echo "--------------------" - ls -la $HOME - echo "--------------------" - echo "ls -la $HOME/.venv/bin" - echo "--------------------" - ls -la $HOME/.venv/bin - echo "--------------------" + pip3 list -v + echo "which ptf:" + which ptf + #echo "ls -la $HOME" + #echo "--------------------" + #ls -la $HOME + #echo "--------------------" + #echo "ls -la $HOME/.venv/bin" + #echo "--------------------" + #ls -la $HOME/.venv/bin + #echo "--------------------" - name: Run PTF Tests run: | cd exercises/${{ matrix.exercise }} echo "Got here #1" - export PATH="${PATH}:${HOME}/.venv/bin" - echo "Got here #2" - echo "HOME=${HOME}" - echo "PATH=${PATH}" - echo "ls -la $HOME" - echo "--------------------" - ls -la $HOME - echo "--------------------" - echo "ls -la $HOME/.venv/bin" - echo "--------------------" - ls -la $HOME/.venv/bin - echo "--------------------" + pip3 list -v echo "which ptf:" which ptf - uvx make test + #export PATH="${PATH}:${HOME}/.venv/bin" + #echo "Got here #2" + echo "HOME=${HOME}" + echo "PATH=${PATH}" + #echo "ls -la $HOME" + #echo "--------------------" + #ls -la $HOME + #echo "--------------------" + #echo "ls -la $HOME/.venv/bin" + #echo "--------------------" + #ls -la $HOME/.venv/bin + #echo "--------------------" + #uvx make test + make test # Retain logs in case runs fail - name: Upload Logs if: always() diff --git a/exercises/basic/runptf.sh b/exercises/basic/runptf.sh index 0a4324d4..a4a9cbc3 100755 --- a/exercises/basic/runptf.sh +++ b/exercises/basic/runptf.sh @@ -50,10 +50,10 @@ echo "ls -la $HOME" echo "--------------------" ls -la $HOME echo "--------------------" -echo "ls -la $HOME/.venv/bin" -echo "--------------------" -ls -la $HOME/.venv/bin -echo "--------------------" +#echo "ls -la $HOME/.venv/bin" +#echo "--------------------" +#ls -la $HOME/.venv/bin +#echo "--------------------" echo "which ptf=:`which ptf`:" # ---- run tests ---- diff --git a/exercises/basic_tunnel/runptf.sh b/exercises/basic_tunnel/runptf.sh index d596d76f..c3787f2b 100755 --- a/exercises/basic_tunnel/runptf.sh +++ b/exercises/basic_tunnel/runptf.sh @@ -50,10 +50,10 @@ echo "ls -la $HOME" echo "--------------------" ls -la $HOME echo "--------------------" -echo "ls -la $HOME/.venv/bin" -echo "--------------------" -ls -la $HOME/.venv/bin -echo "--------------------" +#echo "ls -la $HOME/.venv/bin" +#echo "--------------------" +#ls -la $HOME/.venv/bin +#echo "--------------------" echo "which ptf=:`which ptf`:" # ---- run tests ---- From aa94986c0256871be8827315e43c5b8fe31d0ddd Mon Sep 17 00:00:00 2001 From: Andy Fingerhut Date: Wed, 22 Jul 2026 23:19:17 -0400 Subject: [PATCH 20/21] More removing uses of uv Signed-off-by: Andy Fingerhut --- .github/workflows/test-exercises.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/test-exercises.yml b/.github/workflows/test-exercises.yml index 2f2a57f6..c8d874b2 100644 --- a/.github/workflows/test-exercises.yml +++ b/.github/workflows/test-exercises.yml @@ -55,12 +55,12 @@ jobs: #echo "--------------------" #export PATH="${PATH}:${HOME}/.venv/bin" pip3 list -v - echo "Just before: uv pip install protobuf==3.20.3" - uv pip install protobuf==3.20.3 - echo "Just before: uv pip install grpcio" - uv pip install grpcio - echo "Just before: uv pip install grpcio-tools googleapis-common-protos scapy ptf" - uv pip install grpcio-tools googleapis-common-protos scapy ptf + echo "Just before: pip install protobuf==3.20.3" + pip install protobuf==3.20.3 + echo "Just before: pip install grpcio" + pip install grpcio + echo "Just before: pip install grpcio-tools googleapis-common-protos scapy ptf" + pip install grpcio-tools googleapis-common-protos scapy ptf pip3 list -v echo "which ptf:" which ptf From e541a73cd2526ff1534280a02439b5068ae4caf2 Mon Sep 17 00:00:00 2001 From: Andy Fingerhut Date: Thu, 23 Jul 2026 15:19:58 -0400 Subject: [PATCH 21/21] Remove the extra debug commands Signed-off-by: Andy Fingerhut --- .github/workflows/test-exercises.yml | 17 ----------------- exercises/basic/runptf.sh | 13 ------------- exercises/basic_tunnel/runptf.sh | 13 ------------- 3 files changed, 43 deletions(-) diff --git a/.github/workflows/test-exercises.yml b/.github/workflows/test-exercises.yml index 3942b3a0..6df15fd8 100644 --- a/.github/workflows/test-exercises.yml +++ b/.github/workflows/test-exercises.yml @@ -52,23 +52,6 @@ jobs: - name: Run PTF Tests run: | cd exercises/${{ matrix.exercise }} - echo "Got here #1" - pip3 list -v - echo "which ptf:" - which ptf - #export PATH="${PATH}:${HOME}/.venv/bin" - #echo "Got here #2" - echo "HOME=${HOME}" - echo "PATH=${PATH}" - #echo "ls -la $HOME" - #echo "--------------------" - #ls -la $HOME - #echo "--------------------" - #echo "ls -la $HOME/.venv/bin" - #echo "--------------------" - #ls -la $HOME/.venv/bin - #echo "--------------------" - #uvx make test make test # Retain logs in case runs fail - name: Upload Logs diff --git a/exercises/basic/runptf.sh b/exercises/basic/runptf.sh index a4a9cbc3..4ff7dfcb 100755 --- a/exercises/basic/runptf.sh +++ b/exercises/basic/runptf.sh @@ -43,19 +43,6 @@ echo "" echo "Started simple_switch_grpc. Waiting 2 seconds before starting PTF test..." sleep 2 -echo "P4_EXTRA_SUDO_OPTS=:${P4_EXTRA_SUDO_OPTS}:" -echo "HOME=${HOME}" -echo "PATH=${PATH}" -echo "ls -la $HOME" -echo "--------------------" -ls -la $HOME -echo "--------------------" -#echo "ls -la $HOME/.venv/bin" -#echo "--------------------" -#ls -la $HOME/.venv/bin -#echo "--------------------" -echo "which ptf=:`which ptf`:" - # ---- run tests ---- sudo ${P4_EXTRA_SUDO_OPTS} `which ptf` \ -i 0@veth1 \ diff --git a/exercises/basic_tunnel/runptf.sh b/exercises/basic_tunnel/runptf.sh index c3787f2b..17ead3fc 100755 --- a/exercises/basic_tunnel/runptf.sh +++ b/exercises/basic_tunnel/runptf.sh @@ -43,19 +43,6 @@ echo "" echo "Started simple_switch_grpc. Waiting 2 seconds before starting PTF test..." sleep 2 -echo "P4_EXTRA_SUDO_OPTS=:${P4_EXTRA_SUDO_OPTS}:" -echo "HOME=${HOME}" -echo "PATH=${PATH}" -echo "ls -la $HOME" -echo "--------------------" -ls -la $HOME -echo "--------------------" -#echo "ls -la $HOME/.venv/bin" -#echo "--------------------" -#ls -la $HOME/.venv/bin -#echo "--------------------" -echo "which ptf=:`which ptf`:" - # ---- run tests ---- sudo ${P4_EXTRA_SUDO_OPTS} `which ptf` \ -i 0@veth1 \