From 07f239b57d65edb515e2b305b9fd5ca296780e9f Mon Sep 17 00:00:00 2001 From: Ian McInerney Date: Fri, 14 Nov 2025 10:27:36 +0000 Subject: [PATCH 1/3] Update cibuildwheel This version drops support for Python <3.8, so no need to skip them anymore. --- .github/workflows/build_cuda.yml | 2 +- .github/workflows/build_cuda_windows.yml | 2 +- .github/workflows/build_default.yml | 2 +- .github/workflows/build_mkl.yml | 2 +- .github/workflows/build_mkl_windows.yml | 2 +- .github/workflows/build_wasm.yml | 2 +- backend/cuda/cibuildwheel.toml | 2 +- backend/mkl/cibuildwheel.toml | 2 +- cibuildwheel.toml | 2 +- 9 files changed, 9 insertions(+), 9 deletions(-) diff --git a/.github/workflows/build_cuda.yml b/.github/workflows/build_cuda.yml index 3b627500..8f218ba1 100644 --- a/.github/workflows/build_cuda.yml +++ b/.github/workflows/build_cuda.yml @@ -23,7 +23,7 @@ jobs: - uses: actions/checkout@master - name: Build wheels - uses: pypa/cibuildwheel@v2.23 + uses: pypa/cibuildwheel@v3.3 with: package-dir: backend/cuda config-file: backend/cuda/cibuildwheel.toml diff --git a/.github/workflows/build_cuda_windows.yml b/.github/workflows/build_cuda_windows.yml index b4f887ed..4c308a98 100644 --- a/.github/workflows/build_cuda_windows.yml +++ b/.github/workflows/build_cuda_windows.yml @@ -51,7 +51,7 @@ jobs: del %TEMP%\cuda.exe - name: Build wheels - uses: pypa/cibuildwheel@v2.23 + uses: pypa/cibuildwheel@v3.3 with: package-dir: backend/cuda config-file: backend/cuda/cibuildwheel.toml diff --git a/.github/workflows/build_default.yml b/.github/workflows/build_default.yml index a66c4a04..db743f5b 100644 --- a/.github/workflows/build_default.yml +++ b/.github/workflows/build_default.yml @@ -56,7 +56,7 @@ jobs: - uses: actions/checkout@master - name: Build wheels - uses: pypa/cibuildwheel@v2.23 + uses: pypa/cibuildwheel@v3.3 with: config-file: cibuildwheel.toml output-dir: wheelhouse diff --git a/.github/workflows/build_mkl.yml b/.github/workflows/build_mkl.yml index 67f5c677..4e971905 100644 --- a/.github/workflows/build_mkl.yml +++ b/.github/workflows/build_mkl.yml @@ -25,7 +25,7 @@ jobs: - uses: actions/checkout@master - name: Build wheels - uses: pypa/cibuildwheel@v2.23 + uses: pypa/cibuildwheel@v3.3 with: package-dir: backend/mkl config-file: backend/mkl/cibuildwheel.toml diff --git a/.github/workflows/build_mkl_windows.yml b/.github/workflows/build_mkl_windows.yml index c4c6af4c..ed6dde40 100644 --- a/.github/workflows/build_mkl_windows.yml +++ b/.github/workflows/build_mkl_windows.yml @@ -49,7 +49,7 @@ jobs: rd /s/q "webimage_base_extracted" - name: Build wheels - uses: pypa/cibuildwheel@v2.23 + uses: pypa/cibuildwheel@v3.3 with: package-dir: backend/mkl config-file: backend/mkl/cibuildwheel.toml diff --git a/.github/workflows/build_wasm.yml b/.github/workflows/build_wasm.yml index c1caab96..a2a12891 100644 --- a/.github/workflows/build_wasm.yml +++ b/.github/workflows/build_wasm.yml @@ -19,7 +19,7 @@ jobs: - uses: actions/checkout@master - name: Build wheels - uses: pypa/cibuildwheel@v2.23 + uses: pypa/cibuildwheel@v3.3 env: CIBW_PLATFORM: pyodide with: diff --git a/backend/cuda/cibuildwheel.toml b/backend/cuda/cibuildwheel.toml index 6f670d40..7c791a18 100644 --- a/backend/cuda/cibuildwheel.toml +++ b/backend/cuda/cibuildwheel.toml @@ -1,6 +1,6 @@ [tool.cibuildwheel] build = "cp3*" -skip = ["cp36-*", "cp37-*", "*-win32", "*-manylinux_i686", "*-musllinux_*"] +skip = ["*-win32", "*-manylinux_i686", "*-musllinux_*"] build-verbosity = 1 before-build = "rm -rf {package}/osqp_sources/build" repair-wheel-command = "" diff --git a/backend/mkl/cibuildwheel.toml b/backend/mkl/cibuildwheel.toml index a257b34f..cfb615bf 100644 --- a/backend/mkl/cibuildwheel.toml +++ b/backend/mkl/cibuildwheel.toml @@ -1,6 +1,6 @@ [tool.cibuildwheel] build = "cp3*" -skip = ["cp36-*", "cp37-*", "*-win32", "*-manylinux_i686", "*-musllinux_*"] +skip = ["*-win32", "*-manylinux_i686", "*-musllinux_*"] build-verbosity = 1 before-build = "rm -rf {package}/osqp_sources/build" diff --git a/cibuildwheel.toml b/cibuildwheel.toml index 4b8cb2f8..1e325411 100644 --- a/cibuildwheel.toml +++ b/cibuildwheel.toml @@ -1,6 +1,6 @@ [tool.cibuildwheel] build = "cp3*" -skip = ["cp36-*", "cp37-*", "*-win32", "*-manylinux_i686", "*-musllinux_*"] +skip = ["*-win32", "*-manylinux_i686", "*-musllinux_*"] build-verbosity = 1 before-build = "rm -rf {package}/osqp_sources/build" # Install CPU-only version of torch beforehand since that allows cibuildwheel From 505417c2664c26bb582ed20231a31bf68cbd8c39 Mon Sep 17 00:00:00 2001 From: Ian McInerney Date: Fri, 14 Nov 2025 10:34:25 +0000 Subject: [PATCH 2/3] Switch from yum to dnf for dependency installation The new ManyLinux image doesn't have yum-config-manager, so switch to using DNF. --- backend/cuda/cibuildwheel.toml | 6 +++--- backend/mkl/cibuildwheel.toml | 5 +++-- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/backend/cuda/cibuildwheel.toml b/backend/cuda/cibuildwheel.toml index 7c791a18..621f388a 100644 --- a/backend/cuda/cibuildwheel.toml +++ b/backend/cuda/cibuildwheel.toml @@ -7,9 +7,9 @@ repair-wheel-command = "" [tool.cibuildwheel.linux] before-all = [ - "yum-config-manager --add-repo https://developer.download.nvidia.com/compute/cuda/repos/rhel9/x86_64/cuda-rhel9.repo", - "yum search cuda-toolkit*", - "yum install -y cuda-toolkit-12-6" + "dnf config-manager --add-repo https://developer.download.nvidia.com/compute/cuda/repos/rhel9/x86_64/cuda-rhel9.repo", + "dnf search cuda-toolkit*", + "dnf install -y cuda-toolkit-12-6" ] environment = { CMAKE_CUDA_COMPILER = "/usr/local/cuda-12.6/bin/nvcc" } diff --git a/backend/mkl/cibuildwheel.toml b/backend/mkl/cibuildwheel.toml index cfb615bf..2d4cad83 100644 --- a/backend/mkl/cibuildwheel.toml +++ b/backend/mkl/cibuildwheel.toml @@ -6,9 +6,9 @@ before-build = "rm -rf {package}/osqp_sources/build" [tool.cibuildwheel.linux] before-all = [ - "yum-config-manager --add-repo https://yum.repos.intel.com/oneapi", + "dnf config-manager --add-repo https://yum.repos.intel.com/oneapi", "rpm --import https://yum.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB", - "yum --nogpgcheck install -y intel-oneapi-mkl-devel-2023.0.0" + "dnf --nogpgcheck install -y intel-oneapi-mkl-devel-2025.0" ] environment = { MKL_ROOT = "/opt/intel/oneapi/mkl/latest" } repair-wheel-command = "" @@ -16,6 +16,7 @@ repair-wheel-command = "" [tool.cibuildwheel.macos] before-all = [ # See https://github.com/oneapi-src/oneapi-ci for installer URLs + # macOS must use an old version because newer versions dropped compatibility for x86-based macOS "wget -q https://registrationcenter-download.intel.com/akdlm/IRC_NAS/cd013e6c-49c4-488b-8b86-25df6693a9b7/m_BaseKit_p_2023.2.0.49398.dmg", "hdiutil attach -noverify -noautofsck m_BaseKit_p_2023.2.0.49398.dmg", "sudo /Volumes/m_BaseKit_p_2023.2.0.49398/bootstrapper.app/Contents/MacOS/bootstrapper --silent --eula accept --components intel.oneapi.mac.mkl.devel", From eead2c21922fda8ae2b698bc5af1d3bfec1bff49 Mon Sep 17 00:00:00 2001 From: Ian McInerney Date: Fri, 14 Nov 2025 10:51:32 +0000 Subject: [PATCH 3/3] Increase CUDA version to 12.8 for GCC 14 The new ManyLinux image has GCC 14, which is only supported starting at CUDA 12.8. --- backend/cuda/cibuildwheel.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/backend/cuda/cibuildwheel.toml b/backend/cuda/cibuildwheel.toml index 621f388a..179348cd 100644 --- a/backend/cuda/cibuildwheel.toml +++ b/backend/cuda/cibuildwheel.toml @@ -9,9 +9,9 @@ repair-wheel-command = "" before-all = [ "dnf config-manager --add-repo https://developer.download.nvidia.com/compute/cuda/repos/rhel9/x86_64/cuda-rhel9.repo", "dnf search cuda-toolkit*", - "dnf install -y cuda-toolkit-12-6" + "dnf install -y cuda-toolkit-12-8" ] -environment = { CMAKE_CUDA_COMPILER = "/usr/local/cuda-12.6/bin/nvcc" } +environment = { CMAKE_CUDA_COMPILER = "/usr/local/cuda-12.8/bin/nvcc" } [tool.cibuildwheel.windows] environment = { CMAKE_CUDA_COMPILER = "C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v12.6/bin/nvcc.exe", CUDA_TOOLKIT_ROOT_DIR = "C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v12.6", CMAKE_GENERATOR_TOOLSET = "cuda=C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v12.6" }