Commit Graph
3409 Commits
Author SHA1 Message Date
Agriya Khetarpal 24b64c5cd1 chore: update Pyodide constraints (#2558)
* chore: update Pyodide constraints

* Bump pyodide-lock, pyodide-build, auditwheel-emscripten
2025-08-18 11:14:43 -04:00
mara004 6425e48fed docs: minor doc link fix (#2560)
minor doc fix (configuration.md)
2025-08-18 11:14:13 -04:00
Russell Keith-Magee 0264b4d03a Revert to macOS-14 image for ARM64 iOS testing (#2557)
* Explicitly set the Xcode version on GitHub Actions.

* Revert to macOS-14 for now.
2025-08-18 11:13:47 -04:00
Joe Rickerby 68f9762657 chore: Use the virtualenv release URL rather than the blob URL (#2555) 2025-08-14 20:44:48 +02:00
Henry Schreiner 95e827ece1 chore: color and suggest_on_error are now default (3.14rc1+) (#2554)
Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
2025-08-14 20:44:05 +02:00
Henry Schreiner ff9a284f21 fix: add patchelf requirement for android (#2552)
Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
2025-08-13 08:52:44 -04:00
cade3864de ci: rework tests to break out ios/android tests (#2519)
* ci: rework tests to break out ios/android tests

Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>

* Apply suggestions from code review

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Apply suggestions from code review

* ci: fix check for wheels

Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>

* Update .github/workflows/test.yml

* tests: pass via flag instead of envvar

Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>

* tests: apply to serial/parallel

Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>

* tests: join together marks

Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>

* tests: join together marks

Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>

* ci: break up azure job

Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>

* ci: use matrix for azure pipelines

Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>

* Try installing Java on macos as well

* Revert "Try installing Java on macos as well"

This reverts commit aedf0f5106d2467938705b85180a0b249d49b99d.

* Try to get the most basic android test running first

* Rename platform to test_select, move headers in run_tests

Maybe it's a personal thing, but the header location was really making
me have to think more than I needed to look at that file!

* Only run docker unit tests on machines that are testing linux

* Update the flag name in azure-pipelines too

* Update azure-pipelines.yml

---------

Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Matthieu Darbois <mayeut@users.noreply.github.com>
Co-authored-by: Joe Rickerby <joerick@mac.com>
2025-08-13 08:52:27 -04:00
Joe Rickerby 63bdd4f043 docs: Improve docs on how to skip free-threaded builds (#2549)
* Improve docs on how to skip free-threaded builds

* Add a reference to the Python Free-Threading Guide
2025-08-12 13:57:18 -04:00
Jon CrallandJoe Rickerby 5952330610 tests: fix and enable doctests (#2546)
* fix doctest

* Update cibuildwheel/oci_container.py

Co-authored-by: Joe Rickerby <joerick@mac.com>

* Update cibuildwheel/oci_container.py

Co-authored-by: Joe Rickerby <joerick@mac.com>

* Update cibuildwheel/oci_container.py

Co-authored-by: Joe Rickerby <joerick@mac.com>

* Add xdoctest to CI

* Add doctests to run tests

* Replace test map with new native method

* Forgot key for arm64

* Allow doctests to be filtered on circleci

---------

Co-authored-by: Joe Rickerby <joerick@mac.com>
2025-08-12 09:06:12 -04:00
dependabot[bot]dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>Joe Rickerby
8db3538534 chore(deps): bump the actions group with 2 updates (#2551)
* chore(deps): bump the actions group with 2 updates

Bumps the actions group with 2 updates: [actions/checkout](https://github.com/actions/checkout) and [actions/download-artifact](https://github.com/actions/download-artifact).


Updates `actions/checkout` from 4 to 5
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v4...v5)

Updates `actions/download-artifact` from 4 to 5
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](https://github.com/actions/download-artifact/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: actions
- dependency-name: actions/download-artifact
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: actions
...

Signed-off-by: dependabot[bot] <support@github.com>

* Update actions versions in documentation/examples

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Joe Rickerby <joerick@mac.com>
2025-08-12 09:03:34 -04:00
pre-commit-ci[bot]andpre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> e5caaec292 [pre-commit.ci] pre-commit autoupdate (#2550)
updates:
- [github.com/pre-commit/pre-commit-hooks: v5.0.0 → v6.0.0](https://github.com/pre-commit/pre-commit-hooks/compare/v5.0.0...v6.0.0)
- [github.com/astral-sh/ruff-pre-commit: v0.12.7 → v0.12.8](https://github.com/astral-sh/ruff-pre-commit/compare/v0.12.7...v0.12.8)
- [github.com/shellcheck-py/shellcheck-py: v0.10.0.1 → v0.11.0.1](https://github.com/shellcheck-py/shellcheck-py/compare/v0.10.0.1...v0.11.0.1)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-08-12 09:02:23 -04:00
cibuildwheel-bot[bot]andcibuildwheel-bot[bot] <83877280+cibuildwheel-bot[bot]@users.noreply.github.com> 5a1712daed [Bot] Update dependencies (#2542)
Update dependencies

Co-authored-by: cibuildwheel-bot[bot] <83877280+cibuildwheel-bot[bot]@users.noreply.github.com>
2025-08-12 10:27:06 +01:00
Matthieu Darbois a4c6d16811 fix: ignore empty CIBW_ARCHS (#2541) 2025-08-11 10:50:25 -04:00
Malcolm Smith 78a246a901 fix: correct Android CMAKE_FIND_ROOT_PATH_MODE_PACKAGE value (#2547)
Change Android CMAKE_FIND_ROOT_PATH_MODE_PACKAGE from ONLY to BOTH
2025-08-11 10:49:48 -04:00
Joe Rickerby 47c5a31c1b fix: pyodide build fails when dependency-versions is set (#2548)
Remove auditwheel-emscripten as a top-level dep
2025-08-11 10:48:27 -04:00
pre-commit-ci[bot]andpre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> 3ebb6bd942 [pre-commit.ci] pre-commit autoupdate (#2543)
updates:
- [github.com/astral-sh/ruff-pre-commit: v0.12.5 → v0.12.7](https://github.com/astral-sh/ruff-pre-commit/compare/v0.12.5...v0.12.7)
- [github.com/pre-commit/mirrors-mypy: v1.17.0 → v1.17.1](https://github.com/pre-commit/mirrors-mypy/compare/v1.17.0...v1.17.1)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-08-05 12:25:11 -04:00
Henry Schreiner 352e01339f Bump version: v3.1.3 v3.1.3 2025-08-01 12:38:46 -04:00
Henry Schreiner c463e56ba2 tests: another iOS flaky spot (#2539)
* tests: another iOS flaky spot

Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>

* tests: missing interceptions

Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>

---------

Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
2025-08-01 12:32:01 -04:00
Vytautas Liuolia 8c5c738023 docs(project): add Falcon to working examples (#2538) 2025-07-31 12:26:27 -04:00
Henry Schreiner feeb3992a7 tests: add flaky test handling (#2527)
* chore: add flaky test handling

Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>

* Update test_android.py

---------

Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
2025-07-31 12:26:17 -04:00
Henry Schreiner 60b9cc95db fix: never call pip directly (#2537)
You can't change the running process in Windows. In pip 25.2, the format of the generated file changes, so this now breaks if you try to update to the latest pip (which can happen if deps are unpinned).
2025-07-31 12:26:07 -04:00
Tim Felgentreff e2c7102ed7 chore: remove some GraalPy Windows workarounds. (#2501)
GraalPy made a release where pytest works on Windows
2025-07-31 00:31:23 -04:00
Henry Schreiner 9e4e50bd76 Bump version: v3.1.2 v3.1.2 2025-07-29 09:12:51 -06:00
pre-commit-ci[bot]andpre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> 8ef9414f60 [pre-commit.ci] pre-commit autoupdate (#2532)
updates:
- [github.com/astral-sh/ruff-pre-commit: v0.12.4 → v0.12.5](https://github.com/astral-sh/ruff-pre-commit/compare/v0.12.4...v0.12.5)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-07-28 16:06:41 -06:00
Joe Rickerby 1953c04972 Adding @mhsmith as platform maintainer for Android (#2516) 2025-07-28 13:00:54 -06:00
Russell Keith-Magee 46a6d27995 Bump iOS support package versions. (#2530) 2025-07-28 12:26:52 -06:00
cibuildwheel-bot[bot]andcibuildwheel-bot[bot] <83877280+cibuildwheel-bot[bot]@users.noreply.github.com> 0dc0b48e4d [Bot] Update dependencies (#2529)
Update dependencies

Co-authored-by: cibuildwheel-bot[bot] <83877280+cibuildwheel-bot[bot]@users.noreply.github.com>
2025-07-28 08:20:49 -06:00
Matthieu Darbois b887417e0e fix: enable all shall not enable cpython-experimental-riscv64 (#2528) 2025-07-27 23:18:35 -06:00
Matthieu Darbois 36c5079ce5 tests: reduce testing time on iOS (#2523)
A number of tests only require to run with a single version of python.
This will reduce the time needed to run those tests.
2025-07-27 23:15:55 -06:00
Matthieu Darbois 68c03665d3 feat: add deprecation warning for cpython-experimental-riscv64 enable (#2526) 2025-07-27 15:58:03 -04:00
Matthieu Darbois 1c38fac9c8 fix: invalid warning on test-skip = ["*-macosx_universal2:arm64"] (#2522) 2025-07-27 09:13:38 -04:00
Henry SchreinerandMatthieu Darbois 140bc1a96a tests: mark and add skips (#2524)
* tests: mark and add skips

Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>

* fix comment

---------

Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
Co-authored-by: Matthieu Darbois <mayeut@users.noreply.github.com>
2025-07-27 12:12:42 +02:00
Henry Schreiner 55fcb25edc fix: error on CIBW_FREE_THREADED_SUPPORT set (#2520)
Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
2025-07-26 19:09:26 +02:00
Clément Robertandmayeut c89609aaf2 BUG: fix incorrect number of wheels in logs (#2517)
* BUG: fix incorrect number of wheels in logs

* add a test

---------

Co-authored-by: mayeut <mayeut@users.noreply.github.com>
2025-07-26 13:13:01 +02:00
tabedzkiHenry SchreinerJoe Rickerbypre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
13b086e3c6 docs: clarify language around Python requirements for local cibuildwheel usage (#2513)
* First set of changes to setup.md

* Update docs/setup.md

Co-authored-by: Henry Schreiner <HenrySchreinerIII@gmail.com>

* Update docs/setup.md

Co-authored-by: Joe Rickerby <joerick@mac.com>

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: Henry Schreiner <HenrySchreinerIII@gmail.com>
Co-authored-by: Joe Rickerby <joerick@mac.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-07-25 00:46:16 -04:00
Malcolm Smith 302af02853 fix(android): execute wheel via sys.executable (#2515)
* Android: execute `wheel` via `sys.executable`

* Suppress unhelpful cyclic-import warning
2025-07-24 16:38:22 -04:00
Matthieu Darbois 9361af3204 feat: riscv64 builds are now enabled by default (#2509)
PyPI now accepts `riscv64` uploads for manylinux/musllinux.
Those builds do not require an opt-in anymore.
2025-07-24 14:52:07 -04:00
Malcolm Smith 47c5a35421 Add Cirrus macOS as a runner that supports building for Android but not testing (#2514)
* Add Cirrus macOS as a runner that supports building for Android but not testing

* Try to trigger Cirrus by changing .cirrus.yml
2025-07-24 14:51:39 -04:00
Joe Rickerby e6de07ed39 Bump version: v3.1.1 v3.1.1 2025-07-24 19:14:08 +01:00
timrid 2ca692b1e5 docs: iOS typo fix in docs (#2510)
Update platforms.md

Fixed typo
2025-07-24 12:29:16 -04:00
Clément Robert 1ac7fa7f00 fix: report defects in logs and HTML summaries (#2512)
* BUG: fix incorrect reporting of number of wheels produced

* BUG: fix incorrect naming of test only sessions in html summaries
2025-07-24 12:28:30 -04:00
Henry Schreiner ffd835cef1 Bump version: v3.1.0 v3.1.0 2025-07-23 23:23:06 -04:00
Henry Schreiner 3e2a9aa6e8 fix: regenerate schema
Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
2025-07-23 22:47:02 -04:00
cibuildwheel-bot[bot] 10c727eed9 feat: Python 3.14rc1 build by default (#2507) 2025-07-23 20:59:02 -04:00
pre-commit-ci[bot]pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>Henry Schreiner
f628c9dd23 [pre-commit.ci] pre-commit autoupdate (#2505)
* [pre-commit.ci] pre-commit autoupdate

updates:
- [github.com/astral-sh/ruff-pre-commit: v0.12.3 → v0.12.4](https://github.com/astral-sh/ruff-pre-commit/compare/v0.12.3...v0.12.4)
- [github.com/pre-commit/mirrors-mypy: v1.16.1 → v1.17.0](https://github.com/pre-commit/mirrors-mypy/compare/v1.16.1...v1.17.0)

* chore: fix typing issue from match statement

Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>

---------

Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Henry Schreiner <henryschreineriii@gmail.com>
2025-07-23 17:18:48 -04:00
0f487ee2cb feat: add support for building Android wheels (#2349)
* Add Android to resource files

* Add Android to miscellaneous places

* Add Android documentation

* Docs cleanups

* Add Android platform module; implement top-level structure and target Python installation

* Implement setup_env and build_wheel

* lru-dict build working

* Alter prefix in sysconfigdata file; fix various issues with FLAGS variables

* Implement Android testing

* Add type annotations to _cross_venv

* Revert Python 3.8 to pip 25.0.1

* Make test-sources required on Android

* Add Android integration tests

* Test cleanups

* Add test of all available Python versions

* Update test-sources and test-command behavior to match iOS

* Documentation cleanups

* Replace Builder class with a set of global functions

* Rename "env" to "build_env"

* Remove Chaquopy repository from default pip command line

* Move native_platform to platforms module

* Fix parse_config_settings

Co-authored-by: Joe Rickerby <joerick@mac.com>

* Add unit tests for parse_config_settings and arch_synonym

* Make `shell_prepared` arguments keyword-only, and add tests for the commands that use it

* Replace `importlib.util.spec_from_file_location` with `runpy.run_path`

* Use python-build-standalone

* Update Android Python

* Enable KVM in Linux CI

* Move KVM code to test_android.py

* Use Java 17 on Azure

* Install emulator if necessary before running -accel-check

* Free up additional disk space on Linux runners

* Add sudo

* Skip emulator tests on CI platforms that don't support it

* Download Android Python from Maven Central

* Free up more disk space on Linux runners

* fix: minor fixups

Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>

* Set sysconfig._BASE_PREFIX to support sysconfig.get_path("include")

* Get ANDROID_API_LEVEL from the build environment, not cibuildwheel's own environment

* Correct relative path of test-sources

* Pass a CMake toolchain file to the build

* Add "repair" step which adds libc++ to the wheel when necessary

* Add missing needs_emulator decorator

* Provide useful error message if ANDROID_HOME is not set

* Remove use of HOST environment variable

* Update to Python 3.15.5

* Fix PyLint warnings, clarify comment

* Group common arguments into a dataclass

* Handle environment variables containing newlines

* Discourage the use of `pytest` test commands without `python -m`

* Use single quotes in user-visible messages

* Improve testing documentation

* Pass wheel filename to `log.build_end`

* In GitHub Actions example, skip Android tests on macOS

* Correct relative paths in `patchelf --set-rpath`

* Clarify `test-sources` docs

* Update to Python 3.13.5+20250722.214220

---------

Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
Co-authored-by: Joe Rickerby <joerick@mac.com>
Co-authored-by: Henry Schreiner <henryschreineriii@gmail.com>
2025-07-23 17:18:33 -04:00
Matthieu Darbois e2e24882d8 feat: add default riscv64 images (#2506) 2025-07-23 13:28:36 +02:00
cibuildwheel-bot[bot]andcibuildwheel-bot[bot] <83877280+cibuildwheel-bot[bot]@users.noreply.github.com> a8bff94dbb [Bot] Update dependencies (#2504)
Update dependencies

Co-authored-by: cibuildwheel-bot[bot] <83877280+cibuildwheel-bot[bot]@users.noreply.github.com>
2025-07-21 14:16:55 +02:00
Henry Schreiner fbf37256a5 feat: include free-threaded 3.14 by default (#2503)
This is no longer experimental in 3.13 beta 3, so we don't need an enable for it anymore. Someone can skip expliclity with `'cp31?t-*'` if they really don't want free-threaded wheels.

Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
2025-07-19 19:38:05 -04:00
Matthieu Darbois 9613645abc feat: add support for manylinux_2_34 i686 image (#2500) 2025-07-18 11:30:42 -07:00