From cd73f8f93dc2c66669fdf0d6108b4c7f3d35b3fe Mon Sep 17 00:00:00 2001 From: Andy Fingerhut Date: Wed, 22 Jul 2026 23:28:45 -0400 Subject: [PATCH 01/27] Add extra CI debug Signed-off-by: Andy Fingerhut --- .github/workflows/test-exercises.yml | 6 ++++++ exercises/basic/runptf.sh | 11 +++++++++++ 2 files changed, 17 insertions(+) diff --git a/.github/workflows/test-exercises.yml b/.github/workflows/test-exercises.yml index d47282ba..aef46734 100644 --- a/.github/workflows/test-exercises.yml +++ b/.github/workflows/test-exercises.yml @@ -46,11 +46,17 @@ jobs: run: | apt-get update apt-get install -y make python3-pip sudo libboost-iostreams-dev libboost-graph-dev + echo "pip3 list -v" + pip3 list -v pip3 install protobuf==3.20.3 grpcio grpcio-tools googleapis-common-protos scapy + echo "pip3 list -v" + pip3 list -v - name: Run PTF Tests run: | cd exercises/${{ matrix.exercise }} + echo "pip3 list -v" + pip3 list -v 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..5bcb87d4 100755 --- a/exercises/basic/runptf.sh +++ b/exercises/basic/runptf.sh @@ -43,6 +43,17 @@ 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 "pip3 list -v" +pip3 list -v +echo "which ptf=:`which ptf`:" + # ---- run tests ---- sudo ${P4_EXTRA_SUDO_OPTS} `which ptf` \ -i 0@veth1 \ From a6909b7f513949f003b9ede6894d0b8abc7bf529 Mon Sep 17 00:00:00 2001 From: Andy Fingerhut Date: Wed, 22 Jul 2026 23:58:16 -0400 Subject: [PATCH 02/27] more debug Signed-off-by: Andy Fingerhut --- .github/workflows/test-exercises.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/test-exercises.yml b/.github/workflows/test-exercises.yml index aef46734..6b093714 100644 --- a/.github/workflows/test-exercises.yml +++ b/.github/workflows/test-exercises.yml @@ -46,6 +46,10 @@ jobs: run: | apt-get update apt-get install -y make python3-pip sudo libboost-iostreams-dev libboost-graph-dev + echo "which simple_switch_grpc" + which simple_switch_grpc + echo "which p4c" + which p4c echo "pip3 list -v" pip3 list -v pip3 install protobuf==3.20.3 grpcio grpcio-tools googleapis-common-protos scapy From 2bb392bce8a5e2af418d1fb946c598563a0cea21 Mon Sep 17 00:00:00 2001 From: Andy Fingerhut Date: Thu, 23 Jul 2026 00:00:37 -0400 Subject: [PATCH 03/27] Look for all placs that Python packages are installed 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 6b093714..3c8380b8 100644 --- a/.github/workflows/test-exercises.yml +++ b/.github/workflows/test-exercises.yml @@ -50,6 +50,7 @@ jobs: which simple_switch_grpc echo "which p4c" which p4c + find / | egrep '(site-packages|dist-packages)' echo "pip3 list -v" pip3 list -v pip3 install protobuf==3.20.3 grpcio grpcio-tools googleapis-common-protos scapy From d420cd6d9a7917473a1b1255665503ab8e94a971 Mon Sep 17 00:00:00 2001 From: Andy Fingerhut Date: Thu, 23 Jul 2026 00:04:57 -0400 Subject: [PATCH 04/27] different debug 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 3c8380b8..beeb24dc 100644 --- a/.github/workflows/test-exercises.yml +++ b/.github/workflows/test-exercises.yml @@ -50,7 +50,8 @@ jobs: which simple_switch_grpc echo "which p4c" which p4c - find / | egrep '(site-packages|dist-packages)' + find / -name site-packages -o -name dist-packages | xargs ls -la + #find / | egrep '(site-packages|dist-packages)' echo "pip3 list -v" pip3 list -v pip3 install protobuf==3.20.3 grpcio grpcio-tools googleapis-common-protos scapy From ecda3db50a6b9f4af16ed1baca314cb9fd26d866 Mon Sep 17 00:00:00 2001 From: Andy Fingerhut Date: Thu, 23 Jul 2026 00:07:37 -0400 Subject: [PATCH 05/27] more debug 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 beeb24dc..ca617024 100644 --- a/.github/workflows/test-exercises.yml +++ b/.github/workflows/test-exercises.yml @@ -50,7 +50,12 @@ jobs: which simple_switch_grpc echo "which p4c" which p4c - find / -name site-packages -o -name dist-packages | xargs ls -la + echo "----------------------------------------" + find / -name site-packages -o -name dist-packages + echo "----------------------------------------" + ls -la /usr/lib/python3.12/site-packages + ls -la /usr/local/lib/python3.12/site-packages + #find / -name site-packages -o -name dist-packages | xargs ls -la #find / | egrep '(site-packages|dist-packages)' echo "pip3 list -v" pip3 list -v From b8ba5050841612eb7b5b3e3c5286ffe185a1d8d4 Mon Sep 17 00:00:00 2001 From: Andy Fingerhut Date: Thu, 23 Jul 2026 00:10:07 -0400 Subject: [PATCH 06/27] more debug 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 ca617024..08d67e84 100644 --- a/.github/workflows/test-exercises.yml +++ b/.github/workflows/test-exercises.yml @@ -53,7 +53,8 @@ jobs: echo "----------------------------------------" find / -name site-packages -o -name dist-packages echo "----------------------------------------" - ls -la /usr/lib/python3.12/site-packages + ls -la /usr/lib/python3/dist-packages + ls -la /usr/local/lib/python3.12/dist-packages ls -la /usr/local/lib/python3.12/site-packages #find / -name site-packages -o -name dist-packages | xargs ls -la #find / | egrep '(site-packages|dist-packages)' From bc9c4ec9fcd6f791e682f7b9173f13d87a9aebe6 Mon Sep 17 00:00:00 2001 From: Andy Fingerhut Date: Thu, 23 Jul 2026 00:13:36 -0400 Subject: [PATCH 07/27] more debug Signed-off-by: Andy Fingerhut --- .github/workflows/test-exercises.yml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/.github/workflows/test-exercises.yml b/.github/workflows/test-exercises.yml index 08d67e84..051520cd 100644 --- a/.github/workflows/test-exercises.yml +++ b/.github/workflows/test-exercises.yml @@ -48,14 +48,26 @@ jobs: apt-get install -y make python3-pip sudo libboost-iostreams-dev libboost-graph-dev echo "which simple_switch_grpc" which simple_switch_grpc + echo "id:" + id + echo "HOME=${HOME}" echo "which p4c" which p4c echo "----------------------------------------" find / -name site-packages -o -name dist-packages echo "----------------------------------------" + echo "ls -la /usr/lib/python3/dist-packages" + echo "----------------------------------------" ls -la /usr/lib/python3/dist-packages + echo "----------------------------------------" + echo "ls -la /usr/local/lib/python3.12/dist-packages" + echo "----------------------------------------" ls -la /usr/local/lib/python3.12/dist-packages + echo "----------------------------------------" + echo "ls -la /usr/local/lib/python3.12/site-packages" + echo "----------------------------------------" ls -la /usr/local/lib/python3.12/site-packages + echo "----------------------------------------" #find / -name site-packages -o -name dist-packages | xargs ls -la #find / | egrep '(site-packages|dist-packages)' echo "pip3 list -v" From e23247aabcc31aaddfbb2a649b67354e4820cd7b Mon Sep 17 00:00:00 2001 From: Andy Fingerhut Date: Thu, 23 Jul 2026 00:18:23 -0400 Subject: [PATCH 08/27] print python path 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 051520cd..ee395afd 100644 --- a/.github/workflows/test-exercises.yml +++ b/.github/workflows/test-exercises.yml @@ -68,6 +68,7 @@ jobs: echo "----------------------------------------" ls -la /usr/local/lib/python3.12/site-packages echo "----------------------------------------" + python3 -c 'import sys; print(sys.path)' #find / -name site-packages -o -name dist-packages | xargs ls -la #find / | egrep '(site-packages|dist-packages)' echo "pip3 list -v" From 7bf07df6e5af4afde69c4f56e27fa77c143f62a4 Mon Sep 17 00:00:00 2001 From: Andy Fingerhut Date: Thu, 23 Jul 2026 00:26:50 -0400 Subject: [PATCH 09/27] Try using a python venv Signed-off-by: Andy Fingerhut --- .github/workflows/test-exercises.yml | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/.github/workflows/test-exercises.yml b/.github/workflows/test-exercises.yml index ee395afd..dc8312e5 100644 --- a/.github/workflows/test-exercises.yml +++ b/.github/workflows/test-exercises.yml @@ -45,14 +45,17 @@ jobs: - name: Install build dependencies run: | apt-get update - apt-get install -y make python3-pip sudo libboost-iostreams-dev libboost-graph-dev + apt-get install -y make python3-pip python3-ve3nv sudo libboost-iostreams-dev libboost-graph-dev echo "which simple_switch_grpc" which simple_switch_grpc + echo "which p4c" + which p4c + python3 -m venv ${HOME}/p4dev-venv + source ${HOME}/p4dev-venv/bin/activate echo "id:" id echo "HOME=${HOME}" - echo "which p4c" - which p4c + echo "VIRTUAL_ENV=${VIRTUAL_ENV}" echo "----------------------------------------" find / -name site-packages -o -name dist-packages echo "----------------------------------------" From eebb895a2e7dfa7d5bffb8e5ef7563a234d08043 Mon Sep 17 00:00:00 2001 From: Andy Fingerhut Date: Thu, 23 Jul 2026 00:28:27 -0400 Subject: [PATCH 10/27] fix typo 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 dc8312e5..3ded78c2 100644 --- a/.github/workflows/test-exercises.yml +++ b/.github/workflows/test-exercises.yml @@ -45,7 +45,7 @@ jobs: - name: Install build dependencies run: | apt-get update - apt-get install -y make python3-pip python3-ve3nv sudo libboost-iostreams-dev libboost-graph-dev + apt-get install -y make python3-pip python3-venv sudo libboost-iostreams-dev libboost-graph-dev echo "which simple_switch_grpc" which simple_switch_grpc echo "which p4c" From 4925231745c39339c87f73fcafa07e4e391afe4c Mon Sep 17 00:00:00 2001 From: Andy Fingerhut Date: Thu, 23 Jul 2026 00:32:25 -0400 Subject: [PATCH 11/27] Use bash for Github action 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 3ded78c2..d680650c 100644 --- a/.github/workflows/test-exercises.yml +++ b/.github/workflows/test-exercises.yml @@ -43,6 +43,7 @@ jobs: uses: actions/checkout@v4 - name: Install build dependencies + shell: bash run: | apt-get update apt-get install -y make python3-pip python3-venv sudo libboost-iostreams-dev libboost-graph-dev @@ -50,11 +51,11 @@ jobs: which simple_switch_grpc echo "which p4c" which p4c + echo "HOME=${HOME}" python3 -m venv ${HOME}/p4dev-venv source ${HOME}/p4dev-venv/bin/activate echo "id:" id - echo "HOME=${HOME}" echo "VIRTUAL_ENV=${VIRTUAL_ENV}" echo "----------------------------------------" find / -name site-packages -o -name dist-packages From 6ff85425a0b1461c93be8c9dea2e3b12bda78194 Mon Sep 17 00:00:00 2001 From: Andy Fingerhut Date: Thu, 23 Jul 2026 10:40:19 -0400 Subject: [PATCH 12/27] Explicitly set PYTHONPATH on pip commands 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 d680650c..0aba928b 100644 --- a/.github/workflows/test-exercises.yml +++ b/.github/workflows/test-exercises.yml @@ -77,9 +77,14 @@ jobs: #find / | egrep '(site-packages|dist-packages)' echo "pip3 list -v" pip3 list -v - pip3 install protobuf==3.20.3 grpcio grpcio-tools googleapis-common-protos scapy + echo "PYTHONPATH=/usr/local/lib/python3.12/site-packages:/usr/local/lib/python3.12/dist-packages:/usr/lib/python3/dist-packages pip3 list -v" + PYTHONPATH=/usr/local/lib/python3.12/site-packages:/usr/local/lib/python3.12/dist-packages:/usr/lib/python3/dist-packages pip3 list -v + echo "PYTHONPATH=/usr/local/lib/python3.12/site-packages:/usr/local/lib/python3.12/dist-packages:/usr/lib/python3/dist-packages pip3 install protobuf==3.20.3 grpcio grpcio-tools googleapis-common-protos scapy" + PYTHONPATH=/usr/local/lib/python3.12/site-packages:/usr/local/lib/python3.12/dist-packages:/usr/lib/python3/dist-packages pip3 install protobuf==3.20.3 grpcio grpcio-tools googleapis-common-protos scapy echo "pip3 list -v" pip3 list -v + echo "PYTHONPATH=/usr/local/lib/python3.12/site-packages:/usr/local/lib/python3.12/dist-packages:/usr/lib/python3/dist-packages pip3 list -v" + PYTHONPATH=/usr/local/lib/python3.12/site-packages:/usr/local/lib/python3.12/dist-packages:/usr/lib/python3/dist-packages pip3 list -v - name: Run PTF Tests run: | From 7d202fdd604506c01777050324a854165d96d26c Mon Sep 17 00:00:00 2001 From: Andy Fingerhut Date: Thu, 23 Jul 2026 10:47:16 -0400 Subject: [PATCH 13/27] Try not installing Python package grpcio-tools Signed-off-by: Andy Fingerhut --- .github/workflows/test-exercises.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test-exercises.yml b/.github/workflows/test-exercises.yml index 0aba928b..c6db443b 100644 --- a/.github/workflows/test-exercises.yml +++ b/.github/workflows/test-exercises.yml @@ -79,8 +79,8 @@ jobs: pip3 list -v echo "PYTHONPATH=/usr/local/lib/python3.12/site-packages:/usr/local/lib/python3.12/dist-packages:/usr/lib/python3/dist-packages pip3 list -v" PYTHONPATH=/usr/local/lib/python3.12/site-packages:/usr/local/lib/python3.12/dist-packages:/usr/lib/python3/dist-packages pip3 list -v - echo "PYTHONPATH=/usr/local/lib/python3.12/site-packages:/usr/local/lib/python3.12/dist-packages:/usr/lib/python3/dist-packages pip3 install protobuf==3.20.3 grpcio grpcio-tools googleapis-common-protos scapy" - PYTHONPATH=/usr/local/lib/python3.12/site-packages:/usr/local/lib/python3.12/dist-packages:/usr/lib/python3/dist-packages pip3 install protobuf==3.20.3 grpcio grpcio-tools googleapis-common-protos scapy + echo "PYTHONPATH=/usr/local/lib/python3.12/site-packages:/usr/local/lib/python3.12/dist-packages:/usr/lib/python3/dist-packages pip3 install protobuf==3.20.3 grpcio googleapis-common-protos scapy" + PYTHONPATH=/usr/local/lib/python3.12/site-packages:/usr/local/lib/python3.12/dist-packages:/usr/lib/python3/dist-packages pip3 install protobuf==3.20.3 grpcio googleapis-common-protos scapy echo "pip3 list -v" pip3 list -v echo "PYTHONPATH=/usr/local/lib/python3.12/site-packages:/usr/local/lib/python3.12/dist-packages:/usr/lib/python3/dist-packages pip3 list -v" From 9cd698c08ca71595d10d091a9c903d05ffe57b67 Mon Sep 17 00:00:00 2001 From: Andy Fingerhut Date: Thu, 23 Jul 2026 10:51:08 -0400 Subject: [PATCH 14/27] Add installation of ptf package Signed-off-by: Andy Fingerhut --- .github/workflows/test-exercises.yml | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/.github/workflows/test-exercises.yml b/.github/workflows/test-exercises.yml index c6db443b..c7dc5aa3 100644 --- a/.github/workflows/test-exercises.yml +++ b/.github/workflows/test-exercises.yml @@ -79,18 +79,21 @@ jobs: pip3 list -v echo "PYTHONPATH=/usr/local/lib/python3.12/site-packages:/usr/local/lib/python3.12/dist-packages:/usr/lib/python3/dist-packages pip3 list -v" PYTHONPATH=/usr/local/lib/python3.12/site-packages:/usr/local/lib/python3.12/dist-packages:/usr/lib/python3/dist-packages pip3 list -v - echo "PYTHONPATH=/usr/local/lib/python3.12/site-packages:/usr/local/lib/python3.12/dist-packages:/usr/lib/python3/dist-packages pip3 install protobuf==3.20.3 grpcio googleapis-common-protos scapy" - PYTHONPATH=/usr/local/lib/python3.12/site-packages:/usr/local/lib/python3.12/dist-packages:/usr/lib/python3/dist-packages pip3 install protobuf==3.20.3 grpcio googleapis-common-protos scapy + echo "PYTHONPATH=/usr/local/lib/python3.12/site-packages:/usr/local/lib/python3.12/dist-packages:/usr/lib/python3/dist-packages pip3 install protobuf==3.20.3 grpcio googleapis-common-protos scapy ptf" + PYTHONPATH=/usr/local/lib/python3.12/site-packages:/usr/local/lib/python3.12/dist-packages:/usr/lib/python3/dist-packages pip3 install protobuf==3.20.3 grpcio googleapis-common-protos scapy ptf echo "pip3 list -v" pip3 list -v echo "PYTHONPATH=/usr/local/lib/python3.12/site-packages:/usr/local/lib/python3.12/dist-packages:/usr/lib/python3/dist-packages pip3 list -v" PYTHONPATH=/usr/local/lib/python3.12/site-packages:/usr/local/lib/python3.12/dist-packages:/usr/lib/python3/dist-packages pip3 list -v + echo "----------------------------------------" + echo "which ptf" + which ptf - name: Run PTF Tests run: | cd exercises/${{ matrix.exercise }} - echo "pip3 list -v" - pip3 list -v + echo "PYTHONPATH=/usr/local/lib/python3.12/site-packages:/usr/local/lib/python3.12/dist-packages:/usr/lib/python3/dist-packages pip3 list -v" + PYTHONPATH=/usr/local/lib/python3.12/site-packages:/usr/local/lib/python3.12/dist-packages:/usr/lib/python3/dist-packages pip3 list -v make test # Retain logs in case runs fail - name: Upload Logs From 92abd01ad9032438a33917cf5348bce1fc593c44 Mon Sep 17 00:00:00 2001 From: Andy Fingerhut Date: Thu, 23 Jul 2026 10:54:24 -0400 Subject: [PATCH 15/27] Use venv in runptf.sh scripts Signed-off-by: Andy Fingerhut --- exercises/basic/runptf.sh | 2 ++ exercises/basic_tunnel/runptf.sh | 13 +++++++++++++ 2 files changed, 15 insertions(+) diff --git a/exercises/basic/runptf.sh b/exercises/basic/runptf.sh index 5bcb87d4..3d4ed750 100755 --- a/exercises/basic/runptf.sh +++ b/exercises/basic/runptf.sh @@ -45,6 +45,8 @@ sleep 2 echo "P4_EXTRA_SUDO_OPTS=:${P4_EXTRA_SUDO_OPTS}:" echo "HOME=${HOME}" +echo "source ${HOME}/p4dev-venv/bin/activate ..." +source ${HOME}/p4dev-venv/bin/activate echo "PATH=${PATH}" echo "ls -la $HOME" echo "--------------------" diff --git a/exercises/basic_tunnel/runptf.sh b/exercises/basic_tunnel/runptf.sh index 17ead3fc..d43f7a80 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 "source ${HOME}/p4dev-venv/bin/activate ..." +source ${HOME}/p4dev-venv/bin/activate +echo "PATH=${PATH}" +echo "ls -la $HOME" +echo "--------------------" +ls -la $HOME +echo "--------------------" +echo "pip3 list -v" +pip3 list -v +echo "which ptf=:`which ptf`:" + # ---- run tests ---- sudo ${P4_EXTRA_SUDO_OPTS} `which ptf` \ -i 0@veth1 \ From 4c8f3c8fa2b384458b534ecb764bd3ba7da557c7 Mon Sep 17 00:00:00 2001 From: Andy Fingerhut Date: Thu, 23 Jul 2026 10:58:32 -0400 Subject: [PATCH 16/27] Set PYTHONPATH when running unit tests 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 c7dc5aa3..51e99ae8 100644 --- a/.github/workflows/test-exercises.yml +++ b/.github/workflows/test-exercises.yml @@ -94,7 +94,7 @@ jobs: cd exercises/${{ matrix.exercise }} echo "PYTHONPATH=/usr/local/lib/python3.12/site-packages:/usr/local/lib/python3.12/dist-packages:/usr/lib/python3/dist-packages pip3 list -v" PYTHONPATH=/usr/local/lib/python3.12/site-packages:/usr/local/lib/python3.12/dist-packages:/usr/lib/python3/dist-packages pip3 list -v - make test + PYTHONPATH=/usr/local/lib/python3.12/site-packages:/usr/local/lib/python3.12/dist-packages:/usr/lib/python3/dist-packages make test # Retain logs in case runs fail - name: Upload Logs if: always() From 2a3f5622f4ece2c73582afdc671103bc04b511e1 Mon Sep 17 00:00:00 2001 From: Andy Fingerhut Date: Thu, 23 Jul 2026 11:02:21 -0400 Subject: [PATCH 17/27] Allow newly created venv to use system-wide packages 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 51e99ae8..c4e06d1f 100644 --- a/.github/workflows/test-exercises.yml +++ b/.github/workflows/test-exercises.yml @@ -52,7 +52,7 @@ jobs: echo "which p4c" which p4c echo "HOME=${HOME}" - python3 -m venv ${HOME}/p4dev-venv + python3 -m venv ${HOME}/p4dev-venv --system-site-packages source ${HOME}/p4dev-venv/bin/activate echo "id:" id From 71c01b5465c80d2792a3f2b948de09e8a5fc4f14 Mon Sep 17 00:00:00 2001 From: Andy Fingerhut Date: Thu, 23 Jul 2026 11:07:41 -0400 Subject: [PATCH 18/27] show PYTHONPATH during unit tests, to see if it is as earlier command set it Signed-off-by: Andy Fingerhut --- exercises/basic/runptf.sh | 1 + exercises/basic_tunnel/runptf.sh | 1 + 2 files changed, 2 insertions(+) diff --git a/exercises/basic/runptf.sh b/exercises/basic/runptf.sh index 3d4ed750..0ab97dc1 100755 --- a/exercises/basic/runptf.sh +++ b/exercises/basic/runptf.sh @@ -48,6 +48,7 @@ echo "HOME=${HOME}" echo "source ${HOME}/p4dev-venv/bin/activate ..." source ${HOME}/p4dev-venv/bin/activate echo "PATH=${PATH}" +echo "PYTHONPATH=${PYTHONPATH}" echo "ls -la $HOME" echo "--------------------" ls -la $HOME diff --git a/exercises/basic_tunnel/runptf.sh b/exercises/basic_tunnel/runptf.sh index d43f7a80..43e8d265 100755 --- a/exercises/basic_tunnel/runptf.sh +++ b/exercises/basic_tunnel/runptf.sh @@ -48,6 +48,7 @@ echo "HOME=${HOME}" echo "source ${HOME}/p4dev-venv/bin/activate ..." source ${HOME}/p4dev-venv/bin/activate echo "PATH=${PATH}" +echo "PYTHONPATH=${PYTHONPATH}" echo "ls -la $HOME" echo "--------------------" ls -la $HOME From c3069c06c5b4232ed32fc5353607f19b8587442f Mon Sep 17 00:00:00 2001 From: Andy Fingerhut Date: Thu, 23 Jul 2026 11:13:45 -0400 Subject: [PATCH 19/27] Try using sudo on 'pip3 install' command instead of venv Signed-off-by: Andy Fingerhut --- .github/workflows/test-exercises.yml | 22 ++++++++++++++++++---- exercises/basic/runptf.sh | 5 +++-- exercises/basic_tunnel/runptf.sh | 5 +++-- 3 files changed, 24 insertions(+), 8 deletions(-) diff --git a/.github/workflows/test-exercises.yml b/.github/workflows/test-exercises.yml index c4e06d1f..699e19d8 100644 --- a/.github/workflows/test-exercises.yml +++ b/.github/workflows/test-exercises.yml @@ -52,8 +52,8 @@ jobs: echo "which p4c" which p4c echo "HOME=${HOME}" - python3 -m venv ${HOME}/p4dev-venv --system-site-packages - source ${HOME}/p4dev-venv/bin/activate + #python3 -m venv ${HOME}/p4dev-venv --system-site-packages + #source ${HOME}/p4dev-venv/bin/activate echo "id:" id echo "VIRTUAL_ENV=${VIRTUAL_ENV}" @@ -79,13 +79,27 @@ jobs: pip3 list -v echo "PYTHONPATH=/usr/local/lib/python3.12/site-packages:/usr/local/lib/python3.12/dist-packages:/usr/lib/python3/dist-packages pip3 list -v" PYTHONPATH=/usr/local/lib/python3.12/site-packages:/usr/local/lib/python3.12/dist-packages:/usr/lib/python3/dist-packages pip3 list -v - echo "PYTHONPATH=/usr/local/lib/python3.12/site-packages:/usr/local/lib/python3.12/dist-packages:/usr/lib/python3/dist-packages pip3 install protobuf==3.20.3 grpcio googleapis-common-protos scapy ptf" - PYTHONPATH=/usr/local/lib/python3.12/site-packages:/usr/local/lib/python3.12/dist-packages:/usr/lib/python3/dist-packages pip3 install protobuf==3.20.3 grpcio googleapis-common-protos scapy ptf + echo "PYTHONPATH=/usr/local/lib/python3.12/site-packages:/usr/local/lib/python3.12/dist-packages:/usr/lib/python3/dist-packages sudo pip3 install protobuf==3.20.3 grpcio googleapis-common-protos scapy ptf" + PYTHONPATH=/usr/local/lib/python3.12/site-packages:/usr/local/lib/python3.12/dist-packages:/usr/lib/python3/dist-packages sudo pip3 install protobuf==3.20.3 grpcio googleapis-common-protos scapy ptf echo "pip3 list -v" pip3 list -v echo "PYTHONPATH=/usr/local/lib/python3.12/site-packages:/usr/local/lib/python3.12/dist-packages:/usr/lib/python3/dist-packages pip3 list -v" PYTHONPATH=/usr/local/lib/python3.12/site-packages:/usr/local/lib/python3.12/dist-packages:/usr/lib/python3/dist-packages pip3 list -v echo "----------------------------------------" + find / -name site-packages -o -name dist-packages + echo "----------------------------------------" + echo "ls -la /usr/lib/python3/dist-packages" + echo "----------------------------------------" + ls -la /usr/lib/python3/dist-packages + echo "----------------------------------------" + echo "ls -la /usr/local/lib/python3.12/dist-packages" + echo "----------------------------------------" + ls -la /usr/local/lib/python3.12/dist-packages + echo "----------------------------------------" + echo "ls -la /usr/local/lib/python3.12/site-packages" + echo "----------------------------------------" + ls -la /usr/local/lib/python3.12/site-packages + echo "----------------------------------------" echo "which ptf" which ptf diff --git a/exercises/basic/runptf.sh b/exercises/basic/runptf.sh index 0ab97dc1..0f69fa97 100755 --- a/exercises/basic/runptf.sh +++ b/exercises/basic/runptf.sh @@ -45,10 +45,11 @@ sleep 2 echo "P4_EXTRA_SUDO_OPTS=:${P4_EXTRA_SUDO_OPTS}:" echo "HOME=${HOME}" -echo "source ${HOME}/p4dev-venv/bin/activate ..." -source ${HOME}/p4dev-venv/bin/activate +#echo "source ${HOME}/p4dev-venv/bin/activate ..." +#source ${HOME}/p4dev-venv/bin/activate echo "PATH=${PATH}" echo "PYTHONPATH=${PYTHONPATH}" +echo "VIRTUAL_ENV=${VIRTUAL_ENV}" echo "ls -la $HOME" echo "--------------------" ls -la $HOME diff --git a/exercises/basic_tunnel/runptf.sh b/exercises/basic_tunnel/runptf.sh index 43e8d265..d69fbb25 100755 --- a/exercises/basic_tunnel/runptf.sh +++ b/exercises/basic_tunnel/runptf.sh @@ -45,10 +45,11 @@ sleep 2 echo "P4_EXTRA_SUDO_OPTS=:${P4_EXTRA_SUDO_OPTS}:" echo "HOME=${HOME}" -echo "source ${HOME}/p4dev-venv/bin/activate ..." -source ${HOME}/p4dev-venv/bin/activate +#echo "source ${HOME}/p4dev-venv/bin/activate ..." +#source ${HOME}/p4dev-venv/bin/activate echo "PATH=${PATH}" echo "PYTHONPATH=${PYTHONPATH}" +echo "VIRTUAL_ENV=${VIRTUAL_ENV}" echo "ls -la $HOME" echo "--------------------" ls -la $HOME From e7c07952c9bec5a9b212463edc9fb4f90158e3b9 Mon Sep 17 00:00:00 2001 From: Andy Fingerhut Date: Thu, 23 Jul 2026 11:16:28 -0400 Subject: [PATCH 20/27] Add option --break-system-packages to 'pip3 install' command Signed-off-by: Andy Fingerhut --- .github/workflows/test-exercises.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test-exercises.yml b/.github/workflows/test-exercises.yml index 699e19d8..77a3a02a 100644 --- a/.github/workflows/test-exercises.yml +++ b/.github/workflows/test-exercises.yml @@ -79,8 +79,8 @@ jobs: pip3 list -v echo "PYTHONPATH=/usr/local/lib/python3.12/site-packages:/usr/local/lib/python3.12/dist-packages:/usr/lib/python3/dist-packages pip3 list -v" PYTHONPATH=/usr/local/lib/python3.12/site-packages:/usr/local/lib/python3.12/dist-packages:/usr/lib/python3/dist-packages pip3 list -v - echo "PYTHONPATH=/usr/local/lib/python3.12/site-packages:/usr/local/lib/python3.12/dist-packages:/usr/lib/python3/dist-packages sudo pip3 install protobuf==3.20.3 grpcio googleapis-common-protos scapy ptf" - PYTHONPATH=/usr/local/lib/python3.12/site-packages:/usr/local/lib/python3.12/dist-packages:/usr/lib/python3/dist-packages sudo pip3 install protobuf==3.20.3 grpcio googleapis-common-protos scapy ptf + echo "PYTHONPATH=/usr/local/lib/python3.12/site-packages:/usr/local/lib/python3.12/dist-packages:/usr/lib/python3/dist-packages sudo pip3 install --break-system-packages protobuf==3.20.3 grpcio googleapis-common-protos scapy ptf" + PYTHONPATH=/usr/local/lib/python3.12/site-packages:/usr/local/lib/python3.12/dist-packages:/usr/lib/python3/dist-packages sudo pip3 install --break-system-packages protobuf==3.20.3 grpcio googleapis-common-protos scapy ptf echo "pip3 list -v" pip3 list -v echo "PYTHONPATH=/usr/local/lib/python3.12/site-packages:/usr/local/lib/python3.12/dist-packages:/usr/lib/python3/dist-packages pip3 list -v" From 13e77d3baa3acb376d4dce5420947594239f3983 Mon Sep 17 00:00:00 2001 From: Andy Fingerhut Date: Thu, 23 Jul 2026 11:21:42 -0400 Subject: [PATCH 21/27] Use python -m site command to see what it considers to be the directories to search for installed packages Signed-off-by: Andy Fingerhut --- .github/workflows/test-exercises.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/test-exercises.yml b/.github/workflows/test-exercises.yml index 77a3a02a..4b397dcc 100644 --- a/.github/workflows/test-exercises.yml +++ b/.github/workflows/test-exercises.yml @@ -72,7 +72,12 @@ jobs: echo "----------------------------------------" ls -la /usr/local/lib/python3.12/site-packages echo "----------------------------------------" + echo "python3 -c 'import sys; print(sys.path)'" python3 -c 'import sys; print(sys.path)' + echo "python3 -m site" + python3 -m site + echo "PYTHONPATH=/usr/local/lib/python3.12/site-packages:/usr/local/lib/python3.12/dist-packages:/usr/lib/python3/dist-packages python3 -m site" + PYTHONPATH=/usr/local/lib/python3.12/site-packages:/usr/local/lib/python3.12/dist-packages:/usr/lib/python3/dist-packages python3 -m site #find / -name site-packages -o -name dist-packages | xargs ls -la #find / | egrep '(site-packages|dist-packages)' echo "pip3 list -v" From 32ee46960d66caaa96c2261d2c06652911bb6961 Mon Sep 17 00:00:00 2001 From: Andy Fingerhut Date: Thu, 23 Jul 2026 11:31:00 -0400 Subject: [PATCH 22/27] Try moving files from one Python install directory to another, to see if they show up in 'pip list -v' output Signed-off-by: Andy Fingerhut --- .github/workflows/test-exercises.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/test-exercises.yml b/.github/workflows/test-exercises.yml index 4b397dcc..000e91cd 100644 --- a/.github/workflows/test-exercises.yml +++ b/.github/workflows/test-exercises.yml @@ -90,6 +90,10 @@ jobs: pip3 list -v echo "PYTHONPATH=/usr/local/lib/python3.12/site-packages:/usr/local/lib/python3.12/dist-packages:/usr/lib/python3/dist-packages pip3 list -v" PYTHONPATH=/usr/local/lib/python3.12/site-packages:/usr/local/lib/python3.12/dist-packages:/usr/lib/python3/dist-packages pip3 list -v + echo 'mv /usr/local/lib/python3.12/site-packages/* /usr/local/lib/python3.12/dist-packages' + mv /usr/local/lib/python3.12/site-packages/* /usr/local/lib/python3.12/dist-packages + echo "PYTHONPATH=/usr/local/lib/python3.12/site-packages:/usr/local/lib/python3.12/dist-packages:/usr/lib/python3/dist-packages pip3 list -v" + PYTHONPATH=/usr/local/lib/python3.12/site-packages:/usr/local/lib/python3.12/dist-packages:/usr/lib/python3/dist-packages pip3 list -v echo "----------------------------------------" find / -name site-packages -o -name dist-packages echo "----------------------------------------" From ef073b51e31f47f1fe26afbbbbd67a210acd7104 Mon Sep 17 00:00:00 2001 From: Andy Fingerhut Date: Thu, 23 Jul 2026 11:34:50 -0400 Subject: [PATCH 23/27] Move files between Python dirs before doing pip3 install Signed-off-by: Andy Fingerhut --- .github/workflows/test-exercises.yml | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test-exercises.yml b/.github/workflows/test-exercises.yml index 000e91cd..0c6af32d 100644 --- a/.github/workflows/test-exercises.yml +++ b/.github/workflows/test-exercises.yml @@ -80,6 +80,25 @@ jobs: PYTHONPATH=/usr/local/lib/python3.12/site-packages:/usr/local/lib/python3.12/dist-packages:/usr/lib/python3/dist-packages python3 -m site #find / -name site-packages -o -name dist-packages | xargs ls -la #find / | egrep '(site-packages|dist-packages)' + echo 'mv /usr/local/lib/python3.12/site-packages/* /usr/local/lib/python3.12/dist-packages' + mv /usr/local/lib/python3.12/site-packages/* /usr/local/lib/python3.12/dist-packages + echo "PYTHONPATH=/usr/local/lib/python3.12/site-packages:/usr/local/lib/python3.12/dist-packages:/usr/lib/python3/dist-packages pip3 list -v" + PYTHONPATH=/usr/local/lib/python3.12/site-packages:/usr/local/lib/python3.12/dist-packages:/usr/lib/python3/dist-packages pip3 list -v + echo "----------------------------------------" + find / -name site-packages -o -name dist-packages + echo "----------------------------------------" + echo "ls -la /usr/lib/python3/dist-packages" + echo "----------------------------------------" + ls -la /usr/lib/python3/dist-packages + echo "----------------------------------------" + echo "ls -la /usr/local/lib/python3.12/dist-packages" + echo "----------------------------------------" + ls -la /usr/local/lib/python3.12/dist-packages + echo "----------------------------------------" + echo "ls -la /usr/local/lib/python3.12/site-packages" + echo "----------------------------------------" + ls -la /usr/local/lib/python3.12/site-packages + echo "----------------------------------------" echo "pip3 list -v" pip3 list -v echo "PYTHONPATH=/usr/local/lib/python3.12/site-packages:/usr/local/lib/python3.12/dist-packages:/usr/lib/python3/dist-packages pip3 list -v" @@ -90,8 +109,6 @@ jobs: pip3 list -v echo "PYTHONPATH=/usr/local/lib/python3.12/site-packages:/usr/local/lib/python3.12/dist-packages:/usr/lib/python3/dist-packages pip3 list -v" PYTHONPATH=/usr/local/lib/python3.12/site-packages:/usr/local/lib/python3.12/dist-packages:/usr/lib/python3/dist-packages pip3 list -v - echo 'mv /usr/local/lib/python3.12/site-packages/* /usr/local/lib/python3.12/dist-packages' - mv /usr/local/lib/python3.12/site-packages/* /usr/local/lib/python3.12/dist-packages echo "PYTHONPATH=/usr/local/lib/python3.12/site-packages:/usr/local/lib/python3.12/dist-packages:/usr/lib/python3/dist-packages pip3 list -v" PYTHONPATH=/usr/local/lib/python3.12/site-packages:/usr/local/lib/python3.12/dist-packages:/usr/lib/python3/dist-packages pip3 list -v echo "----------------------------------------" From 4768c8333a928fc36f816dd92b714890af9e41b3 Mon Sep 17 00:00:00 2001 From: Andy Fingerhut Date: Thu, 23 Jul 2026 11:40:19 -0400 Subject: [PATCH 24/27] Remove extra commands from runptf.sh scripts Signed-off-by: Andy Fingerhut --- exercises/basic/runptf.sh | 15 --------------- exercises/basic_tunnel/runptf.sh | 15 --------------- 2 files changed, 30 deletions(-) diff --git a/exercises/basic/runptf.sh b/exercises/basic/runptf.sh index 0f69fa97..4ff7dfcb 100755 --- a/exercises/basic/runptf.sh +++ b/exercises/basic/runptf.sh @@ -43,21 +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 "source ${HOME}/p4dev-venv/bin/activate ..." -#source ${HOME}/p4dev-venv/bin/activate -echo "PATH=${PATH}" -echo "PYTHONPATH=${PYTHONPATH}" -echo "VIRTUAL_ENV=${VIRTUAL_ENV}" -echo "ls -la $HOME" -echo "--------------------" -ls -la $HOME -echo "--------------------" -echo "pip3 list -v" -pip3 list -v -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 d69fbb25..17ead3fc 100755 --- a/exercises/basic_tunnel/runptf.sh +++ b/exercises/basic_tunnel/runptf.sh @@ -43,21 +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 "source ${HOME}/p4dev-venv/bin/activate ..." -#source ${HOME}/p4dev-venv/bin/activate -echo "PATH=${PATH}" -echo "PYTHONPATH=${PYTHONPATH}" -echo "VIRTUAL_ENV=${VIRTUAL_ENV}" -echo "ls -la $HOME" -echo "--------------------" -ls -la $HOME -echo "--------------------" -echo "pip3 list -v" -pip3 list -v -echo "which ptf=:`which ptf`:" - # ---- run tests ---- sudo ${P4_EXTRA_SUDO_OPTS} `which ptf` \ -i 0@veth1 \ From bab2912ed2633e082f4a69347ad53446c7042304 Mon Sep 17 00:00:00 2001 From: Andy Fingerhut Date: Thu, 23 Jul 2026 11:44:31 -0400 Subject: [PATCH 25/27] Remove some of the extra show commands from CI Signed-off-by: Andy Fingerhut --- .github/workflows/test-exercises.yml | 55 ++++++---------------------- 1 file changed, 12 insertions(+), 43 deletions(-) diff --git a/.github/workflows/test-exercises.yml b/.github/workflows/test-exercises.yml index 0c6af32d..141ad65a 100644 --- a/.github/workflows/test-exercises.yml +++ b/.github/workflows/test-exercises.yml @@ -46,44 +46,15 @@ jobs: shell: bash run: | apt-get update - apt-get install -y make python3-pip python3-venv sudo libboost-iostreams-dev libboost-graph-dev - echo "which simple_switch_grpc" - which simple_switch_grpc - echo "which p4c" - which p4c - echo "HOME=${HOME}" - #python3 -m venv ${HOME}/p4dev-venv --system-site-packages - #source ${HOME}/p4dev-venv/bin/activate - echo "id:" - id - echo "VIRTUAL_ENV=${VIRTUAL_ENV}" - echo "----------------------------------------" - find / -name site-packages -o -name dist-packages - echo "----------------------------------------" - echo "ls -la /usr/lib/python3/dist-packages" - echo "----------------------------------------" - ls -la /usr/lib/python3/dist-packages - echo "----------------------------------------" - echo "ls -la /usr/local/lib/python3.12/dist-packages" - echo "----------------------------------------" - ls -la /usr/local/lib/python3.12/dist-packages - echo "----------------------------------------" - echo "ls -la /usr/local/lib/python3.12/site-packages" - echo "----------------------------------------" - ls -la /usr/local/lib/python3.12/site-packages - echo "----------------------------------------" + apt-get install -y make python3-pip sudo libboost-iostreams-dev libboost-graph-dev echo "python3 -c 'import sys; print(sys.path)'" python3 -c 'import sys; print(sys.path)' echo "python3 -m site" python3 -m site - echo "PYTHONPATH=/usr/local/lib/python3.12/site-packages:/usr/local/lib/python3.12/dist-packages:/usr/lib/python3/dist-packages python3 -m site" - PYTHONPATH=/usr/local/lib/python3.12/site-packages:/usr/local/lib/python3.12/dist-packages:/usr/lib/python3/dist-packages python3 -m site - #find / -name site-packages -o -name dist-packages | xargs ls -la - #find / | egrep '(site-packages|dist-packages)' echo 'mv /usr/local/lib/python3.12/site-packages/* /usr/local/lib/python3.12/dist-packages' mv /usr/local/lib/python3.12/site-packages/* /usr/local/lib/python3.12/dist-packages - echo "PYTHONPATH=/usr/local/lib/python3.12/site-packages:/usr/local/lib/python3.12/dist-packages:/usr/lib/python3/dist-packages pip3 list -v" - PYTHONPATH=/usr/local/lib/python3.12/site-packages:/usr/local/lib/python3.12/dist-packages:/usr/lib/python3/dist-packages pip3 list -v + echo "PYTHONPATH=/usr/local/lib/python3.12/dist-packages:/usr/lib/python3/dist-packages pip3 list -v" + PYTHONPATH=/usr/local/lib/python3.12/dist-packages:/usr/lib/python3/dist-packages pip3 list -v echo "----------------------------------------" find / -name site-packages -o -name dist-packages echo "----------------------------------------" @@ -101,16 +72,16 @@ jobs: echo "----------------------------------------" echo "pip3 list -v" pip3 list -v - echo "PYTHONPATH=/usr/local/lib/python3.12/site-packages:/usr/local/lib/python3.12/dist-packages:/usr/lib/python3/dist-packages pip3 list -v" - PYTHONPATH=/usr/local/lib/python3.12/site-packages:/usr/local/lib/python3.12/dist-packages:/usr/lib/python3/dist-packages pip3 list -v - echo "PYTHONPATH=/usr/local/lib/python3.12/site-packages:/usr/local/lib/python3.12/dist-packages:/usr/lib/python3/dist-packages sudo pip3 install --break-system-packages protobuf==3.20.3 grpcio googleapis-common-protos scapy ptf" - PYTHONPATH=/usr/local/lib/python3.12/site-packages:/usr/local/lib/python3.12/dist-packages:/usr/lib/python3/dist-packages sudo pip3 install --break-system-packages protobuf==3.20.3 grpcio googleapis-common-protos scapy ptf + echo "PYTHONPATH=/usr/local/lib/python3.12/dist-packages:/usr/lib/python3/dist-packages pip3 list -v" + PYTHONPATH=/usr/local/lib/python3.12/dist-packages:/usr/lib/python3/dist-packages pip3 list -v + echo "PYTHONPATH=/usr/local/lib/python3.12/dist-packages:/usr/lib/python3/dist-packages sudo pip3 install --break-system-packages protobuf==3.20.3 grpcio googleapis-common-protos scapy ptf" + PYTHONPATH=/usr/local/lib/python3.12/dist-packages:/usr/lib/python3/dist-packages sudo pip3 install --break-system-packages protobuf==3.20.3 grpcio googleapis-common-protos scapy ptf echo "pip3 list -v" pip3 list -v - echo "PYTHONPATH=/usr/local/lib/python3.12/site-packages:/usr/local/lib/python3.12/dist-packages:/usr/lib/python3/dist-packages pip3 list -v" - PYTHONPATH=/usr/local/lib/python3.12/site-packages:/usr/local/lib/python3.12/dist-packages:/usr/lib/python3/dist-packages pip3 list -v - echo "PYTHONPATH=/usr/local/lib/python3.12/site-packages:/usr/local/lib/python3.12/dist-packages:/usr/lib/python3/dist-packages pip3 list -v" - PYTHONPATH=/usr/local/lib/python3.12/site-packages:/usr/local/lib/python3.12/dist-packages:/usr/lib/python3/dist-packages pip3 list -v + echo "PYTHONPATH=/usr/local/lib/python3.12/dist-packages:/usr/lib/python3/dist-packages pip3 list -v" + PYTHONPATH=/usr/local/lib/python3.12/dist-packages:/usr/lib/python3/dist-packages pip3 list -v + echo "PYTHONPATH=/usr/local/lib/python3.12/dist-packages:/usr/lib/python3/dist-packages pip3 list -v" + PYTHONPATH=/usr/local/lib/python3.12/dist-packages:/usr/lib/python3/dist-packages pip3 list -v echo "----------------------------------------" find / -name site-packages -o -name dist-packages echo "----------------------------------------" @@ -132,9 +103,7 @@ jobs: - name: Run PTF Tests run: | cd exercises/${{ matrix.exercise }} - echo "PYTHONPATH=/usr/local/lib/python3.12/site-packages:/usr/local/lib/python3.12/dist-packages:/usr/lib/python3/dist-packages pip3 list -v" - PYTHONPATH=/usr/local/lib/python3.12/site-packages:/usr/local/lib/python3.12/dist-packages:/usr/lib/python3/dist-packages pip3 list -v - PYTHONPATH=/usr/local/lib/python3.12/site-packages:/usr/local/lib/python3.12/dist-packages:/usr/lib/python3/dist-packages make test + PYTHONPATH=/usr/local/lib/python3.12/dist-packages:/usr/lib/python3/dist-packages make test # Retain logs in case runs fail - name: Upload Logs if: always() From eb50b53f885f91dc51df1bd6269a53da8741f297 Mon Sep 17 00:00:00 2001 From: Andy Fingerhut Date: Thu, 23 Jul 2026 11:48:11 -0400 Subject: [PATCH 26/27] Remove more added show commands, and also explicit setting of PYTHONPATH Signed-off-by: Andy Fingerhut --- .github/workflows/test-exercises.yml | 58 +++------------------------- 1 file changed, 6 insertions(+), 52 deletions(-) diff --git a/.github/workflows/test-exercises.yml b/.github/workflows/test-exercises.yml index 141ad65a..b3850e68 100644 --- a/.github/workflows/test-exercises.yml +++ b/.github/workflows/test-exercises.yml @@ -47,63 +47,17 @@ jobs: run: | apt-get update apt-get install -y make python3-pip sudo libboost-iostreams-dev libboost-graph-dev - echo "python3 -c 'import sys; print(sys.path)'" - python3 -c 'import sys; print(sys.path)' - echo "python3 -m site" - python3 -m site - echo 'mv /usr/local/lib/python3.12/site-packages/* /usr/local/lib/python3.12/dist-packages' mv /usr/local/lib/python3.12/site-packages/* /usr/local/lib/python3.12/dist-packages - echo "PYTHONPATH=/usr/local/lib/python3.12/dist-packages:/usr/lib/python3/dist-packages pip3 list -v" - PYTHONPATH=/usr/local/lib/python3.12/dist-packages:/usr/lib/python3/dist-packages pip3 list -v - echo "----------------------------------------" - find / -name site-packages -o -name dist-packages - echo "----------------------------------------" - echo "ls -la /usr/lib/python3/dist-packages" - echo "----------------------------------------" - ls -la /usr/lib/python3/dist-packages - echo "----------------------------------------" - echo "ls -la /usr/local/lib/python3.12/dist-packages" - echo "----------------------------------------" - ls -la /usr/local/lib/python3.12/dist-packages - echo "----------------------------------------" - echo "ls -la /usr/local/lib/python3.12/site-packages" - echo "----------------------------------------" - ls -la /usr/local/lib/python3.12/site-packages - echo "----------------------------------------" - echo "pip3 list -v" - pip3 list -v - echo "PYTHONPATH=/usr/local/lib/python3.12/dist-packages:/usr/lib/python3/dist-packages pip3 list -v" - PYTHONPATH=/usr/local/lib/python3.12/dist-packages:/usr/lib/python3/dist-packages pip3 list -v - echo "PYTHONPATH=/usr/local/lib/python3.12/dist-packages:/usr/lib/python3/dist-packages sudo pip3 install --break-system-packages protobuf==3.20.3 grpcio googleapis-common-protos scapy ptf" - PYTHONPATH=/usr/local/lib/python3.12/dist-packages:/usr/lib/python3/dist-packages sudo pip3 install --break-system-packages protobuf==3.20.3 grpcio googleapis-common-protos scapy ptf - echo "pip3 list -v" - pip3 list -v - echo "PYTHONPATH=/usr/local/lib/python3.12/dist-packages:/usr/lib/python3/dist-packages pip3 list -v" - PYTHONPATH=/usr/local/lib/python3.12/dist-packages:/usr/lib/python3/dist-packages pip3 list -v - echo "PYTHONPATH=/usr/local/lib/python3.12/dist-packages:/usr/lib/python3/dist-packages pip3 list -v" - PYTHONPATH=/usr/local/lib/python3.12/dist-packages:/usr/lib/python3/dist-packages pip3 list -v - echo "----------------------------------------" - find / -name site-packages -o -name dist-packages - echo "----------------------------------------" - echo "ls -la /usr/lib/python3/dist-packages" - echo "----------------------------------------" - ls -la /usr/lib/python3/dist-packages - echo "----------------------------------------" - echo "ls -la /usr/local/lib/python3.12/dist-packages" - echo "----------------------------------------" - ls -la /usr/local/lib/python3.12/dist-packages - echo "----------------------------------------" - echo "ls -la /usr/local/lib/python3.12/site-packages" - echo "----------------------------------------" - ls -la /usr/local/lib/python3.12/site-packages - echo "----------------------------------------" - echo "which ptf" - which ptf + #echo "PYTHONPATH=/usr/local/lib/python3.12/dist-packages:/usr/lib/python3/dist-packages sudo pip3 install --break-system-packages protobuf==3.20.3 grpcio googleapis-common-protos scapy ptf" + #PYTHONPATH=/usr/local/lib/python3.12/dist-packages:/usr/lib/python3/dist-packages sudo pip3 install --break-system-packages protobuf==3.20.3 grpcio googleapis-common-protos scapy ptf + echo "sudo pip3 install --break-system-packages protobuf==3.20.3 grpcio googleapis-common-protos scapy ptf" + sudo pip3 install --break-system-packages protobuf==3.20.3 grpcio googleapis-common-protos scapy ptf - name: Run PTF Tests run: | cd exercises/${{ matrix.exercise }} - PYTHONPATH=/usr/local/lib/python3.12/dist-packages:/usr/lib/python3/dist-packages make test + #PYTHONPATH=/usr/local/lib/python3.12/dist-packages:/usr/lib/python3/dist-packages make test + make test # Retain logs in case runs fail - name: Upload Logs if: always() From 4aed5d847731c59018375ae13e04d92dddb1dd1f Mon Sep 17 00:00:00 2001 From: Andy Fingerhut Date: Thu, 23 Jul 2026 11:51:03 -0400 Subject: [PATCH 27/27] Get the changes back to a minimal set that pass CI tests Signed-off-by: Andy Fingerhut --- .github/workflows/test-exercises.yml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/.github/workflows/test-exercises.yml b/.github/workflows/test-exercises.yml index b3850e68..641e204d 100644 --- a/.github/workflows/test-exercises.yml +++ b/.github/workflows/test-exercises.yml @@ -48,15 +48,11 @@ jobs: apt-get update apt-get install -y make python3-pip sudo libboost-iostreams-dev libboost-graph-dev mv /usr/local/lib/python3.12/site-packages/* /usr/local/lib/python3.12/dist-packages - #echo "PYTHONPATH=/usr/local/lib/python3.12/dist-packages:/usr/lib/python3/dist-packages sudo pip3 install --break-system-packages protobuf==3.20.3 grpcio googleapis-common-protos scapy ptf" - #PYTHONPATH=/usr/local/lib/python3.12/dist-packages:/usr/lib/python3/dist-packages sudo pip3 install --break-system-packages protobuf==3.20.3 grpcio googleapis-common-protos scapy ptf - echo "sudo pip3 install --break-system-packages protobuf==3.20.3 grpcio googleapis-common-protos scapy ptf" sudo pip3 install --break-system-packages protobuf==3.20.3 grpcio googleapis-common-protos scapy ptf - name: Run PTF Tests run: | cd exercises/${{ matrix.exercise }} - #PYTHONPATH=/usr/local/lib/python3.12/dist-packages:/usr/lib/python3/dist-packages make test make test # Retain logs in case runs fail - name: Upload Logs