Commit Graph
224 Commits
Author SHA1 Message Date
Matthieu Darbois 017abbba68 feature: add PyPy 3.11 (#2268) 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 df6f886390 feat: add manylinux armv7l (#2052) 2024-11-15 19:07:24 -05:00
Henry Schreinerandmayeut 393e0352e8 feat: adding enable (#2048)
* feat: adding enable

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

* refactor: use recommended term

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

* fix: use `cached_property` for `Options` properties

* fix: warn on PyPy default

---------

Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
Co-authored-by: mayeut <mayeut@users.noreply.github.com>
2024-11-14 11:39:52 -05:00
Henry SchreinerandMatthieu Darbois cc1d977359 feat: support test-groups (#2063)
* feat: support test-groups

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

* refactor: address review comments

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

* tests: add a integration test

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

* Apply suggestions from code review

Co-authored-by: Matthieu Darbois <mayeut@users.noreply.github.com>

* fix: better error messages based on feedback

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

---------

Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
Co-authored-by: Matthieu Darbois <mayeut@users.noreply.github.com>
2024-11-04 21:25:01 +01:00
Joe Rickerby 66d45de432 repair-wheel-command docs and error message improvements (#2058)
* Fix bug in docs for running abi3audit in repair-wheel-command on windows

* Better error message for misconfigured repair-wheel-command
2024-10-28 23:22:03 -04:00
Henry Schreiner 3d3159b37b docs: update for 3.13.0 final (#2035)
Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
2024-10-08 10:26:58 -04:00
Joe RickerbyHenry SchreinerMatthieu Darboispre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
ec591cdf47 Add note about the planned change of the manylinux default (#1992)
* Add note about the planned change of the manylinux default

* Update docs/options.md

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

* Change date to 6th May

Co-authored-by: Matthieu Darbois <mayeut@users.noreply.github.com>

* no manylinux_2_28 pypy_i686 image

* no manylinux_2_28 i686 image

* [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: Matthieu Darbois <mayeut@users.noreply.github.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-10-02 14:29:22 +02: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
Conor MacBrideandMatthieu Darbois d4c332104d feat: add CIBW_ALLOW_EMPTY environment variable (#1937)
Co-authored-by: Matthieu Darbois <mayeut@users.noreply.github.com>
2024-07-23 09:25:09 +01:00
Henry Schreiner 973946b172 fix: support --no-isolation with build[uv] (#1889)
* fix: support --no-isolation with build[uv]

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

* docs: mention caveat

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

---------

Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
2024-07-01 20:15:09 -04:00
Matthieu Darbois 31de15bcd9 chore: remove nosetests from tests and docs (#1898)
fix #499
2024-06-30 10:21:33 +02:00
Lukas Burgholzer 5b5a95bdc2 docs: properly escape extra in build[uv] (#1886) 2024-06-19 08:01:35 +02:00
Eric Larson 89a5cfe272 DOC: Fix bug with link (#1870) 2024-06-11 21:24:44 +02:00
bf817c6dc8 refactor: error handling to use exceptions (#1719)
* Refactor error handling to use exceptions

cibuildwheel has up until now handled most errors by printing an error message to sys.stderr and calling sys.exit. Others were handled using Logger.error, depending on the context. We also had return codes, but these weren't explicitly defined anywhere.

This makes that convention more explicit and codified. Now to halt the program, the correct thing to do is to throw a cibuildwheel.errors.FatalError exception - that is caught in main() and printed before exiting. The existing behaviour was kept - if an error occurs within a build step (probably something to do with the build itself), the Logger.error() method is used. Outside of a build step (e.g. a misconfiguration), the behaviour is still to print 'cibuildwheel: <message>'

I also took the opportunity to add a debugging option `--debug-traceback` (and `CIBW_DEBUG_TRACEBACK`), which you can enable to see a full traceback on errors.

(I've deactivated the flake8-errmsg lint rule, as it was throwing loads of errors and these error messages aren't generally seen in a traceback context)

* add noqa rule

* Apply suggestions from code review

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

* Return to flake8-errmsg conformance

* Code review suggestions

* Subclass Exception rather than SystemExit

* apply error handling to new code and fix merge issues

* Apply review suggestion

* fix: merge issue

* Update cibuildwheel/errors.py

---------

Co-authored-by: Henry Schreiner <HenrySchreinerIII@gmail.com>
Co-authored-by: mayeut <mayeut@users.noreply.github.com>
2024-06-10 10:36:20 -04:00
Henry Schreiner 384c8d5c82 feat: build[uv] (#1856) 2024-06-09 15:45:31 -04:00
Hood ChathamMatthieu DarboisHenry Schreinerpre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
9f2a3cb67c feat: add Pyodide support (#1456)
* feat: add Pyodide support

Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
Co-authored-by: Hood Chatham <roberthoodchatham@gmail.com>
Co-authored-by: Matthieu Darbois <mayeut@users.noreply.github.com>

tests: fix two merge issues

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

fix: include schema

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

* Try to fix xbuildenv path

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

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

Try to install pyodide-build from main branch

Try again

Try again

Update constraints file

Try again

Remove unused variable

Drop constraints

Remove --download option

Fix xbuildenv install

Try again

Try again

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

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

* fix: remove pinning on pyodide

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

* Update for Pyodide 0.26.0a5

* Install pyodide-build from pypi

* Update docs/options.md

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

* Unxfail things that look like they were just a version mismatch

* refactor: add constraints for pyodide

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

* chore: minor cleanup

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

* Apply suggestions from code review

* Apply suggestion from code review

* refactor: minor touchup

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

* ci: xfail the pyodide test

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

* review: use a pinned version of node

* fix tests

* review: error out on Windows

* test: check node & test on macos arm64

* chore: minor cleanup

* Add reference to emscripten libc issue

* Apply suggestion from code review

* review: use a pinned pip in test virtual environment

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

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

* chore: rework test virtual environment seed packages

* chore: workaround direct invocation of pytest

This allows to still test direct invocation of `pytest` on most platforms (including pyodide on Linux) but falls back to `python -m pytest` when running pyodide on macOS.

* Use release version of pyodide

* fix: tests for 0.26.0 & parallel initialization of xbuildenv

* Debug CI

* fix: test/test_build_frontend_args.py

* Revert "Debug CI"

This reverts commit 917646cffc96dbfc619c47d1c03a828f447bcdb7.

---------

Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
Co-authored-by: Henry Schreiner <henryschreineriii@gmail.com>
Co-authored-by: Matthieu Darbois <mayeut@users.noreply.github.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-05-28 08:31:36 -04:00
mayeut 90dd47640f doc: add documentation for the CIBW_FREE_THREADED_SUPPORT option 2024-05-20 07:12:10 -04: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
Joe Rickerby ca06deb26f Merge pull request #1775 from pypa/doc-domain
Docs domain change to cibuildwheel.pypa.io
2024-03-11 21:17:51 +00:00
Joe Rickerby f7de18e291 Merge pull request #1675 from pypa/pip-constraints-fix
fix: Don't override PIP_CONSTRAINT if set by the user
2024-03-09 13:53:32 +00:00
Joe Rickerby b71a83d411 Docs domain change to cibuildwheel.pypa.io 2024-03-04 10:37:01 +00:00
Henry SchreinerandJoe Rickerby 8f58f71c2e feat: add inherit to override (#1730)
* feat: add inherit to override

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

* refactor: use dict and support prepend

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

* Refactor: simplifying by splitting the responsibilities of _dig_first

* Refactor to allow merging of string settings, and preserve table cascades

* docs: add some docs for inherit

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

* Apply suggestions from code review

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

---------

Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
Co-authored-by: Joe Rickerby <joerick@mac.com>
2024-03-02 16:58:18 -05:00
Joe Rickerby 554726e3c4 Merge pull request #1727 from pypa/dont-require-platform
Don't require `--platform` when running on a development machine
2024-02-28 09:20:25 +00: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
Joe Rickerby d65d46ca24 Merge remote-tracking branch 'origin/main' into pip-constraints-fix 2024-02-04 11:18:10 +00:00
Joe Rickerby ddc2c6e845 Make the note on environment variables clear 2024-01-26 18:52:47 +00:00
Joe Rickerby 4db49f5485 Don't require --platform when running on a development machine
Historically, we required `--platform` when running cibuildwheel outside of CI, because cibuildwheel would attempt to globally install Python interpreters and some packages.

That was fixed in https://github.com/pypa/cibuildwheel/pull/974 a couple of years ago. As a result, there's no reason to require --platform these days, the `auto` behaviour is perfectly fine for dev machines.

It also makes running tests locally simpler, one can just do `pytest test/test_0_basic.py` (or `nox -s tests -- test/test_0_basic.py`) and not have to worry about setting CIBW_PLATFORM most of the time.
2024-01-21 18:24:43 +00:00
Joe Rickerby 23a6e88b0c Merge pull request #1672 from pypa/disable-host-mount
feat: Adds disable_host_mount suboption to container-engine
2024-01-20 19:05:12 +00:00
Joe Rickerby 4dba644b8d Merge pull request #1667 from pypa/joerick-patch-1
docs: Address some confusion around the CIBW_ENVIRONMENT option.
2023-12-06 18:19:12 +00:00
Joe Rickerby 4cedf1c603 Docs formatting tweaks 2023-11-27 22:51:13 +00:00
Sviatoslav Sydorenko 86ef5eed8a [docs] Drop wheel from pyproject.toml example @ options page 2023-11-27 18:53:00 +01:00
Joe Rickerby d198c90f7a Allow the user to set PIP_CONSTRAINT and it affect build-system.requires 2023-11-24 11:49:26 +00:00
Joe Rickerby 7c99262c00 Adds disable_host_mount suboption to container-engine 2023-11-21 22:25:20 +00:00
pre-commit-ci[bot] 859ebaf371 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2023-11-19 13:05:54 +00:00
Joe Rickerby 39d9b00eeb [docs] Address some confusion around the CIBW_ENVIRONMENT option.
Ref #1666
2023-11-19 13:04:19 +00:00
Joe Rickerby 9da4ede616 Merge pull request #1620 from Helveg/cibw-debug-keep-container
feat: `CIBW_DEBUG_KEEP_CONTAINER`: debug container after build
2023-10-03 18:23:49 +01:00
Henry Schreiner d4af0ac229 feat: add schema and validate-pyproject support (#1622)
* feat: add schema and validate-pyproject support

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

* fix: address review comments, fix bug, add tests

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

* fix: add test of examples in docs and fix

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

* fix: nicer titles

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

---------

Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
2023-09-26 11:23:20 -05:00
Robin De Schepper a1bebe5362 addressed comments from review 2023-09-19 16:39:23 +02:00
Robin De Schepper d7a6d04353 feature: CIBW_DEBUG_KEEP_CONTAINER option. debug container after build 2023-09-19 11:57:03 +02:00
Joe Rickerby 80a54b0226 Merge pull request #1589 from dalcinl/source_date_epoch
feature: Automatically pass SOURCE_DATE_EPOCH to Linux containers
2023-09-18 18:15:13 +01:00
Lisandro DalcinandJoe Rickerby 4f888e27c3 feature: Automatically pass SOURCE_DATE_EPOCH to Linux containers
Co-authored-by: Joe Rickerby <joerick@mac.com>
2023-09-08 18:59:32 +03:00
Joe Rickerby 061ea627e2 Add docs 2023-08-26 19:47:49 +01:00
Mike Taves 18ff2c57c2 docs: Update info for CIBW_TEST_EXTRAS (#1582)
Update setuptools link to new URL, and add `pyproject.toml` as a source file (as already done in the example).
2023-08-22 11:41:51 -04: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 b1929b7eaf feature: add PyPy 3.10 2023-06-17 14:21:50 +02:00
Ian Thomas 3cf96726f6 Minor docs fix 2023-06-02 18:01:18 +01:00
Henry SchreinerandJoe Rickerby 8499628a5b feat: add Python 3.12 beta 1 (#1507)
* feat: add Python 3.12 beta 1

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

* fix: try updating some versions to (near) final 3.6 supported version

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

* tests: skip dep check on 3.6

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

* Update test pip version pin

* Fix expected wheels check

---------

Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
Co-authored-by: Joe Rickerby <joerick@mac.com>
2023-05-26 21:14:55 -07:00
Joe Rickerby e56b444cd8 docs tweaks 2023-05-15 08:49:50 +01:00