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.
* 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>
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.
* 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>
* chore: update packaging dev requirement
Requires packaging>=21.0
This allows to simplify a bit `bin/update_pythons.py` with regards to typing.
* update packaging dev requirement for pre-commit
* Add CPython 3.10 support
* Fix logger displaying CPython 3.1 instead of 3.10
* Fix tests failing with CPython 3.10
* Use pytest instead of nose
* feat: --pre flag
Apply suggestions from code review
Co-authored-by: Matthieu Darbois <mayeut@users.noreply.github.com>
* fix: update Python update script to process beta versions
* refactor: prerelease-pythons
* Use `strtobool` to parse `CIBW_PRERELEASE_PYTHONS` env var
* Update python version filtering for universal2 & arm64
* Filter out CPython 3.10 and above for `test_manylinuxXXXX_only[manylinux1]` test
* Use CIBW_BUILD filtering rather than CIBW_SKIP for test_docker_images
* Use skip_patterns to filter out pre-releases
* Use `prerelease_pythons` instead of `pre`
* Reword `CIBW_PRERELEASE_PYTHONS` doc per review.
* Use `CIBW_PRERELEASE_PYTHONS: True` for usage example.
* Update `cibuildwheel --help` doc
* docs: add note on spec.filter
* Clean up the BuildSelector __repr__ by refactoring
* fix: remove platform variants for CIBW_PRERELEASE_PYTHONS
* docs: mention the flag
Co-authored-by: Henry Schreiner <henryschreineriii@gmail.com>
Co-authored-by: Joe Rickerby <joerick@mac.com>
* fix: `bin/update_pythons.py` to work properly with PyPy `win_amd64`
* refactor: use the same pattern for all python updates
* follow up to #671, for the record.
* Disable manylinux only tests on Travis CI ppc64le
Those tests are taking too much disk space for the Travis CI runner right now.
c.f. https://travis-ci.community/t/running-out-of-disk-space-quota-when-using-docker-on-ppc64le/11634
* Use focal to run aarch64/ppc64le/s390x jobs on Travis CI
This removes allow_failures from the Travis CI s390x job
* Use `focal` distribution for all Travis CI configurations
* Revert "Disable manylinux only tests on Travis CI ppc64le"
This reverts commit d0a09c689c058985c7dcb60b1e11a85a7bfce5e0.
* Skip test_manylinuxXXXX_only on Travis CI ppc64le
* Add a comment on why test_manylinuxXXXX_only test is skipped
* Update python versions as part of update_dependencies
* refactor: pulling out to update_pythons
* refactor: rewrite and expect install
* feat: support macos too, logging output
* WIP: update
* refactor: drive from original file
* Remove unused variable
* Output a diff instead of the result file, to review changes more easily
* fix: minor cleanup
Co-authored-by: Henry Fredrick Schreiner <henry.fredrick.schreiner@cern.ch>
Co-authored-by: Henry Schreiner <henryschreineriii@gmail.com>
Co-authored-by: Joe Rickerby <joerick@mac.com>
* Add a workflow to update dependencies
* Use '--no-docker' to run dependency update using local pythons
Default method is to use docker
* Only run the dependency update workflow manually
PR are only created for master
* Create constraints for all python versions
* Use manylinux2010_x86_64:latest to update dependencies
Co-authored-by: Joe Rickerby <joerick@mac.com>
* Use certifi provided certificates when downloading files
* fix typo
* Add comment about certifi usage
Co-authored-by: Joe Rickerby <joerick@mac.com>
Co-authored-by: Joe Rickerby <joerick@mac.com>