From 177ec9dbe91f9c67284bcb02f667a2ee8db9ba98 Mon Sep 17 00:00:00 2001 From: gouyt13clear Date: Tue, 1 Sep 2026 23:25:22 +0800 Subject: [PATCH 1/2] fix: build Python wheels without libpython --- python_bindings/CMakeLists.txt | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/python_bindings/CMakeLists.txt b/python_bindings/CMakeLists.txt index 66504ed..749f4dc 100644 --- a/python_bindings/CMakeLists.txt +++ b/python_bindings/CMakeLists.txt @@ -5,7 +5,13 @@ if(PYTHON_EXECUTABLE AND NOT Python_EXECUTABLE) endif() # 2. Locate Python, NumPy, and pybind11 from the active Python environment. -find_package(Python REQUIRED COMPONENTS Interpreter Development NumPy) +# CMake 3.18+ can request only the module-development files. This avoids +# requiring libpython for embedding, which manylinux images do not provide. +if(CMAKE_VERSION VERSION_LESS 3.18) + find_package(Python REQUIRED COMPONENTS Interpreter Development NumPy) +else() + find_package(Python REQUIRED COMPONENTS Interpreter Development.Module NumPy) +endif() find_package(pybind11 CONFIG REQUIRED) # 3. Define the shared pybind11 module. From 22f3e2f2e4506f24d6fef743bde43b11a4edb1b8 Mon Sep 17 00:00:00 2001 From: gouyt13clear Date: Tue, 1 Sep 2026 23:31:16 +0800 Subject: [PATCH 2/2] ci: validate release wheels on pull requests --- .github/workflows/release.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 6e42511..d24e4f8 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -4,6 +4,8 @@ on: push: tags: - "v*" + pull_request: + branches: ["main", "master"] workflow_dispatch: permissions: