Commit Graph
258 Commits
Author SHA1 Message Date
Henry Schreiner d996af554a fix: restore Python 3.7 support
Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
2023-04-18 22:02:47 -04:00
Henry Schreiner 8c5f89c035 chore: update typing to be generic on function args
Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
2023-04-18 13:06:17 -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
Henry Schreiner 2246313344 fix: verbosity isn't supported for pypa/build (#1474)
This was incorrectly adding an empty config setting, and it was not correct if included for build - it's a pip wheel only setting. Reported in #1471.

Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
2023-04-17 14:06:45 -04:00
Hood Chatham 374d786812 Set pip as the default value of default 2023-04-08 18:26:09 -07:00
Hood Chatham 8a307031a9 Set the defualt build_frontend to be "default" (which is still "pip")
Instead of using pip as the default, set it to default. This way
each platform can choose independently what to do as the default
behavior.

This is intended as part of adding Pyodide support. Pyodide cannot
use pip as the build frontend. It always uses a modified pypa/build.
So if the build_frontend is explicitly set to pip we want to raise
an error. But if it's unset, then we should be able to tell and just
do what we want.
2023-04-07 15:56:17 -07:00
Hood Chatham d018570bc4 chore: add structurally typed GenericPythonConfiguration (#1458)
* Add structually typed GenericPythonConfiguration

Use structural typing for the return value of get_python_configurations
so that we don't have to specify a union of all possible PythonConfiguration
types

* address henryiii's comments

* Use Set in more places
2023-04-06 14:40:25 -04: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 e4cbe81f3f Add test failure with descriptive error message when running tests without a {project} placeholder 2022-11-06 11:02:01 +00:00
Henry Schreiner f25227416d fix: hide root pip warning on Linux again
Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
2022-10-26 09:31:28 -04:00
Henry Schreiner 13b92f9c2d fix: hide root pip warning on Linux (#1304)
Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>

Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
2022-10-11 10:06:35 -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
Henry Schreiner 7c4bbf8cb3 chore: minor cleanups from reverb (#1293)
Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>

Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
2022-10-07 08:47:31 -04: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 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
Jakub Kuczys bd512e9065 Remove Linux arm64 build 2022-08-17 15:56:58 +02:00
jack1142 67071395fa Add Cirrus CI to CIProvider enum 2022-08-17 15:47:39 +02:00
mayeut 6d27f05c7c chore: use from __future__ import annotations 2022-07-19 07:47:45 +02:00
Joe Rickerby e035e3a289 Merge pull request #1152 from mayeut/already-built
fix: error out if multiple wheels with the same name are produced
2022-07-05 16:58:52 +01:00
Henry Schreiner 5e2d02d809 Merge branch 'main' into new_podman_support 2022-07-03 14:04:06 -04:00
Henry Schreiner 9ed9e6b960 Merge branch 'main' into already-built 2022-07-03 14:02:42 -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
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 2457006796 Make container-engine a global option, since that's how its being used 2022-06-27 17:32:40 +01:00
mayeut ef18186c45 fix: error out if multiple wheels with the same name are produced
We shouldn't silently overwrite wheels that are produced in the same run that have the same filename, as this implies a misconfiguration.
2022-06-26 11:32:33 +02:00
mayeut 0696c94710 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.
2022-06-26 11:31:59 +02:00
joncrall df317a9000 Flattened podman support commits 2022-06-23 11:00:10 -04:00
Joe Rickerby cdccbd1c46 Merge remote-tracking branch 'origin/main' into henryiii/refactor/namespace 2022-06-17 18:08:17 +01:00
Robert Martin 9ab89f92c0 Fix Linux builds on Windows 2022-05-24 17:35:46 -06:00
Joe Rickerby 46702f581d Space out the log statements a little 2022-04-29 13:32:03 +01:00
Henry Schreiner 98fedb7e51 refactor: use dataclasses vs. NamedTuples 2022-04-28 11:41:47 -04:00
mayeut e3ff027131 feature: add support for ABI3 wheels 2022-04-26 22:38:17 +02:00
Henry SchreinerandJoe Rickerby d6dc3b7cd9 chore: add PyLint and fix most issues (#999)
* chore: add PyLint and fix most issues

* fix: minor fixes after first push

* chore: remove reference to old toml lib

* chore: minor options cleanup

* ci: only fail with many pylint issues, annotate in GHA

* refactor: address review

* ci: force nox to report in CI

* refactor: use map instead of if chain

* refactor: simpler shell_with_arch

* refactor: even simpler shell_with_arch

* Restore if...elif...else blocks where guard-style is not intended

Co-authored-by: Joe Rickerby <joerick@mac.com>
2022-02-27 14:16:37 -05:00
Matthieu DarboisandJoe Rickerby ab13f7a9de feature: allow local runs on windows/macOS (#974)
* feature: allow local runs on windows/macOS

Cache python installations to a user cache folder using platformdirs.
The build environment is now a virtual environment to allow proper isolation.
Allows to run tests in parallel.

Co-authored-by: Joe Rickerby <joerick@mac.com>
2022-01-08 11:30:48 +01:00
Henry Schreiner 603a7b5bde style(types): use new bracex static typing support (#887)
* style(types): use new bracex static typing support

* style(types): add a bit more basic typing

* style(types): globally ignore ghapi

* style(types): include a bit more in the global ignores

* fix(types): line invalid on Python 3.6

* fix: require typing_extensions 3.10
2021-10-26 15:56:35 -04:00
Joe Rickerby 08a694485d refactor: Override options redesign
* Add test for defaults, fix platform detection

* Improve correctness of reader.identifier with block

* Fix options test to be multiplatform

* 'Refactored by Sourcery'

docs: write a section on overrides

tests: test docker launches

feat: add identifiers to launches

test: add test for correct build step generation

Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
2021-10-16 21:39:55 -04:00
Henry Schreiner cd07697fe5 feat: adding overrides 2021-10-16 21:34:02 -04:00
Henry Schreiner 62b72198b4 refactor: small rename 2021-09-23 15:27:58 -04:00
Henry Schreiner 7b0949c0a6 refactor: rename BuildConfig -> BuildStep 2021-09-22 11:16:40 -04:00
Henry Schreiner 9b463f912a refactor: address review, use NamedTuple 2021-09-21 11:35:25 -04:00
Henry Schreiner a7f7abd10a refactor: reduce linux indentation with nicer breakup 2021-09-20 12:49:09 -04:00
Henry Schreiner bd7af00c78 refactor: pull out config computation 2021-09-20 12:49:07 -04:00
Matthieu DarboisandJoe Rickerby 803c5e46ce feat: add musllinux support (PEP 656) (#768)
* feat: add musllinux support (PEP 656)

Add musllinux support (PEP 656) allowing to build wheels for musl libc based distros (e.g. Alpine)

* feat: add musllinux support (PEP 656) doc

* doc: combine `CIBW_MANYLINUX_*_IMAGE` & `CIBW_MUSLLINUX_*_IMAGE` options

* fix: doc to be squashed

* doc: combine manylinux /musllinux in README

* Update docs/options.md

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

Co-authored-by: Joe Rickerby <joerick@mac.com>
2021-09-20 08:12:35 +02:00
pre-commit-ci[bot] f700a2f775 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2021-08-28 00:44:26 +00:00
James R. Barlow 31646fbfc6 fix 2021-08-27 17:44:02 -07:00