Skip to content

CI: clean up cibuildwheel config a bit #29078

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
May 29, 2025
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
CI: clean up cibuildwheel config a bit [wheel build]
This simplifies the configuration a bit:

* Combine pyodide blocks
* Use tables/lists for config-settings and skip
* Remove a few repeated lines
* Use a list for select

Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
  • Loading branch information
henryiii committed May 29, 2025
commit bcf8a99e8ca8c068f9b51a7a086000b53632c3cd
30 changes: 17 additions & 13 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -142,22 +142,32 @@ tracker = "https://github.com/numpy/numpy/issues"
# build wheels for in CI are controlled in `.github/workflows/wheels.yml` and
# `tools/ci/cirrus_wheels.yml`.
build-frontend = "build"
skip = "*_i686 *_ppc64le *_s390x *_universal2"
skip = ["*_i686", "*_ppc64le", "*_s390x", "*_universal2"]
before-build = "bash {project}/tools/wheels/cibw_before_build.sh {project}"
# The build will use openblas64 everywhere, except on arm64 macOS >=14.0 (uses Accelerate)
config-settings = "setup-args=-Duse-ilp64=true setup-args=-Dallow-noblas=false build-dir=build"
before-test = "pip install -r {project}/requirements/test_requirements.txt"
test-command = "bash {project}/tools/wheels/cibw_test_command.sh {project}"
enable = ["cpython-freethreading", "pypy", "cpython-prerelease"]

# The build will use openblas64 everywhere, except on arm64 macOS >=14.0 (uses Accelerate)
[tool.cibuildwheel.config-settings]
setup-args = ["-Duse-ilp64=true", "-Dallow-noblas=false"]
build-dir = "build"

[tool.cibuildwheel.linux]
manylinux-x86_64-image = "manylinux_2_28"
manylinux-aarch64-image = "manylinux_2_28"
musllinux-x86_64-image = "musllinux_1_2"
musllinux-aarch64-image = "musllinux_1_2"

[tool.cibuildwheel.pyodide]
config-settings = "build-dir=build setup-args=--cross-file=$PWD/tools/ci/emscripten/emscripten.meson.cross setup-args=-Dblas=none setup-args=-Dlapack=none"
before-test = "pip install -r {project}/requirements/emscripten_test_requirements.txt"
# Pyodide ensures that the wheels are already repaired by auditwheel-emscripten
repair-wheel-command = ""
test-command = "python -m pytest --pyargs numpy -m 'not slow'"

[tool.cibuildwheel.pyodide.config-settings]
build-dir = "build"
setup-args = ["--cross-file=$PWD/tools/ci/emscripten/emscripten.meson.cross", "-Dblas=none", "-Dlapack=none"]

[tool.cibuildwheel.linux.environment]
# RUNNER_OS is a GitHub Actions specific env var; define it here so it works on Cirrus CI too
Expand All @@ -178,22 +188,16 @@ repair-wheel-command = [
]

[tool.cibuildwheel.windows]
config-settings = "setup-args=--vsenv setup-args=-Dallow-noblas=false build-dir=build"
config-settings = {setup-args = ["--vsenv", "-Dallow-noblas=false"], build-dir="build"}
repair-wheel-command = "bash -el ./tools/wheels/repair_windows.sh {wheel} {dest_dir}"
# This does not work, use CIBW_ENVIRONMENT_WINDOWS
environment = {PKG_CONFIG_PATH="./.openblas"}

[[tool.cibuildwheel.overrides]]
select = "*-win32"
config-settings = "setup-args=--vsenv setup-args=-Dallow-noblas=true build-dir=build"
select = ["*-win32"]
config-settings = {setup-args = ["--vsenv", "-Dallow-noblas=true"], build-dir="build"}
repair-wheel-command = ""

[[tool.cibuildwheel.overrides]]
select = "*pyodide*"
before-test = "pip install -r {project}/requirements/emscripten_test_requirements.txt"
# Pyodide ensures that the wheels are already repaired by auditwheel-emscripten
repair-wheel-command = ""
test-command = "python -m pytest --pyargs numpy -m 'not slow'"

[tool.meson-python]
meson = 'vendored-meson/meson/meson.py'
Expand Down
Loading
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy