diff --git a/.github/workflows/update-dependencies.yml b/.github/workflows/update-dependencies.yml index 4e7d55d8..1ee0ae71 100644 --- a/.github/workflows/update-dependencies.yml +++ b/.github/workflows/update-dependencies.yml @@ -18,7 +18,7 @@ jobs: - name: "Run update: python configs" run: nox --force-color -s update_pins - name: "Run update: docs user projects" - run: nox --force-color -s update_proj + run: nox --force-color -s update_proj -- --auth=${{ secrets.GITHUB_TOKEN }} # we use this step to grab a Github App auth token, so that PRs generated by this workflow # run the GHA tests. diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 75747fec..c4558c27 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -14,7 +14,7 @@ repos: - id: trailing-whitespace - repo: https://github.com/asottile/pyupgrade - rev: v2.21.0 + rev: v2.23.3 hooks: - id: pyupgrade name: PyUpgrade 3.6+ @@ -26,12 +26,12 @@ repos: args: ["--py37-plus"] - repo: https://github.com/PyCQA/isort - rev: 5.9.2 + rev: 5.9.3 hooks: - id: isort - repo: https://github.com/psf/black - rev: 21.6b0 + rev: 21.7b0 hooks: - id: black diff --git a/README.md b/README.md index d80a542a..095d0fe7 100644 --- a/README.md +++ b/README.md @@ -28,10 +28,9 @@ What does it do? | CPython 3.7 | ✅ | N/A | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | CPython 3.8 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | CPython 3.9 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | -| CPython 3.10¹ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | +| CPython 3.10 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | PyPy 3.7 v7.3 | ✅ | N/A | ✅ | N/A | ✅ | ✅ | ✅ | N/A | N/A | -¹ Available as a prerelease under a [flag](https://cibuildwheel.readthedocs.io/en/stable/options/#prerelease-pythons)
- Builds manylinux, macOS 10.9+, and Windows wheels for CPython and PyPy - Works on GitHub Actions, Azure Pipelines, Travis CI, AppVeyor, CircleCI, and GitLab CI @@ -85,7 +84,7 @@ jobs: - uses: actions/setup-python@v2 - name: Install cibuildwheel - run: python -m pip install cibuildwheel==2.0.0 + run: python -m pip install cibuildwheel==2.1.1 - name: Build wheels run: python -m cibuildwheel --output-dir wheelhouse @@ -109,7 +108,7 @@ Options | | [`CIBW_BUILD`](https://cibuildwheel.readthedocs.io/en/stable/options/#build-skip)
[`CIBW_SKIP`](https://cibuildwheel.readthedocs.io/en/stable/options/#build-skip) | Choose the Python versions to build | | | [`CIBW_ARCHS`](https://cibuildwheel.readthedocs.io/en/stable/options/#archs) | Change the architectures built on your machine by default. | | | [`CIBW_PROJECT_REQUIRES_PYTHON`](https://cibuildwheel.readthedocs.io/en/stable/options/#requires-python) | Manually set the Python compatibility of your project | -| | [`CIBW_PRERELEASE_PYTHONS`](https://cibuildwheel.readthedocs.io/en/stable/options/#prerelease-pythons) | Enable building with pre-release versions of Python | +| | [`CIBW_PRERELEASE_PYTHONS`](https://cibuildwheel.readthedocs.io/en/stable/options/#prerelease-pythons) | Enable building with pre-release versions of Python if available | | **Build customization** | [`CIBW_BUILD_FRONTEND`](https://cibuildwheel.readthedocs.io/en/stable/options/#build-frontend) | Set the tool to use to build, either "pip" (default for now) or "build" | | | [`CIBW_ENVIRONMENT`](https://cibuildwheel.readthedocs.io/en/stable/options/#environment) | Set environment variables needed during the build | | | [`CIBW_BEFORE_ALL`](https://cibuildwheel.readthedocs.io/en/stable/options/#before-all) | Execute a shell command on the build system before any wheels are built. | @@ -189,6 +188,21 @@ Changelog +### v2.1.1 + +_7 August 2021_ + +- ✨ Corresponding with the release of CPython 3.10.0rc1, which is ABI stable, cibuildwheel now builds CPython 3.10 by default - without the CIBW_PRERELEASE_PYTHONS flag. + +Note: v2.1.0 was a bad release, it was yanked from PyPI. + +### v2.0.1 + +_25 July 2021_ + +- 📚 Docs improvements (#767) +- 🛠 Dependency updates, including delocate 0.9.0. + ### v2.0.0 🎉 _16 July 2021_ @@ -216,30 +230,6 @@ _28 May 2021_ - 📚 Minor docs changes, fixing links related to the above transition - 🛠 Update manylinux pins to the last version containing Python 2.7 and 3.5. (#674) -### v1.11.0 - -_1 May 2021_ - -- 📚 Lots of docs improvements! (#650, #623, #616, #609, #606) -- 🐛 Fix nuget "Package is not found" error on Windows. (#653) -- ⚠️ cibuildwheel will no longer build Windows 2.7 wheels, unless you specify a custom toolchain using `DISTUTILS_USE_SDK=1` and `MSSdk=1`. This is because Microsoft have stopped distributing Visual C++ Compiler for Python 2.7. See [this FAQ entry](https://cibuildwheel.readthedocs.io/en/stable/faq/#windows-and-python-27) for more details. (#649) -- 🐛 Fix crash on Windows due to missing `which` command (#641). - -### v1.10.0 - -_22 Feb 2021_ - -- ✨ Added `manylinux_2_24` support. To use these new Debian-based manylinux - images, set your [manylinux image](https://cibuildwheel.readthedocs.io/en/stable/options/#manylinux-image) - options to `manylinux_2_24`. -- 🛠 On macOS, we now set `MACOSX_DEPLOYMENT_TARGET` in before running - `CIBW_BEFORE_ALL`. This is useful when using `CIBW_BEFORE_ALL` to build a - shared library. -- 🛠 An empty `CIBW_BUILD` option is now the same as being unset i.e, `*`. - This makes some build matrix configuration easier. (#588) -- 📚 Neatened up documentation - added tabs to a few places (#576), fixed some - formatting issues. - --- diff --git a/cibuildwheel/__init__.py b/cibuildwheel/__init__.py index 8c0d5d5b..58039f50 100644 --- a/cibuildwheel/__init__.py +++ b/cibuildwheel/__init__.py @@ -1 +1 @@ -__version__ = "2.0.0" +__version__ = "2.1.1" diff --git a/cibuildwheel/resources/build-platforms.toml b/cibuildwheel/resources/build-platforms.toml index 1544c292..e727667d 100644 --- a/cibuildwheel/resources/build-platforms.toml +++ b/cibuildwheel/resources/build-platforms.toml @@ -40,9 +40,9 @@ python_configurations = [ { identifier = "cp39-macosx_x86_64", version = "3.9", url = "https://www.python.org/ftp/python/3.9.6/python-3.9.6-macos11.pkg" }, { identifier = "cp39-macosx_arm64", version = "3.9", url = "https://www.python.org/ftp/python/3.9.6/python-3.9.6-macos11.pkg" }, { identifier = "cp39-macosx_universal2", version = "3.9", url = "https://www.python.org/ftp/python/3.9.6/python-3.9.6-macos11.pkg" }, - { identifier = "cp310-macosx_x86_64", version = "3.10", url = "https://www.python.org/ftp/python/3.10.0/python-3.10.0b4-macos11.pkg" }, - { identifier = "cp310-macosx_arm64", version = "3.10", url = "https://www.python.org/ftp/python/3.10.0/python-3.10.0b4-macos11.pkg" }, - { identifier = "cp310-macosx_universal2", version = "3.10", url = "https://www.python.org/ftp/python/3.10.0/python-3.10.0b4-macos11.pkg" }, + { identifier = "cp310-macosx_x86_64", version = "3.10", url = "https://www.python.org/ftp/python/3.10.0/python-3.10.0rc1-macos11.pkg" }, + { identifier = "cp310-macosx_arm64", version = "3.10", url = "https://www.python.org/ftp/python/3.10.0/python-3.10.0rc1-macos11.pkg" }, + { identifier = "cp310-macosx_universal2", version = "3.10", url = "https://www.python.org/ftp/python/3.10.0/python-3.10.0rc1-macos11.pkg" }, { identifier = "pp37-macosx_x86_64", version = "3.7", url = "https://downloads.python.org/pypy/pypy3.7-v7.3.5-osx64.tar.bz2" }, ] @@ -56,7 +56,7 @@ python_configurations = [ { identifier = "cp38-win_amd64", version = "3.8.10", arch = "64" }, { identifier = "cp39-win32", version = "3.9.6", arch = "32" }, { identifier = "cp39-win_amd64", version = "3.9.6", arch = "64" }, - { identifier = "cp310-win32", version = "3.10.0-b4", arch = "32" }, - { identifier = "cp310-win_amd64", version = "3.10.0-b4", arch = "64" }, + { identifier = "cp310-win32", version = "3.10.0-rc1", arch = "32" }, + { identifier = "cp310-win_amd64", version = "3.10.0-rc1", arch = "64" }, { identifier = "pp37-win_amd64", version = "3.7", arch = "64", url = "https://downloads.python.org/pypy/pypy3.7-v7.3.5-win64.zip" }, ] diff --git a/cibuildwheel/resources/constraints-python36.txt b/cibuildwheel/resources/constraints-python36.txt index 41445684..25811f76 100644 --- a/cibuildwheel/resources/constraints-python36.txt +++ b/cibuildwheel/resources/constraints-python36.txt @@ -6,27 +6,31 @@ # backports.entry-points-selectable==1.1.0 # via virtualenv -delocate==0.8.2 +delocate==0.9.0 # via -r cibuildwheel/resources/constraints.in distlib==0.3.2 # via virtualenv filelock==3.0.12 # via virtualenv -importlib-metadata==4.6.1 +importlib-metadata==4.6.4 # via # backports.entry-points-selectable # virtualenv -importlib-resources==5.2.0 +importlib-resources==5.2.2 # via virtualenv -platformdirs==2.0.2 +platformdirs==2.2.0 # via virtualenv six==1.16.0 - # via virtualenv + # via + # delocate + # virtualenv typing-extensions==3.10.0.0 - # via importlib-metadata -virtualenv==20.5.0 + # via + # delocate + # importlib-metadata +virtualenv==20.7.2 # via -r cibuildwheel/resources/constraints.in -wheel==0.36.2 +wheel==0.37.0 # via # -r cibuildwheel/resources/constraints.in # delocate @@ -36,7 +40,7 @@ zipp==3.5.0 # importlib-resources # The following packages are considered to be unsafe in a requirements file: -pip==21.1.3 +pip==21.2.4 # via -r cibuildwheel/resources/constraints.in -setuptools==57.1.0 +setuptools==57.4.0 # via -r cibuildwheel/resources/constraints.in diff --git a/cibuildwheel/resources/constraints-python37.txt b/cibuildwheel/resources/constraints-python37.txt index 747681a8..5f6347e2 100644 --- a/cibuildwheel/resources/constraints-python37.txt +++ b/cibuildwheel/resources/constraints-python37.txt @@ -6,25 +6,29 @@ # backports.entry-points-selectable==1.1.0 # via virtualenv -delocate==0.8.2 +delocate==0.9.0 # via -r cibuildwheel/resources/constraints.in distlib==0.3.2 # via virtualenv filelock==3.0.12 # via virtualenv -importlib-metadata==4.6.1 +importlib-metadata==4.6.4 # via # backports.entry-points-selectable # virtualenv -platformdirs==2.0.2 +platformdirs==2.2.0 # via virtualenv six==1.16.0 - # via virtualenv + # via + # delocate + # virtualenv typing-extensions==3.10.0.0 - # via importlib-metadata -virtualenv==20.5.0 + # via + # delocate + # importlib-metadata +virtualenv==20.7.2 # via -r cibuildwheel/resources/constraints.in -wheel==0.36.2 +wheel==0.37.0 # via # -r cibuildwheel/resources/constraints.in # delocate @@ -32,7 +36,7 @@ zipp==3.5.0 # via importlib-metadata # The following packages are considered to be unsafe in a requirements file: -pip==21.1.3 +pip==21.2.4 # via -r cibuildwheel/resources/constraints.in -setuptools==57.1.0 +setuptools==57.4.0 # via -r cibuildwheel/resources/constraints.in diff --git a/cibuildwheel/resources/constraints-python38.txt b/cibuildwheel/resources/constraints-python38.txt index 12183c67..3f8702aa 100644 --- a/cibuildwheel/resources/constraints-python38.txt +++ b/cibuildwheel/resources/constraints-python38.txt @@ -6,25 +6,29 @@ # backports.entry-points-selectable==1.1.0 # via virtualenv -delocate==0.8.2 +delocate==0.9.0 # via -r cibuildwheel/resources/constraints.in distlib==0.3.2 # via virtualenv filelock==3.0.12 # via virtualenv -platformdirs==2.0.2 +platformdirs==2.2.0 # via virtualenv six==1.16.0 - # via virtualenv -virtualenv==20.5.0 + # via + # delocate + # virtualenv +typing-extensions==3.10.0.0 + # via delocate +virtualenv==20.7.2 # via -r cibuildwheel/resources/constraints.in -wheel==0.36.2 +wheel==0.37.0 # via # -r cibuildwheel/resources/constraints.in # delocate # The following packages are considered to be unsafe in a requirements file: -pip==21.1.3 +pip==21.2.4 # via -r cibuildwheel/resources/constraints.in -setuptools==57.1.0 +setuptools==57.4.0 # via -r cibuildwheel/resources/constraints.in diff --git a/cibuildwheel/resources/constraints-python39.txt b/cibuildwheel/resources/constraints-python39.txt index cf4e9dc4..57687a6f 100644 --- a/cibuildwheel/resources/constraints-python39.txt +++ b/cibuildwheel/resources/constraints-python39.txt @@ -6,25 +6,29 @@ # backports.entry-points-selectable==1.1.0 # via virtualenv -delocate==0.8.2 +delocate==0.9.0 # via -r cibuildwheel/resources/constraints.in distlib==0.3.2 # via virtualenv filelock==3.0.12 # via virtualenv -platformdirs==2.0.2 +platformdirs==2.2.0 # via virtualenv six==1.16.0 - # via virtualenv -virtualenv==20.5.0 + # via + # delocate + # virtualenv +typing-extensions==3.10.0.0 + # via delocate +virtualenv==20.7.2 # via -r cibuildwheel/resources/constraints.in -wheel==0.36.2 +wheel==0.37.0 # via # -r cibuildwheel/resources/constraints.in # delocate # The following packages are considered to be unsafe in a requirements file: -pip==21.1.3 +pip==21.2.4 # via -r cibuildwheel/resources/constraints.in -setuptools==57.1.0 +setuptools==57.4.0 # via -r cibuildwheel/resources/constraints.in diff --git a/cibuildwheel/resources/constraints.txt b/cibuildwheel/resources/constraints.txt index cf4e9dc4..57687a6f 100644 --- a/cibuildwheel/resources/constraints.txt +++ b/cibuildwheel/resources/constraints.txt @@ -6,25 +6,29 @@ # backports.entry-points-selectable==1.1.0 # via virtualenv -delocate==0.8.2 +delocate==0.9.0 # via -r cibuildwheel/resources/constraints.in distlib==0.3.2 # via virtualenv filelock==3.0.12 # via virtualenv -platformdirs==2.0.2 +platformdirs==2.2.0 # via virtualenv six==1.16.0 - # via virtualenv -virtualenv==20.5.0 + # via + # delocate + # virtualenv +typing-extensions==3.10.0.0 + # via delocate +virtualenv==20.7.2 # via -r cibuildwheel/resources/constraints.in -wheel==0.36.2 +wheel==0.37.0 # via # -r cibuildwheel/resources/constraints.in # delocate # The following packages are considered to be unsafe in a requirements file: -pip==21.1.3 +pip==21.2.4 # via -r cibuildwheel/resources/constraints.in -setuptools==57.1.0 +setuptools==57.4.0 # via -r cibuildwheel/resources/constraints.in diff --git a/cibuildwheel/resources/pinned_docker_images.cfg b/cibuildwheel/resources/pinned_docker_images.cfg index d79efbc6..c406b312 100644 --- a/cibuildwheel/resources/pinned_docker_images.cfg +++ b/cibuildwheel/resources/pinned_docker_images.cfg @@ -1,38 +1,38 @@ [x86_64] -manylinux1 = quay.io/pypa/manylinux1_x86_64:2021-07-14-0700e04 -manylinux2010 = quay.io/pypa/manylinux2010_x86_64:2021-07-14-67a6e11 -manylinux2014 = quay.io/pypa/manylinux2014_x86_64:2021-07-14-67a6e11 -manylinux_2_24 = quay.io/pypa/manylinux_2_24_x86_64:2021-07-14-67a6e11 +manylinux1 = quay.io/pypa/manylinux1_x86_64:2021-08-21-78eb32a +manylinux2010 = quay.io/pypa/manylinux2010_x86_64:2021-08-21-cbf585b +manylinux2014 = quay.io/pypa/manylinux2014_x86_64:2021-08-21-cbf585b +manylinux_2_24 = quay.io/pypa/manylinux_2_24_x86_64:2021-08-21-cbf585b [i686] -manylinux1 = quay.io/pypa/manylinux1_i686:2021-07-14-0700e04 -manylinux2010 = quay.io/pypa/manylinux2010_i686:2021-07-14-67a6e11 -manylinux2014 = quay.io/pypa/manylinux2014_i686:2021-07-14-67a6e11 -manylinux_2_24 = quay.io/pypa/manylinux_2_24_i686:2021-07-14-67a6e11 +manylinux1 = quay.io/pypa/manylinux1_i686:2021-08-21-78eb32a +manylinux2010 = quay.io/pypa/manylinux2010_i686:2021-08-21-cbf585b +manylinux2014 = quay.io/pypa/manylinux2014_i686:2021-08-21-cbf585b +manylinux_2_24 = quay.io/pypa/manylinux_2_24_i686:2021-08-21-cbf585b [pypy_x86_64] -manylinux2010 = quay.io/pypa/manylinux2010_x86_64:2021-07-14-67a6e11 -manylinux2014 = quay.io/pypa/manylinux2014_x86_64:2021-07-14-67a6e11 -manylinux_2_24 = quay.io/pypa/manylinux_2_24_x86_64:2021-07-14-67a6e11 +manylinux2010 = quay.io/pypa/manylinux2010_x86_64:2021-08-21-cbf585b +manylinux2014 = quay.io/pypa/manylinux2014_x86_64:2021-08-21-cbf585b +manylinux_2_24 = quay.io/pypa/manylinux_2_24_x86_64:2021-08-21-cbf585b [pypy_i686] -manylinux2010 = quay.io/pypa/manylinux2010_i686:2021-07-14-67a6e11 -manylinux2014 = quay.io/pypa/manylinux2014_i686:2021-07-14-67a6e11 -manylinux_2_24 = quay.io/pypa/manylinux_2_24_i686:2021-07-14-67a6e11 +manylinux2010 = quay.io/pypa/manylinux2010_i686:2021-08-21-cbf585b +manylinux2014 = quay.io/pypa/manylinux2014_i686:2021-08-21-cbf585b +manylinux_2_24 = quay.io/pypa/manylinux_2_24_i686:2021-08-21-cbf585b [aarch64] -manylinux2014 = quay.io/pypa/manylinux2014_aarch64:2021-07-14-67a6e11 -manylinux_2_24 = quay.io/pypa/manylinux_2_24_aarch64:2021-07-14-67a6e11 +manylinux2014 = quay.io/pypa/manylinux2014_aarch64:2021-08-21-cbf585b +manylinux_2_24 = quay.io/pypa/manylinux_2_24_aarch64:2021-08-21-cbf585b [ppc64le] -manylinux2014 = quay.io/pypa/manylinux2014_ppc64le:2021-07-14-67a6e11 -manylinux_2_24 = quay.io/pypa/manylinux_2_24_ppc64le:2021-07-14-67a6e11 +manylinux2014 = quay.io/pypa/manylinux2014_ppc64le:2021-08-21-cbf585b +manylinux_2_24 = quay.io/pypa/manylinux_2_24_ppc64le:2021-08-21-cbf585b [s390x] -manylinux2014 = quay.io/pypa/manylinux2014_s390x:2021-07-14-67a6e11 -manylinux_2_24 = quay.io/pypa/manylinux_2_24_s390x:2021-07-14-67a6e11 +manylinux2014 = quay.io/pypa/manylinux2014_s390x:2021-08-21-cbf585b +manylinux_2_24 = quay.io/pypa/manylinux_2_24_s390x:2021-08-21-cbf585b [pypy_aarch64] -manylinux2014 = quay.io/pypa/manylinux2014_aarch64:2021-07-14-67a6e11 -manylinux_2_24 = quay.io/pypa/manylinux_2_24_aarch64:2021-07-14-67a6e11 +manylinux2014 = quay.io/pypa/manylinux2014_aarch64:2021-08-21-cbf585b +manylinux_2_24 = quay.io/pypa/manylinux_2_24_aarch64:2021-08-21-cbf585b diff --git a/cibuildwheel/util.py b/cibuildwheel/util.py index 079cc53d..581799cf 100644 --- a/cibuildwheel/util.py +++ b/cibuildwheel/util.py @@ -67,7 +67,7 @@ class IdentifierSelector: """ # a pattern that skips prerelease versions, when include_prereleases is False. - PRERELEASE_SKIP = "cp310-*" + PRERELEASE_SKIP = "" def __init__( self, diff --git a/docs/changelog.md b/docs/changelog.md index 63b8c29f..787db204 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -2,6 +2,21 @@ title: Changelog --- +### v2.1.1 + +_7 August 2021_ + +- ✨ Corresponding with the release of CPython 3.10.0rc1, which is ABI stable, cibuildwheel now builds CPython 3.10 by default - without the CIBW_PRERELEASE_PYTHONS flag. + +Note: v2.1.0 was a bad release, it was yanked from PyPI. + +### v2.0.1 + +_25 July 2021_ + +- 📚 Docs improvements (#767) +- 🛠 Dependency updates, including delocate 0.9.0. + ### v2.0.0 🎉 _16 July 2021_ diff --git a/docs/data/projects.yml b/docs/data/projects.yml index e21af4b5..becdf516 100644 --- a/docs/data/projects.yml +++ b/docs/data/projects.yml @@ -376,3 +376,10 @@ ci: [github, travisci] os: [apple, linux, windows] notes: Multitagged binary builds for all supported platforms, using cibw 2 config configuration. + +- name: tgcalls + gh: MarshalX/tgcalls + pypi: pytgcalls + ci: [github] + os: [apple, windows] + notes: Python `pybind11` binding to Telegram's WebRTC library with third party dependencies like `OpenSSL`, `MozJPEG`, `FFmpeg`, etc. diff --git a/docs/faq.md b/docs/faq.md index c430de36..80457bef 100644 --- a/docs/faq.md +++ b/docs/faq.md @@ -210,7 +210,7 @@ There are two suggested methods for keeping cibuildwheel up to date that instead If you use GitHub Actions for builds, you can use cibuildwheel as an action: ```yaml -uses: pypa/cibuildwheel@v2.0.0 +uses: pypa/cibuildwheel@v2.1.1 ``` This is a composite step that just runs cibuildwheel using pipx. You can set command-line options as `with:` parameters, and use `env:` as normal. @@ -236,7 +236,7 @@ The second option, and the only one that supports other CI systems, is using a ` ```bash # requirements-cibw.txt -cibuildwheel==2.0.0 +cibuildwheel==2.1.1 ``` Then your install step would have `python -m pip install -r requirements-cibw.txt` in it. Your `.github/dependabot.yml` file could look like this: diff --git a/docs/options.md b/docs/options.md index f3624660..53637f1d 100644 --- a/docs/options.md +++ b/docs/options.md @@ -406,7 +406,7 @@ This option is not available in `pyproject.toml` under ``` ### `CIBW_PRERELEASE_PYTHONS` {: #prerelease-pythons} -> Enable building with pre-release versions of Python +> Enable building with pre-release versions of Python if available During the beta period, when new versions of Python are being tested, cibuildwheel will often gain early support for beta releases. If you would @@ -494,19 +494,23 @@ Platform-specific environment variables are also available:
```yaml # Set some compiler flags - CIBW_ENVIRONMENT: "CFLAGS='-g -Wall' CXXFLAGS='-Wall'" + CIBW_ENVIRONMENT: CFLAGS='-g -Wall' CXXFLAGS='-Wall' # Append a directory to the PATH variable (this is expanded in the build environment) - CIBW_ENVIRONMENT: "PATH=$PATH:/usr/local/bin" + CIBW_ENVIRONMENT: PATH=$PATH:/usr/local/bin + + # Prepend a directory containing spaces on Windows. + CIBW_ENVIRONMENT_WINDOWS: > + PATH="C:\\Program Files\\PostgreSQL\\13\\bin;$PATH" # Set BUILD_TIME to the output of the `date` command - CIBW_ENVIRONMENT: "BUILD_TIME=$(date)" + CIBW_ENVIRONMENT: BUILD_TIME="$(date)" # Supply options to `pip` to affect how it downloads dependencies - CIBW_ENVIRONMENT: "PIP_EXTRA_INDEX_URL=https://pypi.myorg.com/simple" + CIBW_ENVIRONMENT: PIP_EXTRA_INDEX_URL=https://pypi.myorg.com/simple # Set two flags on linux only - CIBW_ENVIRONMENT_LINUX: "BUILD_TIME=$(date) SAMPLE_TEXT=\"sample text\"" + CIBW_ENVIRONMENT_LINUX: BUILD_TIME="$(date)" SAMPLE_TEXT="sample text" ``` Separate multiple values with a space. @@ -524,6 +528,10 @@ Platform-specific environment variables are also available:
# Append a directory to the PATH variable (this is expanded in the build environment) environment = { PATH="$PATH:/usr/local/bin" } + # Prepend a directory containing spaces on Windows. + [tool.cibuildwheel.windows] + environment = { PATH='C:\\Program Files\\PostgreSQL\\13\\bin;$PATH' } + # Set BUILD_TIME to the output of the `date` command environment = { BUILD_TIME="$(date)" } @@ -568,7 +576,7 @@ Platform-specific environment variables also available:
CIBW_BEFORE_ALL: make -C third_party_lib # Install system library - CIBW_BEFORE_ALL_LINUX: yum install -y libffi-dev + CIBW_BEFORE_ALL_LINUX: yum install -y libffi-devel # Chain multiple commands using && and > in a YAML file, like: CIBW_BEFORE_ALL: > @@ -590,7 +598,7 @@ Platform-specific environment variables also available:
# Install system library [tool.cibuildwheel.linux] - before-all = "yum install -y libffi-dev" + before-all = "yum install -y libffi-devel" # Run multiple commands using an array before-all = [ diff --git a/docs/setup.md b/docs/setup.md index a1f78cc2..488b3dd3 100644 --- a/docs/setup.md +++ b/docs/setup.md @@ -46,7 +46,7 @@ To build Linux, Mac, and Windows wheels using GitHub Actions, create a `.github/ - uses: actions/checkout@v2 - name: Build wheels - run: pipx run cibuildwheel==2.0.0 + run: pipx run cibuildwheel==2.1.1 - uses: actions/upload-artifact@v2 with: @@ -81,7 +81,7 @@ To build Linux, Mac, and Windows wheels using GitHub Actions, create a `.github/ - uses: actions/setup-python@v2 - name: Install cibuildwheel - run: python -m pip install cibuildwheel==2.0.0 + run: python -m pip install cibuildwheel==2.1.1 - name: Build wheels run: python -m cibuildwheel --output-dir wheelhouse diff --git a/examples/appveyor-minimal.yml b/examples/appveyor-minimal.yml index 07563d04..6d8314b4 100644 --- a/examples/appveyor-minimal.yml +++ b/examples/appveyor-minimal.yml @@ -12,7 +12,7 @@ stack: python 3.7 init: - cmd: set PATH=C:\Python37;C:\Python37\Scripts;%PATH% -install: python -m pip install cibuildwheel==2.0.0 +install: python -m pip install cibuildwheel==2.1.1 build_script: python -m cibuildwheel --output-dir wheelhouse diff --git a/examples/azure-pipelines-minimal.yml b/examples/azure-pipelines-minimal.yml index 1fd9014d..e7c56f55 100644 --- a/examples/azure-pipelines-minimal.yml +++ b/examples/azure-pipelines-minimal.yml @@ -6,7 +6,7 @@ jobs: - bash: | set -o errexit python3 -m pip install --upgrade pip - pip3 install cibuildwheel==2.0.0 + pip3 install cibuildwheel==2.1.1 displayName: Install dependencies - bash: cibuildwheel --output-dir wheelhouse . displayName: Build wheels @@ -20,7 +20,7 @@ jobs: - bash: | set -o errexit python3 -m pip install --upgrade pip - python3 -m pip install cibuildwheel==2.0.0 + python3 -m pip install cibuildwheel==2.1.1 displayName: Install dependencies - bash: cibuildwheel --output-dir wheelhouse . displayName: Build wheels @@ -34,7 +34,7 @@ jobs: - bash: | set -o errexit python -m pip install --upgrade pip - pip install cibuildwheel==2.0.0 + pip install cibuildwheel==2.1.1 displayName: Install dependencies - bash: cibuildwheel --output-dir wheelhouse . displayName: Build wheels diff --git a/examples/circleci-minimal.yml b/examples/circleci-minimal.yml index dbc69407..cbfc2b1b 100644 --- a/examples/circleci-minimal.yml +++ b/examples/circleci-minimal.yml @@ -11,7 +11,7 @@ jobs: - run: name: Build the Linux wheels. command: | - pip3 install --user cibuildwheel==2.0.0 + pip3 install --user cibuildwheel==2.1.1 cibuildwheel --output-dir wheelhouse - store_artifacts: path: wheelhouse/ @@ -25,7 +25,7 @@ jobs: - run: name: Build the OS X wheels. command: | - pip3 install cibuildwheel==2.0.0 + pip3 install cibuildwheel==2.1.1 cibuildwheel --output-dir wheelhouse - store_artifacts: path: wheelhouse/ diff --git a/examples/github-apple-silicon.yml b/examples/github-apple-silicon.yml index 8d836da8..20011cd3 100644 --- a/examples/github-apple-silicon.yml +++ b/examples/github-apple-silicon.yml @@ -10,7 +10,7 @@ jobs: - uses: actions/checkout@v2 - name: Build wheels - uses: pypa/cibuildwheel@v2.0.0 + uses: pypa/cibuildwheel@v2.1.1 env: CIBW_ARCHS_MACOS: x86_64 universal2 diff --git a/examples/github-deploy.yml b/examples/github-deploy.yml index 7cc4d320..dd974f08 100644 --- a/examples/github-deploy.yml +++ b/examples/github-deploy.yml @@ -27,7 +27,7 @@ jobs: python-version: '3.8' - name: Build wheels - uses: pypa/cibuildwheel@v2.0.0 + uses: pypa/cibuildwheel@v2.1.1 - uses: actions/upload-artifact@v2 with: diff --git a/examples/github-minimal.yml b/examples/github-minimal.yml index b2df58ae..20d6f1e3 100644 --- a/examples/github-minimal.yml +++ b/examples/github-minimal.yml @@ -14,7 +14,7 @@ jobs: - uses: actions/checkout@v2 - name: Build wheels - uses: pypa/cibuildwheel@v2.0.0 + uses: pypa/cibuildwheel@v2.1.1 # to supply options, put them in 'env', like: # env: # CIBW_SOME_OPTION: value diff --git a/examples/github-with-qemu.yml b/examples/github-with-qemu.yml index a905a9ea..71b7f3ff 100644 --- a/examples/github-with-qemu.yml +++ b/examples/github-with-qemu.yml @@ -25,7 +25,7 @@ jobs: platforms: all - name: Build wheels - uses: pypa/cibuildwheel@v2.0.0 + uses: pypa/cibuildwheel@v2.1.1 env: # configure cibuildwheel to build native archs ('auto'), and some # emulated ones diff --git a/examples/gitlab-minimal.yml b/examples/gitlab-minimal.yml index 4218a7ba..5cc4994a 100644 --- a/examples/gitlab-minimal.yml +++ b/examples/gitlab-minimal.yml @@ -12,7 +12,7 @@ linux: DOCKER_TLS_CERTDIR: "" script: - curl -sSL https://get.docker.com/ | sh - - python -m pip install cibuildwheel==2.0.0 + - python -m pip install cibuildwheel==2.1.1 - cibuildwheel --output-dir wheelhouse artifacts: paths: diff --git a/examples/travis-ci-deploy.yml b/examples/travis-ci-deploy.yml index bf63b76f..d189b0d9 100644 --- a/examples/travis-ci-deploy.yml +++ b/examples/travis-ci-deploy.yml @@ -19,7 +19,7 @@ jobs: - ln -s /c/Python38/python.exe /c/Python38/python3.exe install: - - python3 -m pip install cibuildwheel==2.0.0 + - python3 -m pip install cibuildwheel==2.1.1 script: # build the wheels, put them into './wheelhouse' diff --git a/examples/travis-ci-minimal.yml b/examples/travis-ci-minimal.yml index c9906309..3a8796e1 100644 --- a/examples/travis-ci-minimal.yml +++ b/examples/travis-ci-minimal.yml @@ -25,7 +25,7 @@ jobs: - ln -s /c/Python38/python.exe /c/Python38/python3.exe install: - - python3 -m pip install cibuildwheel==2.0.0 + - python3 -m pip install cibuildwheel==2.1.1 script: # build the wheels, put them into './wheelhouse' diff --git a/examples/travis-ci-test-and-deploy.yml b/examples/travis-ci-test-and-deploy.yml index 35f64449..057818b8 100644 --- a/examples/travis-ci-test-and-deploy.yml +++ b/examples/travis-ci-test-and-deploy.yml @@ -57,7 +57,7 @@ jobs: - stage: deploy name: Build and deploy Linux wheels services: docker - install: python3 -m pip install cibuildwheel==2.0.0 + install: python3 -m pip install cibuildwheel==2.1.1 script: python3 -m cibuildwheel --output-dir wheelhouse after_success: | python3 -m pip install twine @@ -67,7 +67,7 @@ jobs: name: Build and deploy Windows wheels os: windows language: shell - install: python3 -m pip install cibuildwheel==2.0.0 + install: python3 -m pip install cibuildwheel==2.1.1 script: python3 -m cibuildwheel --output-dir wheelhouse after_success: | python3 -m pip install twine diff --git a/setup.cfg b/setup.cfg index 9023fbab..291e4fcc 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,6 +1,6 @@ [metadata] name = cibuildwheel -version = 2.0.0 +version = 2.1.1 description = Build Python wheels on CI with minimal configuration. long_description = file: README.md long_description_content_type = text/markdown diff --git a/unit_test/build_selector_test.py b/unit_test/build_selector_test.py index 76131c81..c99b28f1 100644 --- a/unit_test/build_selector_test.py +++ b/unit_test/build_selector_test.py @@ -1,3 +1,4 @@ +import pytest from packaging.specifiers import SpecifierSet from cibuildwheel.util import BuildSelector @@ -8,7 +9,7 @@ def test_build(): assert build_selector("cp36-manylinux_x86_64") assert build_selector("cp37-manylinux_x86_64") - assert not build_selector("cp310-manylinux_x86_64") + assert build_selector("cp310-manylinux_x86_64") assert build_selector("pp36-manylinux_x86_64") assert build_selector("pp37-manylinux_x86_64") assert build_selector("cp36-manylinux_i686") @@ -26,11 +27,12 @@ def test_build(): assert not build_selector("pp37-win32") assert build_selector("cp36-win_amd64") assert build_selector("cp37-win_amd64") - assert not build_selector("cp310-win_amd64") + assert build_selector("cp310-win_amd64") assert not build_selector("pp36-win_amd64") assert not build_selector("pp37-win_amd64") +@pytest.mark.skip("this test only makes sense when we have a prerelease python to test with") def test_build_filter_pre(): build_selector = BuildSelector( build_config="cp3*-* *-manylinux*",