From dc5f3e8ccddddaec63721f998cd2c0ea5cb7b969 Mon Sep 17 00:00:00 2001 From: Nagasunoj Date: Wed, 29 Jul 2026 10:39:15 +0530 Subject: [PATCH 1/2] fix: move skip to global [tool.cibuildwheel] to fix validate-pyproject error MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The property is a global-only key in the cibuildwheel JSON schema. Placing it inside [tool.cibuildwheel.linux] caused validate-pyproject to reject the file with: [ERROR] must not contain {'skip'} properties Moving up to [tool.cibuildwheel] satisfies the schema validator while keeping identical runtime behaviour — musllinux build identifiers do not exist on macOS or Windows, so the glob pattern still only ever matches Linux builds. Fixes #1084 --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 3d5e9119d..5b0cd8afc 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -126,6 +126,7 @@ dependencies = {file = ["requirements.txt"] } [tool.cibuildwheel] build = "cp310-* cp311-* cp312-* cp313-* cp314-*" +skip = "*musllinux*" dependency-versions = "latest" enable = ["cpython-prerelease"] environment.PIP_PREFER_BINARY = "1" @@ -157,7 +158,6 @@ delocate-wheel --verbose --require-archs {delocate_archs} -w {dest_dir} {wheel} [tool.cibuildwheel.linux] manylinux-x86_64-image = "manylinux2014" manylinux-i686-image = "manylinux2014" -skip = "*musllinux*" [tool.black] target-version = ['py310', 'py311', 'py312', 'py313', 'py314'] From ef797e9f683e2148e8c8c1be8ed003e1a7676dd0 Mon Sep 17 00:00:00 2001 From: Nagasunoj Date: Wed, 29 Jul 2026 12:18:09 +0530 Subject: [PATCH 2/2] =?UTF-8?q?ci:=20fix=20Windows=20CMake=20build=20?= =?UTF-8?q?=E2=80=94=20use=20Ninja=20generator=20instead=20of=20NMake?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit On GitHub Windows runners, running cmake from a plain bash shell has no MSVC Developer Command Prompt environment loaded, so the default NMake generator fails immediately with: CMake Error: Running 'nmake' '-?' failed with: The system cannot find the file specified Fix: - Add microsoft/setup-msbuild before the cmake step (Windows only) to initialize the MSVC environment. - Set CMAKE_GENERATOR=Ninja on Windows. Ninja is pre-installed on all GitHub Windows runners and does not require a Developer Command Prompt the way NMake or Visual Studio generators do. --- .github/workflows/ci.yaml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 011561bd7..13b3d7e71 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -286,8 +286,16 @@ jobs: export CXXFLAGS="-I${xcode_prefix}/usr/include -I${brew_prefix}/include -O3 -std=c++17 -flto=auto -Xpreprocessor -fopenmp" echo "CXXFLAGS=${CXXFLAGS}" >> "$GITHUB_ENV" + - name: Set up MSVC developer environment (Windows only) + if: startsWith(matrix.os, 'windows-') + uses: microsoft/setup-msbuild@6fb02220983dee41ce7ae257b6f4d8f9bf5ed4ce # v2 + - name: Build the Python bindings shell: bash + env: + # Use Ninja on Windows: it is pre-installed on GitHub runners and does + # not require a Developer Command Prompt the way NMake does. + CMAKE_GENERATOR: ${{startsWith(matrix.os, 'windows-') && 'Ninja' || ''}} run: | mkdir -p build cd build