Commit Graph
100 Commits
Author SHA1 Message Date
Matthieu DarboisandJoe Rickerby 059d8ea25a feat: drop EOL manylinux images (#2316)
* drop EOL manylinux images

* chore: use multi-arch manylinux images as a source for image tag

Using multi-arch images directly messes with parallel tests for now.
Using them as a source for image tag ensures that all architecture specific tags are pointing to the same tag for a given manylinux / musllinux policy.

* Apply review suggestion

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

---------

Co-authored-by: Joe Rickerby <joerick@mac.com>
2025-03-22 12:26:38 -04:00
Matthieu Darbois 3b9c8d4d22 fix: don't seed setuptools/wheel in tests virtual environments. (#2329) 2025-03-22 12:25:58 -04:00
Matthieu Darbois c25fe60385 fix: image deprecation warning (#2314) 2025-03-15 17:54:37 +00:00
Matthieu Darbois 572f2a72b3 fix: image deprecation warning (#2314) 2025-03-12 08:41:51 +00:00
Matthieu Darbois eefd48e266 chore: only build on push to main for Travis CI (#2295) 2025-03-11 16:44:25 -04:00
Matthieu Darbois 0b052a43b7 fix(ci): Cirrus CI does not allow armv7l builds on aarch64 (#2296) 2025-03-01 11:51:38 +00:00
Matthieu Darbois aa1534d2a3 chore(2.x): update dependencies (#2294) 2025-03-01 11:49:19 +00:00
Matthieu Darbois 7e5810c550 feat: drop python 3.6 & 3.7 support (#2282) 2025-02-25 14:23:01 -05:00
mayeut ee23dd147b fix(test): implement retry for test_container_removed
The test is flaky on some platforms. Implement retry rather than just skip.
2025-02-25 14:22:19 -05:00
Matthieu Darbois 55037e9716 ci/doc: move azure macOS build to macOS-13 (#2101)
The macOS-12 environment is deprecated.
2025-02-25 14:22:19 -05:00
mayeut f76d345e81 chore: bump dependencies 2025-02-25 14:22:19 -05:00
Matthieu Darbois 017abbba68 feature: add PyPy 3.11 (#2268) 2025-02-25 14:22:19 -05:00
Matthieu Darbois bb1fd3320e feat: Add support for ubuntu-24.04-arm GHA runner (#2135)
* ci(gha): add tests on ubuntu-24.04-arm

* address review comments
2025-02-25 14:22:19 -05:00
Matthieu Darbois 98a6f3bf64 chore: use pypa/manylinux for manylinux_2_31_armv7l (#2269) 2025-02-25 14:22:19 -05:00
Matthieu Darbois c93d51ec54 feat: add armv7l in auto_archs when running on aarch64 (#2259)
* feat: add armv7l in auto_archs when running on aarch64

This depends on aarch32 EL0 support and thus is done conditionally.

* ci(travis): move to Ubuntu 22.04 / cp312
2025-02-12 10:54:44 -05:00
Matthieu Darbois c738289583 chore: use pypa/manylinux for manylinux_2_31_armv7l (#2269) 2025-02-12 10:52:48 -05:00
Matthieu Darbois a0f457675d doc: add a warning about x86-64-v2 for manylinux_2_34 (#2270) 2025-02-12 10:52:12 -05:00
Matthieu Darbois 9cca4ce881 feature: add PyPy 3.11 (#2268) 2025-02-12 10:51:33 -05:00
Matthieu Darbois b605f8fec8 chore: refactor cibuildwheel.utils (#2252)
* chore: refactor cibuildwheel.utils

* rework build_frontend extra flags

* ci(fix): use tonistiigi/binfmt:qemu-v8.1.5 image for qemu
2025-01-27 14:35:56 -05:00
Matthieu Darbois 3f123af8a1 feat: Add support for ubuntu-24.04-arm GHA runner (#2135)
* ci(gha): add tests on ubuntu-24.04-arm

* address review comments
2025-01-21 14:49:59 -05:00
Matthieu DarboisandJoe Rickerby d134edc652 chore: drop deprecated options related to CIBW_ENABLE (#2095)
* chore: drop deprecated options

* Add --enable option

* Fix pyodide tests


---------

Co-authored-by: Joe Rickerby <joerick@mac.com>
2025-01-21 12:53:01 -05:00
Matthieu Darbois 526df2f696 chore: fix deprecations warnings in update-dependencies workflow (#2134) 2025-01-21 07:47:53 +01:00
Matthieu DarboisandJoe Rickerby a96545b729 feat: use python3.11+ for cibuildwheel driver (#1912)
* chore: use SPEC 0 schedule for cibuildwheel

* remove support for {python} and {pip} in commands

* Remove specific Python versions from the update-dependencies job

The requirements pinning is done by uv now, so we don't need to
run the versions of Python to do the pinning anymore.

---------

Co-authored-by: Joe Rickerby <joerick@mac.com>
2025-01-16 10:45:18 -05:00
Matthieu Darbois 4d0d9f6fd0 ci: warm-up docker images (#2099)
* ci: warm-up docker images

* don't cache when running emulation tests

* skip graalpy cache

* add comment about the single worker case

* enforce docker warm-up succeeds in CI

* skip warm-up on architectures where it does not do any good
2025-01-10 15:24:02 +00:00
Matthieu Darbois 9c75ea15c2 feat: add manylinux_2_34 (#2098) 2024-11-28 07:52:46 +01:00
Matthieu Darbois 7e66fea502 ci/doc: move azure macOS build to macOS-13 (#2101)
The macOS-12 environment is deprecated.
2024-11-28 07:52:14 +01:00
Matthieu Darbois 116bf7490d docs: use non deprecated option for free-threading (#2094) 2024-11-23 21:41:05 -05:00
Matthieu Darbois 648448b46a fix: cibuildwheel.schema.json (#2093) 2024-11-23 21:40:46 -05:00
Matthieu Darbois b882b84e47 fix: update the macOS image used on Cirrus CI (#2085)
Use `ghcr.io/cirruslabs/macos-runner:sonoma` instead of `ghcr.io/cirruslabs/macos-sonoma-xcode` which is not supported anymore.
2024-11-18 03:26:39 -05:00
Matthieu Darbois df6f886390 feat: add manylinux armv7l (#2052) 2024-11-15 19:07:24 -05:00
Matthieu Darbois 6f21f84a71 fix: capture stderr in utils.call when capture_stdout is True (#2076) 2024-11-14 11:40:59 -05:00
Matthieu Darbois 5cdddb2d46 fix: error message when manylinux-interpreters ensure ... failed (#2066)
* review: address review comments from #1630

* fix: error message when `manylinux-interpreters ensure ...` failed

* fix: error message when `manylinux-interpreters ensure ...` failed (option b)
2024-11-09 11:06:13 +01:00
Matthieu DarboisandHenry Schreiner 7c3b0fbee8 chore: add warning when running cibuildwheel with python<3.11 (#2050)
* chore: add warning when running cibuildwheel with python<3.11

* fix: use `log.warning` to print warnings in `print_preamble`

* Better warning & doc update

* address review comments

* Update README.md

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

---------

Co-authored-by: Henry Schreiner <HenrySchreinerIII@gmail.com>
2024-10-25 22:07:29 +02:00
Matthieu Darbois 1001c837de fix: re-raise subprocess.CalledProcessError when uname -m fails on arm (#2049) 2024-10-19 23:02:40 -04:00
Matthieu Darbois 5b7119ecef linux: use Python 3.9 in before_all (#2043)
Also use Python 3.9 for utility python in oci_container.
2024-10-17 01:25:09 -04:00
Matthieu Darbois 80ae9a50c9 fix: do not subclass wheel.bdist_wheel command in ABI3 test (#2030)
fix: do not subclass bdist_wheel command in ABI3 test

With bdist_wheel becoming a first-class citizen command of setuptools, this trick might not work in the future.
2024-10-07 18:26:20 -04:00
Matthieu DarboisandHenry Schreiner 9fad66fcfb feat: add musllinux armv7l (#2017)
* feature: add musllinux armv7l

* fix: local armv7l images

* fix python 3.8 tests

* address review comments

---------

Co-authored-by: Henry Schreiner <HenrySchreinerIII@gmail.com>
2024-10-01 10:33:57 -04:00
Matthieu Darbois 8c42e7980c fix: file ownership of files copied into the container (#2007)
Revert to using `cat`/`tar` to copy files/folders into the container.
2024-09-16 23:12:19 +01:00
Matthieu Darbois 33da1f7d14 fix: do not use uv to setup python on windows when conditions are not met (#2005)
* fix: do not use `uv` to setup python on windows when conditions are not met

* add `can_use_uv` on macOS
2024-09-16 12:03:19 -04:00
Matthieu Darbois 0787a44d99 fix: enforce minimum version of docker/podman (#1961)
* fix: enforce minimum version of docker/podman

This allows to always pass `--platform` to the OCI engine
thus fixing issues with multiarch images.

* Allow older versions with warnings

* Upgrade docker on Travis CI

* fix: use `docker cp` instead of `tar`

* Enforce docker>=24.0

* move log to include container.copy_into

* fix: travis-ci, only update docker on aarch64

* skip test_multiarch_image on s390x / ppc64le

* skip flaky test

* chore: only install test deps on Travis CI

* fix: do not try to pull images tagged `cibw_local`

* use "--pull=never" for local images

* Use docker image inspect to check if an image needs to be pulled
2024-09-12 15:32:43 -04:00
Matthieu Darbois 126b81916d chore(ci): podman is now pre-installed on GHA runners (#1974)
podman is now pre-installed on GHA runners
2024-08-19 11:28:24 -04:00
Matthieu Darbois 170e7aaeb9 fix: TravisCI failures & status (#1970)
* fix: TravisCI failures & status
* Allow failure on s390x
2024-08-15 17:48:24 +02:00
Matthieu Darbois b1781e4606 fix: AppVeyor CI tests & sample (#1971) 2024-08-14 15:57:17 -04:00
Matthieu Darbois 7af9d039fb fix: do not use uv on Windows PyPy 3.8 (#1941)
fix: do not use uv on PyPy 3.8

uv 0.2.25+ does not work with PyPy 3.8
Given PyPy 3.8 is EOL, just disable uv for this config rather than ask for it to be supported again in uv.
2024-07-21 10:51:43 +02:00
Matthieu Darbois cac121a67d chore: update examples to use python 3.12 (#1919) 2024-07-09 09:15:44 -04:00
Matthieu Darbois 6c8347f465 chore: use python from setup-python step to run nox (#1921) 2024-07-08 07:59:44 +02:00
Matthieu Darbois a4d24056ef chore: move AlreadyBuiltWheelError & NonPlatformWheelError to errors.py (#1920) 2024-07-07 09:47:03 +02:00
Matthieu Darbois 6a36f6494b feat: add macOS on GitLab (#1911) 2024-06-30 10:59:58 +02:00
Matthieu Darbois 31de15bcd9 chore: remove nosetests from tests and docs (#1898)
fix #499
2024-06-30 10:21:33 +02:00
Matthieu Darbois 184d4e1280 fix(ci): CircleCI / Azure Pipelines / GitLab (#1899)
* fix(ci): CircleCI

CircleCI does not support Intel macOS runners anymore.
c.f. https://discuss.circleci.com/t/macos-intel-support-deprecation-in-january-2024/48718

* fix(ci): Azure Pipelines

* fix(ci): GitLab
2024-06-29 14:12:13 -04:00
Matthieu Darbois 5b74582a72 chore: remove pip beta workaround (#1892) 2024-06-23 14:16:44 +02:00
Matthieu Darbois 4470eb0dd9 chore: remove pip beta workaround (#1891) 2024-06-22 14:38:46 +02:00
Matthieu Darbois 70913f0a49 chore: remove cached_property from utils (#1884) 2024-06-17 23:01:08 +02:00
Matthieu Darbois c1b8a12cd5 chore(tests): run a project with tests using build[uv] frontend (#1880) 2024-06-17 01:07:35 -04:00
Matthieu Darbois c37e5a2d13 fix: util.move_file shall not use log.notice (#1862)
Using  `log.notice` result in many unwanted annotations, at least in GitHub Actions.
If we want to print some information about a specific file being moved, it shall be done by the caller - or adding an option to the function - and use `print`.
2024-06-09 19:03:12 +02:00
Matthieu Darbois 2e6b11e10c chore(ci): split emulation tests per architecture (#1839) 2024-05-27 22:34:10 -04:00
Matthieu Darbois b713086763 chore: better determinism for the test virtual environment (#1838)
* chore: better determinism for the test virtual environment

* review: apply suggestions
2024-05-27 23:04:25 +02:00
Matthieu Darbois 97da90432e chore: rework single python tests (#1835)
* chore: rework single python tests

* chore(tests): limit number of builds in test_abi3

* chore(tests): limit number of builds in test_before_all

* apply review suggestion

use `os.path.samefile` rather than comparing `os.stat` directly.
2024-05-26 12:41:20 +02:00
Matthieu Darbois 67ee9dda92 chore(tests): do not use hard-coded paths in tests (#1834)
* chore(tests): do not use hard-coded paths in tests

* review suggestion

use `os.path.samefile` rather than comparing `os.stat` directly.
2024-05-26 12:40:11 +02:00
mayeut 90dd47640f doc: add documentation for the CIBW_FREE_THREADED_SUPPORT option 2024-05-20 07:12:10 -04:00
mayeut b61324914b chore: pass a PythonConfiguration to install_cpython 2024-05-20 07:12:10 -04:00
mayeut 3992d5719c feat: add option to opt-in free-threaded builds 2024-05-20 07:12:10 -04:00
mayeut 345467c6cf feat: add support for free-threaded (no-gil) Python 3.13 2024-05-20 07:12:10 -04:00
Matthieu Darbois d1a4c9c074 chore: un-pin virtualenv update (#1830) 2024-05-20 02:21:42 -04:00
Matthieu Darbois 78bca57cb4 fix(tests): linux tests from macOS/Windows arm64 (#1829)
* fix(tests): linux tests from macOS/Windows arm64

When running on arm64, macOS reports machine as `arm64` and Windows as `ARM64`.
We need to override this to `aarch64` when running linux tests.

* fix(tests): fix tests when running with `--run-cp38-universal2`
2024-05-18 18:34:39 +02:00
Matthieu Darbois 44c4742477 feat: add Python 3.13 beta 1 (#1815) 2024-05-11 20:26:18 -04:00
Matthieu Darbois c0217440e8 feat: move default musllinux build to musllinux_1_2 (#1817) 2024-05-11 16:24:48 -04:00
Matthieu Darbois cf18014fce fix: do not pre-seed setuptools / wheel in virtual environment (#1819) 2024-05-11 16:24:01 -04:00
Matthieu Darbois 3ea0a6c2f0 fix: respect constraints when building with pip (#1818)
When building a project that has a `pyproject.toml`, constraints
are not respected when building with the `pip` frontend.

This commit fixes this by using the same tricks as for the `build` frontend.
2024-05-10 15:33:56 -04:00
mayeut a6ecded8c4 chore(action): do not use pipx 2024-03-04 11:05:20 +01:00
Matthieu Darbois ae2451a199 chore(ci): speed-up tests (#1752)
* chore(ci): speed-up tests

* back to 2 processes on Azure macOS
2024-02-29 16:27:09 -05:00
Matthieu Darbois 53e2c74ab0 chore(action): update cibuildwheel arguments passing (#1757)
chore(action): update cibw arguments passing

Only pass arguments that were set to cibuildwheel.
2024-02-16 23:49:21 -05:00
Matthieu Darbois 75d6d9d55b Merge branch 'main' into gha-images-latest 2024-02-10 09:58:58 +01:00
81b0a578df chore(CI): test on GHA macOS-14 runner (#1700)
* chore(CI): test on GHA macOS-14 runner
* update error message for skipped arm64 tests
* Update docs, README and examples

---------

Co-authored-by: Henry Schreiner <HenrySchreinerIII@gmail.com>
Co-authored-by: Joe Rickerby <joerick@mac.com>
Co-authored-by: Andrew Murray <3112309+radarhere@users.noreply.github.com>
2024-02-10 09:55:38 +01:00
Matthieu Darbois 2090f0ddce chore: limit Cirrus CI usage (#1643)
New usage limits are now enforced on Cirrus CI.
Limit runs to the minimum.
2023-11-01 18:08:55 -04:00
mayeut 74c99e0d93 feat: use manylinux-interpreters tool if present
This will allow dropping some EOL (and maybe some none EOL) python interpreters in manylinux images which would allow to reduce its size (faster for a vast majority of user, a small slow-down for users of those interpreters).
2023-10-01 13:51:21 +02:00
Matthieu DarboisandJoe Rickerby 7a8b8012ff clearer simulate_32_bit initialization
Co-authored-by: Joe Rickerby <joerick@mac.com>
2023-09-18 21:30:22 +02:00
mayeut 0ccf1dc016 remove GHA runner cached docker images
This frees up some space preventing reaching GHA disk space limits.
2023-09-18 21:28:33 +02:00
mayeut ba11212a13 use fixture in oci_container_test.py to clean-up images after tests 2023-09-18 21:28:33 +02:00
mayeut 6d0890e7e0 add tests 2023-09-18 21:28:33 +02:00
mayeut cf7586ce7e check i686 directly 2023-09-18 21:28:33 +02:00
mayeut 137dc1a2cf Rename simulate_32_bit to enforce_32_bit 2023-09-18 21:28:33 +02:00
mayeut 1646b08659 fix: do not use linux32 when unnecessary 2023-09-18 21:28:32 +02:00
Matthieu Darboisandpre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> 36049d86a2 feature: add musllinux_1_2 support (#1561)
* feature: add musllinux_1_2 support

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

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

* fix[test]: clean-up docker images in test_*linux*_only.py

We are reaching disk space limits (14 GB) when running tests.
Add a fixture to clean-up docker images after tests.
This fixture is applied on tests that pull a specific image for one test only in order not to take too much time pulling that image many times.

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2023-08-07 12:01:10 -04:00
mayeut 6415878631 chore: remove cap on markdown-it-py
Since it's an indirect dependency (of rich), just remove the line altogether.
2023-07-01 14:42:03 +02:00
mayeut 4b19db8454 chore: drop python 3.7 for cibuildwheel driver
This drops python 3.7 for cibuildwheel.
Building python 3.6 / 3.7 packages is still supported.
2023-07-01 14:33:24 +02:00
mayeut b1929b7eaf feature: add PyPy 3.10 2023-06-17 14:21:50 +02:00
mayeut c2fb0e4e96 chore: update to virtualenv<20.22.0
virtualenv>=20.22.0 can't create python 3.6 environments.
2023-04-29 11:58:41 +02:00
Matthieu Darbois 00f6526ff5 Merge pull request #1483 from pypa/dependabot/github_actions/wntrblm/nox-2023.04.22
build(deps): bump wntrblm/nox from 2022.11.21 to 2023.04.22
2023-04-29 11:39:22 +02:00
mayeut 7efc7dbb91 chore: stop updating python 3.6 constraints
All dependencies (except distlib) dropped python 3.6, just stop trying updating.
2023-04-29 11:33:34 +02:00
92cb1d8990 feat: add PyPy macOS arm64 (#1372)
* feat: add PyPy macOS arm64
* fix: use PyPy 7.3.11
* fix: filter-out unsupported PyPy cross-compilation configs
* Add quiet notice about the auto-skipping of arm64 pp builds on x86_64

Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
Co-authored-by: Henry Schreiner <henryschreineriii@gmail.com>
Co-authored-by: Joe Rickerby <joerick@mac.com>
2023-01-14 09:48:01 +01:00
Matthieu DarboisandHenry Schreiner 9b0d63b2f4 ci: use normal AppVeyor macOS image (#1388)
Co-authored-by: Henry Schreiner <HenrySchreinerIII@gmail.com>
2023-01-03 15:06:28 -05:00
Matthieu Darbois ff8e121fac fix(ci): use ubuntu-20.04 for update workfow (#1370)
ubuntu-latest / 22.04 does not have python 3.6, use ubuntu-20.04 instead.
2022-12-11 10:48:12 +01:00
Matthieu Darbois 4786f528a9 chore: remove comment block in docs/working-examples.md (#1328)
This produces a lot of line diffs on every update and was mostly used to debug star-based sorting.
2022-10-30 00:09:33 +02:00
mayeut fed1314511 fix: warning when building macOS arm64 wheels
When `MACOSX_DEPLOYMENT_TARGET` is not set by the user, cibuildwheel always defaults to `10.9`.
This leads to warning when building arm64 wheels.
This commit removes the warning by setting the default to `11.0` for arm64 builds.
2022-10-14 23:56:57 +02:00
mayeut 56c8fac392 chore: allow Python 3.11 in the GitHub Action 2022-10-14 08:44:16 +02:00
mayeut 442e95d08f chore: test with Python 3.11 2022-10-14 08:41:26 +02:00
Matthieu Darbois cdb1c5a49e fix(tests): use a specific PIP_CACHE_DIR per worker (#1301)
This should most likely resolve random failures seen with pip when running tests in parallel.
2022-10-10 22:02:28 -04:00
Matthieu Darbois 758dfec593 chore: better error message when python is missing in an OCI image (#1298) 2022-10-09 16:44:14 +02:00
mayeut 6286d9c33d feature: allow testing cp38-macosx_arm64 wheel
Per discussion in https://github.com/pypa/cibuildwheel/pull/1169, the default installer used for cp38 is an Intel installer.
It makes sense to skip testing arm64 wheels in this case.

However, if the user choose to manually install the universal2 CPython version, then, tests shall be run on arm64.

This allows users that either target 11.0+ on intel, universal2 or only build for arm64 to get the arm64 wheel tested on AppleSilicon.
2022-09-25 12:34:36 +02:00