From cdde22ecd7055155a077abc1c99901db462a2dbf Mon Sep 17 00:00:00 2001 From: luisleo526 Date: Sat, 10 Oct 2026 17:01:40 +0800 Subject: [PATCH] Install pytest in the CI jobs that run CTest Two CTest rows added in 1.5.0-rc.1, test_run_json_selected_window and test_compile_inventory_pipeline, run `python -m pytest`, and by design they fail when pytest is missing (tests/CMakeLists.txt). Only the preflight job installed pytest, so the Linux and macOS builds, sanitizers, kernel-only and the native-live native profile failed on those two rows with "No module named pytest". Each of those jobs now installs the same hash-pinned wheels as the preflight job (scripts/requirements-preflight.txt) right after setting up Python. A failed install fails the job. No test, CMake registration, label or product file changes, and no row is skipped. Co-Authored-By: Claude Opus 5.5 (1M context) --- .github/workflows/ci.yml | 24 ++++++++++++++++++++++++ .github/workflows/native-live.yml | 8 ++++++++ 2 files changed, 32 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b08d252d..bb9d713a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -170,6 +170,14 @@ jobs: with: python-version: '3.12' + # pytest for the CTest rows that run `python -m pytest` (tests/CMakeLists.txt: + # test_run_json_selected_window, test_compile_inventory_pipeline), the same + # hash-pinned wheels as the preflight job. A failed install fails the job. + - name: Install the CTest pytest runner + run: | + python3 -m pip install --disable-pip-version-check --no-input \ + --require-hashes --only-binary ':all:' -r scripts/requirements-preflight.txt + # tzdata-legacy carries the backward links test_native_calendar resolves # (US/Eastern, Japan, GB); noble split them out of tzdata, and the hosted # image happens to have it, so the row stays green on a bare runner too. @@ -247,6 +255,14 @@ jobs: with: python-version: '3.12' + # pytest for the CTest rows that run `python -m pytest` (tests/CMakeLists.txt: + # test_run_json_selected_window, test_compile_inventory_pipeline), the same + # hash-pinned wheels as the preflight job. A failed install fails the job. + - name: Install the CTest pytest runner + run: | + python3 -m pip install --disable-pip-version-check --no-input \ + --require-hashes --only-binary ':all:' -r scripts/requirements-preflight.txt + - name: Install dependencies run: | sudo apt-get update @@ -298,6 +314,14 @@ jobs: with: python-version: '3.12' + # pytest for the CTest rows that run `python -m pytest` (tests/CMakeLists.txt: + # test_run_json_selected_window, test_compile_inventory_pipeline), the same + # hash-pinned wheels as the preflight job. A failed install fails the job. + - name: Install the CTest pytest runner + run: | + python3 -m pip install --disable-pip-version-check --no-input \ + --require-hashes --only-binary ':all:' -r scripts/requirements-preflight.txt + - name: Install dependencies run: | sudo apt-get update diff --git a/.github/workflows/native-live.yml b/.github/workflows/native-live.yml index 5b019737..fc213b7c 100644 --- a/.github/workflows/native-live.yml +++ b/.github/workflows/native-live.yml @@ -83,6 +83,14 @@ jobs: with: python-version: '3.12' + # pytest for the CTest rows that run `python -m pytest` (tests/CMakeLists.txt: + # test_run_json_selected_window, test_compile_inventory_pipeline), the same + # hash-pinned wheels as the preflight job. A failed install fails the job. + - name: Install the CTest pytest runner + run: | + python3 -m pip install --disable-pip-version-check --no-input \ + --require-hashes --only-binary ':all:' -r scripts/requirements-preflight.txt + - name: Install native build dependencies run: | sudo apt-get update