From 095c0944205e1802864d17006d8799cc3fda200f Mon Sep 17 00:00:00 2001 From: Henry Schreiner Date: Sun, 20 Dec 2020 09:29:55 -0500 Subject: [PATCH 01/10] Update dependencies --- .../resources/constraints-python27.txt | 8 ++++---- .../resources/constraints-python35.txt | 8 ++++---- .../resources/constraints-python36.txt | 11 +++++----- .../resources/constraints-python37.txt | 11 +++++----- cibuildwheel/resources/constraints.txt | 8 ++++---- .../resources/pinned_docker_images.cfg | 20 +++++++++---------- 6 files changed, 34 insertions(+), 32 deletions(-) diff --git a/cibuildwheel/resources/constraints-python27.txt b/cibuildwheel/resources/constraints-python27.txt index e387282d..dd4a864b 100644 --- a/cibuildwheel/resources/constraints-python27.txt +++ b/cibuildwheel/resources/constraints-python27.txt @@ -10,17 +10,17 @@ contextlib2==0.6.0.post1 # via importlib-metadata, importlib-resources delocate==0.8.2 # via -r cibuildwheel/resources/constraints.in distlib==0.3.1 # via virtualenv filelock==3.0.12 # via virtualenv -importlib-metadata==2.1.0 # via virtualenv +importlib-metadata==2.1.1 # via virtualenv importlib-resources==3.3.0 # via virtualenv pathlib2==2.3.5 # via importlib-metadata, importlib-resources, virtualenv scandir==1.10.0 # via pathlib2 singledispatch==3.4.0.3 # via importlib-resources six==1.15.0 # via pathlib2, virtualenv typing==3.7.4.3 # via importlib-resources -virtualenv==20.2.1 # via -r cibuildwheel/resources/constraints.in -wheel==0.35.1 # via -r cibuildwheel/resources/constraints.in, delocate +virtualenv==20.2.2 # via -r cibuildwheel/resources/constraints.in +wheel==0.36.2 # via -r cibuildwheel/resources/constraints.in, delocate zipp==1.2.0 # via importlib-metadata, importlib-resources # The following packages are considered to be unsafe in a requirements file: -pip==20.2.4 # via -r cibuildwheel/resources/constraints.in +pip==20.3.3 # via -r cibuildwheel/resources/constraints.in setuptools==44.1.1 # via -r cibuildwheel/resources/constraints.in diff --git a/cibuildwheel/resources/constraints-python35.txt b/cibuildwheel/resources/constraints-python35.txt index 4dc2ecd6..c6f210fa 100644 --- a/cibuildwheel/resources/constraints-python35.txt +++ b/cibuildwheel/resources/constraints-python35.txt @@ -8,13 +8,13 @@ appdirs==1.4.4 # via virtualenv delocate==0.8.2 # via -r cibuildwheel/resources/constraints.in distlib==0.3.1 # via virtualenv filelock==3.0.12 # via virtualenv -importlib-metadata==2.1.0 # via virtualenv +importlib-metadata==2.1.1 # via virtualenv importlib-resources==3.2.1 # via virtualenv six==1.15.0 # via virtualenv -virtualenv==20.2.1 # via -r cibuildwheel/resources/constraints.in -wheel==0.35.1 # via -r cibuildwheel/resources/constraints.in, delocate +virtualenv==20.2.2 # via -r cibuildwheel/resources/constraints.in +wheel==0.36.2 # via -r cibuildwheel/resources/constraints.in, delocate zipp==1.2.0 # via importlib-metadata, importlib-resources # The following packages are considered to be unsafe in a requirements file: -pip==20.2.4 # via -r cibuildwheel/resources/constraints.in +pip==20.3.3 # via -r cibuildwheel/resources/constraints.in setuptools==50.3.2 # via -r cibuildwheel/resources/constraints.in diff --git a/cibuildwheel/resources/constraints-python36.txt b/cibuildwheel/resources/constraints-python36.txt index 15bca5b6..ea9e0109 100644 --- a/cibuildwheel/resources/constraints-python36.txt +++ b/cibuildwheel/resources/constraints-python36.txt @@ -8,13 +8,14 @@ appdirs==1.4.4 # via virtualenv delocate==0.8.2 # via -r cibuildwheel/resources/constraints.in distlib==0.3.1 # via virtualenv filelock==3.0.12 # via virtualenv -importlib-metadata==3.1.0 # via virtualenv +importlib-metadata==3.3.0 # via virtualenv importlib-resources==3.3.0 # via virtualenv six==1.15.0 # via virtualenv -virtualenv==20.2.1 # via -r cibuildwheel/resources/constraints.in -wheel==0.35.1 # via -r cibuildwheel/resources/constraints.in, delocate +typing-extensions==3.7.4.3 # via importlib-metadata +virtualenv==20.2.2 # via -r cibuildwheel/resources/constraints.in +wheel==0.36.2 # via -r cibuildwheel/resources/constraints.in, delocate zipp==3.4.0 # via importlib-metadata, importlib-resources # The following packages are considered to be unsafe in a requirements file: -pip==20.2.4 # via -r cibuildwheel/resources/constraints.in -setuptools==50.3.2 # via -r cibuildwheel/resources/constraints.in +pip==20.3.3 # via -r cibuildwheel/resources/constraints.in +setuptools==51.0.0 # via -r cibuildwheel/resources/constraints.in diff --git a/cibuildwheel/resources/constraints-python37.txt b/cibuildwheel/resources/constraints-python37.txt index cf6d8693..6e0f89f1 100644 --- a/cibuildwheel/resources/constraints-python37.txt +++ b/cibuildwheel/resources/constraints-python37.txt @@ -8,12 +8,13 @@ appdirs==1.4.4 # via virtualenv delocate==0.8.2 # via -r cibuildwheel/resources/constraints.in distlib==0.3.1 # via virtualenv filelock==3.0.12 # via virtualenv -importlib-metadata==3.1.0 # via virtualenv +importlib-metadata==3.3.0 # via virtualenv six==1.15.0 # via virtualenv -virtualenv==20.2.1 # via -r cibuildwheel/resources/constraints.in -wheel==0.35.1 # via -r cibuildwheel/resources/constraints.in, delocate +typing-extensions==3.7.4.3 # via importlib-metadata +virtualenv==20.2.2 # via -r cibuildwheel/resources/constraints.in +wheel==0.36.2 # via -r cibuildwheel/resources/constraints.in, delocate zipp==3.4.0 # via importlib-metadata # The following packages are considered to be unsafe in a requirements file: -pip==20.2.4 # via -r cibuildwheel/resources/constraints.in -setuptools==50.3.2 # via -r cibuildwheel/resources/constraints.in +pip==20.3.3 # via -r cibuildwheel/resources/constraints.in +setuptools==51.0.0 # via -r cibuildwheel/resources/constraints.in diff --git a/cibuildwheel/resources/constraints.txt b/cibuildwheel/resources/constraints.txt index 81a335e9..6d2f7d0b 100644 --- a/cibuildwheel/resources/constraints.txt +++ b/cibuildwheel/resources/constraints.txt @@ -9,9 +9,9 @@ delocate==0.8.2 # via -r cibuildwheel/resources/constraints.in distlib==0.3.1 # via virtualenv filelock==3.0.12 # via virtualenv six==1.15.0 # via virtualenv -virtualenv==20.2.1 # via -r cibuildwheel/resources/constraints.in -wheel==0.35.1 # via -r cibuildwheel/resources/constraints.in, delocate +virtualenv==20.2.2 # via -r cibuildwheel/resources/constraints.in +wheel==0.36.2 # via -r cibuildwheel/resources/constraints.in, delocate # The following packages are considered to be unsafe in a requirements file: -pip==20.2.4 # via -r cibuildwheel/resources/constraints.in -setuptools==50.3.2 # via -r cibuildwheel/resources/constraints.in +pip==20.3.3 # via -r cibuildwheel/resources/constraints.in +setuptools==51.0.0 # via -r cibuildwheel/resources/constraints.in diff --git a/cibuildwheel/resources/pinned_docker_images.cfg b/cibuildwheel/resources/pinned_docker_images.cfg index 0646edf8..ec1b0fd3 100644 --- a/cibuildwheel/resources/pinned_docker_images.cfg +++ b/cibuildwheel/resources/pinned_docker_images.cfg @@ -1,22 +1,22 @@ [x86_64] -manylinux1 = quay.io/pypa/manylinux1_x86_64:2020-11-11-0f1f128 -manylinux2010 = quay.io/pypa/manylinux2010_x86_64:2020-12-03-912b0de -manylinux2014 = quay.io/pypa/manylinux2014_x86_64:2020-11-11-bc8ce45 +manylinux1 = quay.io/pypa/manylinux1_x86_64:2020-12-18-c48c073 +manylinux2010 = quay.io/pypa/manylinux2010_x86_64:2020-12-19-8df9e2d +manylinux2014 = quay.io/pypa/manylinux2014_x86_64:2020-12-18-cb453dc [i686] -manylinux1 = quay.io/pypa/manylinux1_i686:2020-11-11-0f1f128 -manylinux2010 = quay.io/pypa/manylinux2010_i686:2020-12-03-912b0de -manylinux2014 = quay.io/pypa/manylinux2014_i686:2020-11-11-bc8ce45 +manylinux1 = quay.io/pypa/manylinux1_i686:2020-12-18-c48c073 +manylinux2010 = quay.io/pypa/manylinux2010_i686:2020-12-19-8df9e2d +manylinux2014 = quay.io/pypa/manylinux2014_i686:2020-12-18-cb453dc [pypy_x86_64] -manylinux2010 = pypywheels/manylinux2010-pypy_x86_64:2020-11-21-a03b9e9 +manylinux2010 = pypywheels/manylinux2010-pypy_x86_64:2020-12-11-f1e0e80 [aarch64] -manylinux2014 = quay.io/pypa/manylinux2014_aarch64:2020-11-11-bc8ce45 +manylinux2014 = quay.io/pypa/manylinux2014_aarch64:2020-12-18-cb453dc [ppc64le] -manylinux2014 = quay.io/pypa/manylinux2014_ppc64le:2020-11-11-bc8ce45 +manylinux2014 = quay.io/pypa/manylinux2014_ppc64le:2020-12-18-cb453dc [s390x] -manylinux2014 = quay.io/pypa/manylinux2014_s390x:2020-11-11-bc8ce45 +manylinux2014 = quay.io/pypa/manylinux2014_s390x:2020-12-18-cb453dc From b020f9d3e563972ed9906d08f62a216a76cd48c6 Mon Sep 17 00:00:00 2001 From: Henry Schreiner Date: Sun, 20 Dec 2020 10:48:16 -0500 Subject: [PATCH 02/10] chore: bump Python patch versions --- cibuildwheel/macos.py | 6 +++--- cibuildwheel/windows.py | 12 ++++++------ 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/cibuildwheel/macos.py b/cibuildwheel/macos.py index 9ffca89d..09960011 100644 --- a/cibuildwheel/macos.py +++ b/cibuildwheel/macos.py @@ -37,9 +37,9 @@ def get_python_configurations(build_selector: BuildSelector) -> List[PythonConfi PythonConfiguration(version='2.7', identifier='cp27-macosx_x86_64', url='https://www.python.org/ftp/python/2.7.18/python-2.7.18-macosx10.9.pkg'), PythonConfiguration(version='3.5', identifier='cp35-macosx_x86_64', url='https://www.python.org/ftp/python/3.5.4/python-3.5.4-macosx10.6.pkg'), PythonConfiguration(version='3.6', identifier='cp36-macosx_x86_64', url='https://www.python.org/ftp/python/3.6.8/python-3.6.8-macosx10.9.pkg'), - PythonConfiguration(version='3.7', identifier='cp37-macosx_x86_64', url='https://www.python.org/ftp/python/3.7.8/python-3.7.8-macosx10.9.pkg'), - PythonConfiguration(version='3.8', identifier='cp38-macosx_x86_64', url='https://www.python.org/ftp/python/3.8.4/python-3.8.4-macosx10.9.pkg'), - PythonConfiguration(version='3.9', identifier='cp39-macosx_x86_64', url='https://www.python.org/ftp/python/3.9.0/python-3.9.0-macosx10.9.pkg'), + PythonConfiguration(version='3.7', identifier='cp37-macosx_x86_64', url='https://www.python.org/ftp/python/3.7.9/python-3.7.9-macosx10.9.pkg'), + PythonConfiguration(version='3.8', identifier='cp38-macosx_x86_64', url='https://www.python.org/ftp/python/3.8.6/python-3.8.6-macosx10.9.pkg'), + PythonConfiguration(version='3.9', identifier='cp39-macosx_x86_64', url='https://www.python.org/ftp/python/3.9.1/python-3.9.1-macosx10.9.pkg'), # PyPy PythonConfiguration(version='2.7', identifier='pp27-macosx_x86_64', url='https://downloads.python.org/pypy/pypy2.7-v7.3.3-osx64.tar.bz2'), PythonConfiguration(version='3.6', identifier='pp36-macosx_x86_64', url='https://downloads.python.org/pypy/pypy3.6-v7.3.3-osx64.tar.bz2'), diff --git a/cibuildwheel/windows.py b/cibuildwheel/windows.py index 4331915a..eb809ea2 100644 --- a/cibuildwheel/windows.py +++ b/cibuildwheel/windows.py @@ -56,12 +56,12 @@ def get_python_configurations(build_selector: BuildSelector) -> List[PythonConfi PythonConfiguration(version='3.5.4', arch='64', identifier='cp35-win_amd64', url=None), PythonConfiguration(version='3.6.8', arch='32', identifier='cp36-win32', url=None), PythonConfiguration(version='3.6.8', arch='64', identifier='cp36-win_amd64', url=None), - PythonConfiguration(version='3.7.8', arch='32', identifier='cp37-win32', url=None), - PythonConfiguration(version='3.7.8', arch='64', identifier='cp37-win_amd64', url=None), - PythonConfiguration(version='3.8.4', arch='32', identifier='cp38-win32', url=None), - PythonConfiguration(version='3.8.4', arch='64', identifier='cp38-win_amd64', url=None), - PythonConfiguration(version='3.9.0', arch='32', identifier='cp39-win32', url=None), - PythonConfiguration(version='3.9.0', arch='64', identifier='cp39-win_amd64', url=None), + PythonConfiguration(version='3.7.9', arch='32', identifier='cp37-win32', url=None), + PythonConfiguration(version='3.7.9', arch='64', identifier='cp37-win_amd64', url=None), + PythonConfiguration(version='3.8.6', arch='32', identifier='cp38-win32', url=None), + PythonConfiguration(version='3.8.6', arch='64', identifier='cp38-win_amd64', url=None), + PythonConfiguration(version='3.9.1', arch='32', identifier='cp39-win32', url=None), + PythonConfiguration(version='3.9.1', arch='64', identifier='cp39-win_amd64', url=None), # PyPy PythonConfiguration(version='2.7', arch='32', identifier='pp27-win32', url='https://downloads.python.org/pypy/pypy2.7-v7.3.3-win32.zip'), PythonConfiguration(version='3.6', arch='32', identifier='pp36-win32', url='https://downloads.python.org/pypy/pypy3.6-v7.3.3-win32.zip'), From fb2c6e2e8996ed3532e0ec1030f3f5d2dce720f2 Mon Sep 17 00:00:00 2001 From: Joe Rickerby Date: Mon, 21 Dec 2020 11:40:22 +0000 Subject: [PATCH 03/10] Remove symlink hack --- docs/docs/data | 1 - 1 file changed, 1 deletion(-) delete mode 120000 docs/docs/data diff --git a/docs/docs/data b/docs/docs/data deleted file mode 120000 index 4909e06e..00000000 --- a/docs/docs/data +++ /dev/null @@ -1 +0,0 @@ -../data \ No newline at end of file From 194818ecf7f4112f1e5c82a1e7e5ef3f3fd2516b Mon Sep 17 00:00:00 2001 From: Joe Rickerby Date: Mon, 21 Dec 2020 11:40:32 +0000 Subject: [PATCH 04/10] Fix directive name --- docs/working-examples.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/working-examples.md b/docs/working-examples.md index a769ff53..e2c3b86c 100644 --- a/docs/working-examples.md +++ b/docs/working-examples.md @@ -3,7 +3,7 @@ title: Working examples --- {% - includemarkdown "../README.md" + include-markdown "../README.md" start="" end="" %} From b4fe1aa2578a8e5b50b4aff88362ccb02d53b506 Mon Sep 17 00:00:00 2001 From: Joe Rickerby Date: Mon, 21 Dec 2020 11:43:27 +0000 Subject: [PATCH 05/10] Update mkdocs-include-markdown-plugin --- requirements-dev.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements-dev.txt b/requirements-dev.txt index 341498b4..bfe96baa 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -1,7 +1,7 @@ -e . pytest mkdocs==1.0.4 -mkdocs-include-markdown-plugin==1.0.0 +mkdocs-include-markdown-plugin==2.1.1 pymdown-extensions pip-tools requests From e439544a1dd76253fd15bf1181f84475099433c8 Mon Sep 17 00:00:00 2001 From: Joe Rickerby Date: Mon, 21 Dec 2020 13:15:33 +0000 Subject: [PATCH 06/10] Fix directive name --- docs/changelog.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/changelog.md b/docs/changelog.md index f4c1b679..5861f74d 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -3,7 +3,7 @@ title: Changelog --- {% - includemarkdown "../README.md" + include-markdown "../README.md" start="" end="" %} From ed8a9533c5b5b95b9e5f9a3ee53bfce9915459b4 Mon Sep 17 00:00:00 2001 From: Joe Rickerby Date: Mon, 21 Dec 2020 13:20:45 +0000 Subject: [PATCH 07/10] Bump version: v1.7.2 --- README.md | 12 +++++++++++- cibuildwheel/__init__.py | 2 +- examples/appveyor-minimal.yml | 2 +- examples/azure-pipelines-minimal.yml | 6 +++--- examples/circleci-minimal.yml | 4 ++-- examples/github-deploy.yml | 2 +- examples/github-minimal.yml | 2 +- examples/travis-ci-deploy.yml | 2 +- examples/travis-ci-minimal.yml | 2 +- examples/travis-ci-test-and-deploy.yml | 6 +++--- setup.py | 2 +- 11 files changed, 26 insertions(+), 16 deletions(-) diff --git a/README.md b/README.md index 78a6ce4c..1041237c 100644 --- a/README.md +++ b/README.md @@ -80,7 +80,7 @@ jobs: name: Install Python - name: Install cibuildwheel - run: python -m pip install cibuildwheel==1.7.1 + run: python -m pip install cibuildwheel==1.7.2 - name: Build wheels run: python -m cibuildwheel --output-dir wheelhouse @@ -261,6 +261,16 @@ Changelog +### 1.7.2 + +_21 December 2020_ + +- 🛠 Update dependencies, notably wheel==0.36.2 and pip==20.3.3, and CPython to + their latest bugfix releases (#489) +- 📚 Switch to a Github example in the README (#479) +- 📚 Create Working Examples table, with many projects that use cibuildwheel (#474) +- 📚 Import Working Examples table and Changelog to docs + ### 1.7.1 _3 December 2020_ diff --git a/cibuildwheel/__init__.py b/cibuildwheel/__init__.py index 48c2f6b0..8adfee4f 100644 --- a/cibuildwheel/__init__.py +++ b/cibuildwheel/__init__.py @@ -1 +1 @@ -__version__ = '1.7.1' +__version__ = '1.7.2' diff --git a/examples/appveyor-minimal.yml b/examples/appveyor-minimal.yml index 51f01c9f..806a9859 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==1.7.1 +install: python -m pip install cibuildwheel==1.7.2 build_script: python -m cibuildwheel --output-dir wheelhouse diff --git a/examples/azure-pipelines-minimal.yml b/examples/azure-pipelines-minimal.yml index 153114d6..7ce34e40 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==1.7.1 + pip3 install cibuildwheel==1.7.2 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==1.7.1 + python3 -m pip install cibuildwheel==1.7.2 displayName: Install dependencies - bash: cibuildwheel --output-dir wheelhouse . displayName: Build wheels @@ -36,7 +36,7 @@ jobs: - bash: | set -o errexit python -m pip install --upgrade pip - pip install cibuildwheel==1.7.1 + pip install cibuildwheel==1.7.2 displayName: Install dependencies - bash: cibuildwheel --output-dir wheelhouse . displayName: Build wheels diff --git a/examples/circleci-minimal.yml b/examples/circleci-minimal.yml index 124db111..116dede7 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==1.7.1 + pip3 install --user cibuildwheel==1.7.2 cibuildwheel --output-dir wheelhouse - store_artifacts: path: wheelhouse/ @@ -25,7 +25,7 @@ jobs: - run: name: Build the OS X wheels. command: | - pip3 install cibuildwheel==1.7.1 + pip3 install cibuildwheel==1.7.2 cibuildwheel --output-dir wheelhouse - store_artifacts: path: wheelhouse/ diff --git a/examples/github-deploy.yml b/examples/github-deploy.yml index 5e33a4b1..43abcd66 100644 --- a/examples/github-deploy.yml +++ b/examples/github-deploy.yml @@ -28,7 +28,7 @@ jobs: - name: Install cibuildwheel run: | - python -m pip install cibuildwheel==1.7.1 + python -m pip install cibuildwheel==1.7.2 - name: Install Visual C++ for Python 2.7 if: runner.os == 'Windows' diff --git a/examples/github-minimal.yml b/examples/github-minimal.yml index 9c3620f3..29600b35 100644 --- a/examples/github-minimal.yml +++ b/examples/github-minimal.yml @@ -20,7 +20,7 @@ jobs: - name: Install cibuildwheel run: | - python -m pip install cibuildwheel==1.7.1 + python -m pip install cibuildwheel==1.7.2 - name: Install Visual C++ for Python 2.7 if: runner.os == 'Windows' diff --git a/examples/travis-ci-deploy.yml b/examples/travis-ci-deploy.yml index 40e58e6e..402a95e1 100644 --- a/examples/travis-ci-deploy.yml +++ b/examples/travis-ci-deploy.yml @@ -20,7 +20,7 @@ jobs: - ln -s /c/Python38/python.exe /c/Python38/python3.exe install: - - python3 -m pip install cibuildwheel==1.7.1 + - python3 -m pip install cibuildwheel==1.7.2 script: # build the wheels, put them into './wheelhouse' diff --git a/examples/travis-ci-minimal.yml b/examples/travis-ci-minimal.yml index ea412dbb..d9e1b64f 100644 --- a/examples/travis-ci-minimal.yml +++ b/examples/travis-ci-minimal.yml @@ -26,7 +26,7 @@ jobs: - ln -s /c/Python38/python.exe /c/Python38/python3.exe install: - - python3 -m pip install cibuildwheel==1.7.1 + - python3 -m pip install cibuildwheel==1.7.2 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 f2320214..d1cfba18 100644 --- a/examples/travis-ci-test-and-deploy.yml +++ b/examples/travis-ci-test-and-deploy.yml @@ -55,7 +55,7 @@ jobs: - stage: deploy name: Build and deploy Linux wheels services: docker - install: python3 -m pip install cibuildwheel==1.7.1 + install: python3 -m pip install cibuildwheel==1.7.2 script: python3 -m cibuildwheel --output-dir wheelhouse after_success: | python3 -m pip install twine @@ -65,7 +65,7 @@ jobs: name: Build and deploy macOS wheels os: osx language: shell - install: python3 -m pip install cibuildwheel==1.7.1 + install: python3 -m pip install cibuildwheel==1.7.2 script: python3 -m cibuildwheel --output-dir wheelhouse after_success: | python3 -m pip install twine @@ -75,7 +75,7 @@ jobs: name: Build and deploy Windows wheels os: windows language: shell - install: python3 -m pip install cibuildwheel==1.7.1 + install: python3 -m pip install cibuildwheel==1.7.2 script: python3 -m cibuildwheel --output-dir wheelhouse after_success: | python3 -m pip install twine diff --git a/setup.py b/setup.py index 13bb0766..204e7ccd 100644 --- a/setup.py +++ b/setup.py @@ -11,7 +11,7 @@ long_description = (this_directory / 'README.md').read_text(encoding='utf-8') setup( name='cibuildwheel', - version='1.7.1', + version='1.7.2', install_requires=['bashlex!=0.13', 'toml', 'certifi'], description="Build Python wheels on CI with minimal configuration.", long_description=long_description, From 40ddede41be8dc894a2e6600896f15c0a6b41031 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Mon, 21 Dec 2020 19:51:27 +0100 Subject: [PATCH 08/10] Add a workflow to update dependencies (#490) * 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 --- .github/workflows/update-dependencies.yml | 31 ++++++++++++ bin/update_dependencies.py | 50 +++++++++++++------ .../resources/constraints-python27.txt | 2 +- .../resources/constraints-python35.txt | 2 +- .../resources/constraints-python36.txt | 2 +- .../resources/constraints-python37.txt | 2 +- .../resources/constraints-python38.txt | 17 +++++++ .../resources/constraints-python39.txt | 17 +++++++ cibuildwheel/resources/constraints.txt | 2 +- unit_test/dependency_constraints_test.py | 3 +- 10 files changed, 107 insertions(+), 21 deletions(-) create mode 100644 .github/workflows/update-dependencies.yml create mode 100644 cibuildwheel/resources/constraints-python38.txt create mode 100644 cibuildwheel/resources/constraints-python39.txt diff --git a/.github/workflows/update-dependencies.yml b/.github/workflows/update-dependencies.yml new file mode 100644 index 00000000..dff17351 --- /dev/null +++ b/.github/workflows/update-dependencies.yml @@ -0,0 +1,31 @@ +name: Update dependencies + +on: workflow_dispatch + +jobs: + update-dependencies: + name: Update dependencies + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - uses: actions/setup-python@v2 + name: Install Python 3.9 + with: + python-version: 3.9 + architecture: x64 + - name: Install dependencies + run: python -m pip install requests pip-tools + - name: Run update + run: python ./bin/update_dependencies.py + - name: Create Pull Request + if: github.ref == 'refs/heads/master' + uses: peter-evans/create-pull-request@v3 + with: + commit-message: Update dependencies + title: '[Bot] Update dependencies' + body: | + Update the versions of our dependencies. + + PR generated by "Update dependencies" [workflow](https://github.com/${{github.repository}}/actions/runs/${{github.run_id}}). + branch: update-dependencies-pr + delete-branch: true diff --git a/bin/update_dependencies.py b/bin/update_dependencies.py index 7c4489ba..62717c31 100755 --- a/bin/update_dependencies.py +++ b/bin/update_dependencies.py @@ -2,7 +2,9 @@ import configparser import os +import shutil import subprocess +import sys from collections import namedtuple import requests @@ -12,21 +14,39 @@ os.chdir('..') # CUSTOM_COMPILE_COMMAND is a pip-compile option that tells users how to # regenerate the constraints files -os.environ['CUSTOM_COMPILE_COMMAND'] = "bin/update_constraints.py" -subprocess.check_call([ - 'pip-compile', - '--allow-unsafe', - '--upgrade', - 'cibuildwheel/resources/constraints.in', -]) -for python_version in ['27', '35', '36', '37']: - subprocess.check_call([ - f'./env{python_version}/bin/pip-compile', - '--allow-unsafe', - '--upgrade', - 'cibuildwheel/resources/constraints.in', - '--output-file', f'cibuildwheel/resources/constraints-python{python_version}.txt' - ]) +os.environ['CUSTOM_COMPILE_COMMAND'] = "bin/update_dependencies.py" + +PYTHON_VERSIONS = ['27', '35', '36', '37', '38', '39'] + +if '--no-docker' in sys.argv: + for python_version in PYTHON_VERSIONS: + subprocess.check_call([ + f'./env{python_version}/bin/pip-compile', + '--allow-unsafe', + '--upgrade', + 'cibuildwheel/resources/constraints.in', + '--output-file', f'cibuildwheel/resources/constraints-python{python_version}.txt' + ]) +else: + image = 'quay.io/pypa/manylinux2010_x86_64:latest' + subprocess.check_call(['docker', 'pull', image]) + for python_version in PYTHON_VERSIONS: + abi_flags = '' if int(python_version) >= 38 else 'm' + python_path = f'/opt/python/cp{python_version}-cp{python_version}{abi_flags}/bin/' + subprocess.check_call([ + 'docker', 'run', '--rm', + '-e', 'CUSTOM_COMPILE_COMMAND', + '-v', f'{os.getcwd()}:/volume', + '--workdir', '/volume', image, + 'bash', '-c', + f'{python_path}pip install pip-tools &&' + f'{python_path}pip-compile --allow-unsafe --upgrade ' + 'cibuildwheel/resources/constraints.in ' + f'--output-file cibuildwheel/resources/constraints-python{python_version}.txt' + ]) + +# default constraints.txt +shutil.copyfile(f'cibuildwheel/resources/constraints-python{PYTHON_VERSIONS[-1]}.txt', 'cibuildwheel/resources/constraints.txt') Image = namedtuple('Image', [ 'manylinux_version', diff --git a/cibuildwheel/resources/constraints-python27.txt b/cibuildwheel/resources/constraints-python27.txt index dd4a864b..eb6d018c 100644 --- a/cibuildwheel/resources/constraints-python27.txt +++ b/cibuildwheel/resources/constraints-python27.txt @@ -2,7 +2,7 @@ # This file is autogenerated by pip-compile # To update, run: # -# bin/update_constraints.py +# bin/update_dependencies.py # appdirs==1.4.4 # via virtualenv configparser==4.0.2 # via importlib-metadata diff --git a/cibuildwheel/resources/constraints-python35.txt b/cibuildwheel/resources/constraints-python35.txt index c6f210fa..a561e8d3 100644 --- a/cibuildwheel/resources/constraints-python35.txt +++ b/cibuildwheel/resources/constraints-python35.txt @@ -2,7 +2,7 @@ # This file is autogenerated by pip-compile # To update, run: # -# bin/update_constraints.py +# bin/update_dependencies.py # appdirs==1.4.4 # via virtualenv delocate==0.8.2 # via -r cibuildwheel/resources/constraints.in diff --git a/cibuildwheel/resources/constraints-python36.txt b/cibuildwheel/resources/constraints-python36.txt index ea9e0109..ac010630 100644 --- a/cibuildwheel/resources/constraints-python36.txt +++ b/cibuildwheel/resources/constraints-python36.txt @@ -2,7 +2,7 @@ # This file is autogenerated by pip-compile # To update, run: # -# bin/update_constraints.py +# bin/update_dependencies.py # appdirs==1.4.4 # via virtualenv delocate==0.8.2 # via -r cibuildwheel/resources/constraints.in diff --git a/cibuildwheel/resources/constraints-python37.txt b/cibuildwheel/resources/constraints-python37.txt index 6e0f89f1..f3634ba9 100644 --- a/cibuildwheel/resources/constraints-python37.txt +++ b/cibuildwheel/resources/constraints-python37.txt @@ -2,7 +2,7 @@ # This file is autogenerated by pip-compile # To update, run: # -# bin/update_constraints.py +# bin/update_dependencies.py # appdirs==1.4.4 # via virtualenv delocate==0.8.2 # via -r cibuildwheel/resources/constraints.in diff --git a/cibuildwheel/resources/constraints-python38.txt b/cibuildwheel/resources/constraints-python38.txt new file mode 100644 index 00000000..e5e08eb8 --- /dev/null +++ b/cibuildwheel/resources/constraints-python38.txt @@ -0,0 +1,17 @@ +# +# This file is autogenerated by pip-compile +# To update, run: +# +# bin/update_dependencies.py +# +appdirs==1.4.4 # via virtualenv +delocate==0.8.2 # via -r cibuildwheel/resources/constraints.in +distlib==0.3.1 # via virtualenv +filelock==3.0.12 # via virtualenv +six==1.15.0 # via virtualenv +virtualenv==20.2.2 # via -r cibuildwheel/resources/constraints.in +wheel==0.36.2 # via -r cibuildwheel/resources/constraints.in, delocate + +# The following packages are considered to be unsafe in a requirements file: +pip==20.3.3 # via -r cibuildwheel/resources/constraints.in +setuptools==51.0.0 # via -r cibuildwheel/resources/constraints.in diff --git a/cibuildwheel/resources/constraints-python39.txt b/cibuildwheel/resources/constraints-python39.txt new file mode 100644 index 00000000..e5e08eb8 --- /dev/null +++ b/cibuildwheel/resources/constraints-python39.txt @@ -0,0 +1,17 @@ +# +# This file is autogenerated by pip-compile +# To update, run: +# +# bin/update_dependencies.py +# +appdirs==1.4.4 # via virtualenv +delocate==0.8.2 # via -r cibuildwheel/resources/constraints.in +distlib==0.3.1 # via virtualenv +filelock==3.0.12 # via virtualenv +six==1.15.0 # via virtualenv +virtualenv==20.2.2 # via -r cibuildwheel/resources/constraints.in +wheel==0.36.2 # via -r cibuildwheel/resources/constraints.in, delocate + +# The following packages are considered to be unsafe in a requirements file: +pip==20.3.3 # via -r cibuildwheel/resources/constraints.in +setuptools==51.0.0 # via -r cibuildwheel/resources/constraints.in diff --git a/cibuildwheel/resources/constraints.txt b/cibuildwheel/resources/constraints.txt index 6d2f7d0b..e5e08eb8 100644 --- a/cibuildwheel/resources/constraints.txt +++ b/cibuildwheel/resources/constraints.txt @@ -2,7 +2,7 @@ # This file is autogenerated by pip-compile # To update, run: # -# bin/update_constraints.py +# bin/update_dependencies.py # appdirs==1.4.4 # via virtualenv delocate==0.8.2 # via -r cibuildwheel/resources/constraints.in diff --git a/unit_test/dependency_constraints_test.py b/unit_test/dependency_constraints_test.py index 5347011c..448cec11 100644 --- a/unit_test/dependency_constraints_test.py +++ b/unit_test/dependency_constraints_test.py @@ -10,7 +10,8 @@ def test_defaults(): resources_dir = project_root / 'cibuildwheel' / 'resources' assert dependency_constraints.base_file_path.samefile(resources_dir / 'constraints.txt') - assert dependency_constraints.get_for_python_version('3.8').samefile(resources_dir / 'constraints.txt') + assert dependency_constraints.get_for_python_version('3.99').samefile(resources_dir / 'constraints.txt') + assert dependency_constraints.get_for_python_version('3.9').samefile(resources_dir / 'constraints-python39.txt') assert dependency_constraints.get_for_python_version('3.6').samefile(resources_dir / 'constraints-python36.txt') assert dependency_constraints.get_for_python_version('3.5').samefile(resources_dir / 'constraints-python35.txt') assert dependency_constraints.get_for_python_version('2.7').samefile(resources_dir / 'constraints-python27.txt') From 14a6a77f48dd5775942cc734e240f8e39e961248 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Wed, 23 Dec 2020 23:38:45 +0100 Subject: [PATCH 09/10] Run update workflow weekly (#497) --- .github/workflows/update-dependencies.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/update-dependencies.yml b/.github/workflows/update-dependencies.yml index dff17351..1b77f657 100644 --- a/.github/workflows/update-dependencies.yml +++ b/.github/workflows/update-dependencies.yml @@ -1,6 +1,9 @@ name: Update dependencies -on: workflow_dispatch +on: + workflow_dispatch: + schedule: + - cron: '0 6 * * 1' # "At 06:00 on Monday." jobs: update-dependencies: From e43b105d28b0373ab62900a1e247bc7f424bf1ca Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 24 Dec 2020 10:00:12 -0500 Subject: [PATCH 10/10] [Bot] Update dependencies (#495) * Update dependencies * chore: bump Python 3.8.6 -> 3.8.7 Co-authored-by: mayeut Co-authored-by: Henry Schreiner --- cibuildwheel/macos.py | 2 +- cibuildwheel/resources/constraints-python36.txt | 2 +- cibuildwheel/resources/constraints-python37.txt | 2 +- cibuildwheel/resources/constraints-python38.txt | 2 +- cibuildwheel/resources/constraints-python39.txt | 2 +- cibuildwheel/resources/constraints.txt | 2 +- cibuildwheel/windows.py | 4 ++-- 7 files changed, 8 insertions(+), 8 deletions(-) diff --git a/cibuildwheel/macos.py b/cibuildwheel/macos.py index 09960011..c190981a 100644 --- a/cibuildwheel/macos.py +++ b/cibuildwheel/macos.py @@ -38,7 +38,7 @@ def get_python_configurations(build_selector: BuildSelector) -> List[PythonConfi PythonConfiguration(version='3.5', identifier='cp35-macosx_x86_64', url='https://www.python.org/ftp/python/3.5.4/python-3.5.4-macosx10.6.pkg'), PythonConfiguration(version='3.6', identifier='cp36-macosx_x86_64', url='https://www.python.org/ftp/python/3.6.8/python-3.6.8-macosx10.9.pkg'), PythonConfiguration(version='3.7', identifier='cp37-macosx_x86_64', url='https://www.python.org/ftp/python/3.7.9/python-3.7.9-macosx10.9.pkg'), - PythonConfiguration(version='3.8', identifier='cp38-macosx_x86_64', url='https://www.python.org/ftp/python/3.8.6/python-3.8.6-macosx10.9.pkg'), + PythonConfiguration(version='3.8', identifier='cp38-macosx_x86_64', url='https://www.python.org/ftp/python/3.8.7/python-3.8.7-macosx10.9.pkg'), PythonConfiguration(version='3.9', identifier='cp39-macosx_x86_64', url='https://www.python.org/ftp/python/3.9.1/python-3.9.1-macosx10.9.pkg'), # PyPy PythonConfiguration(version='2.7', identifier='pp27-macosx_x86_64', url='https://downloads.python.org/pypy/pypy2.7-v7.3.3-osx64.tar.bz2'), diff --git a/cibuildwheel/resources/constraints-python36.txt b/cibuildwheel/resources/constraints-python36.txt index ac010630..4e782508 100644 --- a/cibuildwheel/resources/constraints-python36.txt +++ b/cibuildwheel/resources/constraints-python36.txt @@ -18,4 +18,4 @@ zipp==3.4.0 # via importlib-metadata, importlib-resources # The following packages are considered to be unsafe in a requirements file: pip==20.3.3 # via -r cibuildwheel/resources/constraints.in -setuptools==51.0.0 # via -r cibuildwheel/resources/constraints.in +setuptools==51.1.0 # via -r cibuildwheel/resources/constraints.in diff --git a/cibuildwheel/resources/constraints-python37.txt b/cibuildwheel/resources/constraints-python37.txt index f3634ba9..9e7b421b 100644 --- a/cibuildwheel/resources/constraints-python37.txt +++ b/cibuildwheel/resources/constraints-python37.txt @@ -17,4 +17,4 @@ zipp==3.4.0 # via importlib-metadata # The following packages are considered to be unsafe in a requirements file: pip==20.3.3 # via -r cibuildwheel/resources/constraints.in -setuptools==51.0.0 # via -r cibuildwheel/resources/constraints.in +setuptools==51.1.0 # via -r cibuildwheel/resources/constraints.in diff --git a/cibuildwheel/resources/constraints-python38.txt b/cibuildwheel/resources/constraints-python38.txt index e5e08eb8..40bcd207 100644 --- a/cibuildwheel/resources/constraints-python38.txt +++ b/cibuildwheel/resources/constraints-python38.txt @@ -14,4 +14,4 @@ wheel==0.36.2 # via -r cibuildwheel/resources/constraints.in, deloca # The following packages are considered to be unsafe in a requirements file: pip==20.3.3 # via -r cibuildwheel/resources/constraints.in -setuptools==51.0.0 # via -r cibuildwheel/resources/constraints.in +setuptools==51.1.0 # via -r cibuildwheel/resources/constraints.in diff --git a/cibuildwheel/resources/constraints-python39.txt b/cibuildwheel/resources/constraints-python39.txt index e5e08eb8..40bcd207 100644 --- a/cibuildwheel/resources/constraints-python39.txt +++ b/cibuildwheel/resources/constraints-python39.txt @@ -14,4 +14,4 @@ wheel==0.36.2 # via -r cibuildwheel/resources/constraints.in, deloca # The following packages are considered to be unsafe in a requirements file: pip==20.3.3 # via -r cibuildwheel/resources/constraints.in -setuptools==51.0.0 # via -r cibuildwheel/resources/constraints.in +setuptools==51.1.0 # via -r cibuildwheel/resources/constraints.in diff --git a/cibuildwheel/resources/constraints.txt b/cibuildwheel/resources/constraints.txt index e5e08eb8..40bcd207 100644 --- a/cibuildwheel/resources/constraints.txt +++ b/cibuildwheel/resources/constraints.txt @@ -14,4 +14,4 @@ wheel==0.36.2 # via -r cibuildwheel/resources/constraints.in, deloca # The following packages are considered to be unsafe in a requirements file: pip==20.3.3 # via -r cibuildwheel/resources/constraints.in -setuptools==51.0.0 # via -r cibuildwheel/resources/constraints.in +setuptools==51.1.0 # via -r cibuildwheel/resources/constraints.in diff --git a/cibuildwheel/windows.py b/cibuildwheel/windows.py index eb809ea2..11dbdcec 100644 --- a/cibuildwheel/windows.py +++ b/cibuildwheel/windows.py @@ -58,8 +58,8 @@ def get_python_configurations(build_selector: BuildSelector) -> List[PythonConfi PythonConfiguration(version='3.6.8', arch='64', identifier='cp36-win_amd64', url=None), PythonConfiguration(version='3.7.9', arch='32', identifier='cp37-win32', url=None), PythonConfiguration(version='3.7.9', arch='64', identifier='cp37-win_amd64', url=None), - PythonConfiguration(version='3.8.6', arch='32', identifier='cp38-win32', url=None), - PythonConfiguration(version='3.8.6', arch='64', identifier='cp38-win_amd64', url=None), + PythonConfiguration(version='3.8.7', arch='32', identifier='cp38-win32', url=None), + PythonConfiguration(version='3.8.7', arch='64', identifier='cp38-win_amd64', url=None), PythonConfiguration(version='3.9.1', arch='32', identifier='cp39-win32', url=None), PythonConfiguration(version='3.9.1', arch='64', identifier='cp39-win_amd64', url=None), # PyPy