Commit Graph
195 Commits
Author SHA1 Message Date
Henry Schreiner aff6dd5adc refactor: tomllib in _compat
Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
2023-04-18 23:29:54 -04:00
Henry Schreiner 6d038dfbdf chore: update typing to collections.abc
Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
2023-04-18 12:38:21 -04:00
Joe Rickerby ae0ac92167 Use the platform object itself as the interface 2023-04-10 22:20:04 +01:00
Hood Chatham 26dd3f399e chore: Add a platform_interface type to export from each platform
This avoids the repetition of the platform checks in __main__.py
by defining a dataclass with `get_python_configurations` and `build`.
2023-04-10 13:30:23 -07:00
Henry Schreiner 2e48667e29 refactor: use frontend instead of plural
Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
2023-03-10 13:46:42 -05:00
Henry Schreiner c6818608d2 fix: pip config options were broken
Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
2023-03-10 12:00:51 -05:00
Henry Schreiner 5ab3b55378 style: run pre-commit
Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
2023-02-07 10:25:34 -05:00
Henry Schreiner c8b037ba3e chore: use Ruff (#1405)
chore: use ruff

Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
2023-01-30 15:53:44 -05:00
Joe Rickerby 9850864851 Rename 'environ' to 'env' 2022-12-05 19:18:54 +00:00
Joe Rickerby ec878dc393 Add a unit test for the workaround, and fix a bug 2022-12-04 19:08:47 +00:00
Joe Rickerby 8d05681491 Improve the formatting of the preamble 2022-11-26 17:16:54 +00:00
Ankith c09359e9af Tweak default mac repair cmd: delocate verbose 2022-10-21 14:14:13 +05:30
pre-commit-ci[bot] 9ba7e7e6fb [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2022-09-25 10:41:01 +00: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
Joe Rickerby f7669045f5 Merge pull request #1258 from henryiii/henryiii/chore/dev
chore: nicer tracebacks and dev improvements
2022-09-25 09:34:05 +01:00
Joe Rickerby 73a435b9f6 Merge pull request #1266 from henryiii/henryiii/fix/crossplatform
fix: better cross-platform auto archs
2022-09-25 09:31:25 +01:00
Joe Rickerby 1e3f3fdce7 Add failing test 2022-09-24 23:10:05 +01:00
Joe Rickerby 13fc768552 Revert to the previous quoting behaviour for environment option 2022-09-17 11:15:00 +01:00
Joe Rickerby 7b43ed453f Add failing test 2022-09-17 09:58:19 +01:00
Henry Schreiner 534cada6a5 chore: cleaner exception tracebacks
Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
2022-09-16 11:05:35 -04:00
Henry Schreiner 6df5de7175 fix: better cross-platform auto archs
This improves the default arch selection when targetting a different platform.

Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
2022-09-12 23:44:33 -04:00
Henry SchreinerandJoe Rickerby eb39da0b10 feat: add --only (#1098)
* fix(style): use sub recommended replacement method

See https://docs.python.org/3/library/re.html#re.escape

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

* feat: add --build

* refactor: switch to using --only

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

* docs: cover --only

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

* docs: undo change to --plat for auditwheel

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

* (unrelated) speed up running the unit tests

based on a profile run, this speeds up the unit tests by 3x

* Remove `intercepted_build_args` reliance on `platform` fixture

* Add test that checks if 'only' overrides env var options

* Ensure that the --only command line option overrides env vars

* Fix UnboundLocalError

* Test cleanups

* style: typing.cast instead of plain cast

* feat: add only: to the GHA

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

Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
Co-authored-by: Joe Rickerby <joerick@mac.com>
2022-09-09 08:34:47 -04:00
Henry Schreiner 3597095948 feat: support config-settings (#1244)
* feat: support config-settings

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

feat: support config-settings

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

* refactor: use shlex.quote

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

Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
2022-09-06 00:56:20 -04:00
jack1142 67071395fa Add Cirrus CI to CIProvider enum 2022-08-17 15:47:39 +02:00
Min RK 2d155c01b5 Build cp311 without setting prerelease_pythons 2022-08-11 13:05:32 +02:00
Henry SchreinerandMatthieu Darbois c234ff5f36 fix: add suggestions to the TOML error message (#1205)
* fix: add suggestions to the TOML error message

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

* Update cibuildwheel/options.py

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

Co-authored-by: Matthieu Darbois <mayeut@users.noreply.github.com>
2022-08-02 14:43:07 -04:00
Joe Rickerby c731529187 Merge pull request #1196 from jack1142/remove_dependency_on_unix_tools_in_windows
Remove dependency on Unix tools in Windows test suite
2022-07-30 15:10:07 +01:00
Joe Rickerby 7c95f77524 Ensure the tests that use subcommands have access to the system env 2022-07-29 18:48:43 +01:00
jack1142 3cbe175632 Fix Windows paths getting escaped 2022-07-29 18:57:47 +02:00
jack1142 e0f25c5fb5 Use sys.executable 2022-07-29 18:52:26 +02:00
jack1142 cccc2acae9 Use an equivalent of Unix echo written in Python 2022-07-29 18:04:49 +02:00
jack1142 1a7abe562b Remove dependency on Unix tools in Windows 2022-07-25 19:10:09 +02:00
mayeut 6d27f05c7c chore: use from __future__ import annotations 2022-07-19 07:47:45 +02:00
mayeut 054230e01b fix: test_build_default_launches to use an empty package dir
test_build_default_launches was using cibuildwheel setup.cfg which led to the test failing once python 3.6 was dropped.
Use an empty package, provided by fake_package_dir, to run the test.
2022-07-19 07:47:20 +02:00
mayeut bc17f103f1 chore: drop python 3.6 for cibuildwheel driver
This drops python 3.6 for cibuildwheel.
Building python 3.6 packages is still supported.
2022-07-19 07:47:20 +02:00
Henry Schreiner 5e2d02d809 Merge branch 'main' into new_podman_support 2022-07-03 14:04:06 -04:00
9a537512c1 feat: add support for py3-none-{platform} wheels (#1151)
* feature: add support for `py3-none-{platform}` wheels

This extends the mechanism introduced in #1091 for `abi3` wheels.
Most of the mentions to `abi3` have been removed and replaced by a more generic `compatible_wheel`.
This allows to build a wheel `foo-0.1-py3-none-win_amd64.whl` only once and still test with every configured python.

* Add integration test for py3-none abi wheels

* Fix expected_wheels for py3-none abi

* Limit test to three pythons and check for certain log messages

* chore: add some comments to explain filter process

Co-authored-by: Joe Rickerby <joerick@mac.com>
Co-authored-by: Henry Schreiner <henryschreineriii@gmail.com>
2022-07-03 14:00:00 -04:00
Joe Rickerby 7c56b98331 Merge remote-tracking branch 'origin/main' into new_podman_support 2022-06-29 20:20:36 +01:00
pre-commit-ci[bot] 062ab6cb93 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2022-06-27 20:24:15 +00:00
joncrall 12a3fa2d3e Use tomli_w instead of toml 2022-06-27 16:23:02 -04:00
Joe Rickerby e5ef3c1b76 Tweak test config to remove always-skipped test 2022-06-27 18:35:28 +01:00
Joe Rickerby d66c1e92bf Lots more naming changes to reflect that containers are not necessarily 'docker' 2022-06-27 18:30:49 +01:00
Joe Rickerby 1d2e5d5d8f Rename DockerContainer -> OCIContainer, and a few other things
OCIContainer.container_engine -> OCIContainer.engine
OCIContainer.docker_image -> OCIContainer.image

Variables that refer to 'docker_images' have been renamed to
'container_images'
2022-06-27 17:46:22 +01:00
Joe Rickerby de3144a947 Remove unused imports 2022-06-27 16:53:08 +01:00
pre-commit-ci[bot] 38faa27943 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2022-06-27 15:47:31 +00:00
Joe Rickerby 6a371aca73 Refactor the tests to use --run-docker and --run-podman
Simplified test setup using a parameterised fixture. The VFS test
is now just a single test that handles its own clean up.
2022-06-27 16:45:27 +01:00
joncrall fc0db95198 more mypy fixes 2022-06-26 17:35:53 -04:00
joncrall a86cabc716 forgot to monkeypatch a test 2022-06-26 17:23:52 -04:00
joncrall 086ead0d6b remove missing imports 2022-06-26 17:22:44 -04:00
joncrall c68223b172 Make mypy happy 2022-06-26 17:21:59 -04:00