Skip to content

Commit 9fbe818

Browse files
henryiiimayeut
andauthored
chore: Python 3.9.0 final, Python 3.7 constraints (#440)
* chore: update to 3.9.0 final * chore: add python 3.7 constraints * chore: missed one image due to travis-ci fail Co-authored-by: Matthieu Darbois <[email protected]> Co-authored-by: Matthieu Darbois <[email protected]>
1 parent 015f382 commit 9fbe818

11 files changed

+94
-35
lines changed

bin/update_dependencies.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
'--upgrade',
2020
'cibuildwheel/resources/constraints.in',
2121
])
22-
for python_version in ['27', '35', '36']:
22+
for python_version in ['27', '35', '36', '37']:
2323
subprocess.check_call([
2424
f'./env{python_version}/bin/pip-compile',
2525
'--allow-unsafe',

cibuildwheel/macos.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ def get_python_configurations(build_selector: BuildSelector) -> List[PythonConfi
3838
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'),
3939
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'),
4040
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'),
41-
PythonConfiguration(version='3.9', identifier='cp39-macosx_x86_64', url='https://www.python.org/ftp/python/3.9.0/python-3.9.0rc1-macosx10.9.pkg'),
41+
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'),
4242
# PyPy
4343
PythonConfiguration(version='2.7', identifier='pp27-macosx_x86_64', url='https://downloads.python.org/pypy/pypy2.7-v7.3.2-osx64.tar.bz2'),
4444
PythonConfiguration(version='3.6', identifier='pp36-macosx_x86_64', url='https://downloads.python.org/pypy/pypy3.6-v7.3.2-osx64.tar.bz2'),

cibuildwheel/resources/constraints-python27.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,17 +10,17 @@ contextlib2==0.6.0.post1 # via importlib-metadata, importlib-resources
1010
delocate==0.8.2 # via -r cibuildwheel/resources/constraints.in
1111
distlib==0.3.1 # via virtualenv
1212
filelock==3.0.12 # via virtualenv
13-
importlib-metadata==1.7.0 # via virtualenv
13+
importlib-metadata==2.0.0 # via virtualenv
1414
importlib-resources==3.0.0 # via virtualenv
1515
pathlib2==2.3.5 # via importlib-metadata, importlib-resources, virtualenv
1616
scandir==1.10.0 # via pathlib2
1717
singledispatch==3.4.0.3 # via importlib-resources
1818
six==1.15.0 # via pathlib2, virtualenv
1919
typing==3.7.4.3 # via importlib-resources
20-
virtualenv==20.0.31 # via -r cibuildwheel/resources/constraints.in
20+
virtualenv==20.0.33 # via -r cibuildwheel/resources/constraints.in
2121
wheel==0.35.1 # via -r cibuildwheel/resources/constraints.in, delocate
2222
zipp==1.2.0 # via importlib-metadata, importlib-resources
2323

2424
# The following packages are considered to be unsafe in a requirements file:
25-
pip==20.2.2 # via -r cibuildwheel/resources/constraints.in
25+
pip==20.2.3 # via -r cibuildwheel/resources/constraints.in
2626
setuptools==44.1.1 # via -r cibuildwheel/resources/constraints.in

cibuildwheel/resources/constraints-python35.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,13 @@ appdirs==1.4.4 # via virtualenv
88
delocate==0.8.2 # via -r cibuildwheel/resources/constraints.in
99
distlib==0.3.1 # via virtualenv
1010
filelock==3.0.12 # via virtualenv
11-
importlib-metadata==1.7.0 # via virtualenv
11+
importlib-metadata==2.0.0 # via virtualenv
1212
importlib-resources==3.0.0 # via virtualenv
1313
six==1.15.0 # via virtualenv
14-
virtualenv==20.0.31 # via -r cibuildwheel/resources/constraints.in
14+
virtualenv==20.0.33 # via -r cibuildwheel/resources/constraints.in
1515
wheel==0.35.1 # via -r cibuildwheel/resources/constraints.in, delocate
1616
zipp==1.2.0 # via importlib-metadata, importlib-resources
1717

1818
# The following packages are considered to be unsafe in a requirements file:
19-
pip==20.2.2 # via -r cibuildwheel/resources/constraints.in
19+
pip==20.2.3 # via -r cibuildwheel/resources/constraints.in
2020
setuptools==50.3.0 # via -r cibuildwheel/resources/constraints.in

cibuildwheel/resources/constraints-python36.txt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,13 @@ appdirs==1.4.4 # via virtualenv
88
delocate==0.8.2 # via -r cibuildwheel/resources/constraints.in
99
distlib==0.3.1 # via virtualenv
1010
filelock==3.0.12 # via virtualenv
11-
importlib-metadata==1.7.0 # via virtualenv
11+
importlib-metadata==2.0.0 # via virtualenv
1212
importlib-resources==3.0.0 # via virtualenv
1313
six==1.15.0 # via virtualenv
14-
virtualenv==20.0.31 # via -r cibuildwheel/resources/constraints.in
14+
virtualenv==20.0.33 # via -r cibuildwheel/resources/constraints.in
1515
wheel==0.35.1 # via -r cibuildwheel/resources/constraints.in, delocate
16-
zipp==3.1.0 # via importlib-metadata, importlib-resources
16+
zipp==3.3.0 # via importlib-metadata, importlib-resources
1717

1818
# The following packages are considered to be unsafe in a requirements file:
19-
pip==20.2.2 # via -r cibuildwheel/resources/constraints.in
19+
pip==20.2.3 # via -r cibuildwheel/resources/constraints.in
2020
setuptools==50.3.0 # via -r cibuildwheel/resources/constraints.in
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
#
2+
# This file is autogenerated by pip-compile
3+
# To update, run:
4+
#
5+
# bin/update_constraints.py
6+
#
7+
appdirs==1.4.4 # via virtualenv
8+
delocate==0.8.2 # via -r cibuildwheel/resources/constraints.in
9+
distlib==0.3.1 # via virtualenv
10+
filelock==3.0.12 # via virtualenv
11+
importlib-metadata==2.0.0 # via virtualenv
12+
six==1.15.0 # via virtualenv
13+
virtualenv==20.0.33 # via -r cibuildwheel/resources/constraints.in
14+
wheel==0.35.1 # via -r cibuildwheel/resources/constraints.in, delocate
15+
zipp==3.3.0 # via importlib-metadata
16+
17+
# The following packages are considered to be unsafe in a requirements file:
18+
pip==20.2.3 # via -r cibuildwheel/resources/constraints.in
19+
setuptools==50.3.0 # via -r cibuildwheel/resources/constraints.in

cibuildwheel/resources/constraints.txt

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,10 @@ appdirs==1.4.4 # via virtualenv
88
delocate==0.8.2 # via -r cibuildwheel/resources/constraints.in
99
distlib==0.3.1 # via virtualenv
1010
filelock==3.0.12 # via virtualenv
11-
importlib-metadata==1.7.0 # via virtualenv
1211
six==1.15.0 # via virtualenv
13-
virtualenv==20.0.31 # via -r cibuildwheel/resources/constraints.in
12+
virtualenv==20.0.33 # via -r cibuildwheel/resources/constraints.in
1413
wheel==0.35.1 # via -r cibuildwheel/resources/constraints.in, delocate
15-
zipp==3.1.0 # via importlib-metadata
1614

1715
# The following packages are considered to be unsafe in a requirements file:
18-
pip==20.2.2 # via -r cibuildwheel/resources/constraints.in
16+
pip==20.2.3 # via -r cibuildwheel/resources/constraints.in
1917
setuptools==50.3.0 # via -r cibuildwheel/resources/constraints.in
Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,21 @@
11
[x86_64]
2-
manylinux1 = quay.io/pypa/manylinux1_x86_64:2020-09-26-9f151ab
3-
manylinux2010 = quay.io/pypa/manylinux2010_x86_64:2020-09-26-58cbbcd
4-
manylinux2014 = quay.io/pypa/manylinux2014_x86_64:2020-09-26-7f7a14f
2+
manylinux1 = quay.io/pypa/manylinux1_x86_64:2020-10-06-c4a4a7c
3+
manylinux2010 = quay.io/pypa/manylinux2010_x86_64:2020-10-06-786a931
4+
manylinux2014 = quay.io/pypa/manylinux2014_x86_64:2020-10-06-b2ca7a1
55

66
[i686]
7-
manylinux1 = quay.io/pypa/manylinux1_i686:2020-09-26-9f151ab
8-
manylinux2010 = quay.io/pypa/manylinux2010_i686:2020-09-26-58cbbcd
9-
manylinux2014 = quay.io/pypa/manylinux2014_i686:2020-09-26-7f7a14f
7+
manylinux1 = quay.io/pypa/manylinux1_i686:2020-10-06-c4a4a7c
8+
manylinux2010 = quay.io/pypa/manylinux2010_i686:2020-10-06-786a931
9+
manylinux2014 = quay.io/pypa/manylinux2014_i686:2020-10-06-b2ca7a1
1010

1111
[pypy_x86_64]
1212
manylinux2010 = pypywheels/manylinux2010-pypy_x86_64:2020-09-26-8f210b5
1313

1414
[aarch64]
15-
manylinux2014 = quay.io/pypa/manylinux2014_aarch64:2020-09-26-7f7a14f
15+
manylinux2014 = quay.io/pypa/manylinux2014_aarch64:2020-10-06-b2ca7a1
1616

1717
[ppc64le]
18-
manylinux2014 = quay.io/pypa/manylinux2014_ppc64le:2020-09-26-7f7a14f
18+
manylinux2014 = quay.io/pypa/manylinux2014_ppc64le:2020-10-06-b2ca7a1
1919

2020
[s390x]
21-
manylinux2014 = quay.io/pypa/manylinux2014_s390x:2020-09-26-7f7a14f
22-
21+
manylinux2014 = quay.io/pypa/manylinux2014_s390x:2020-10-06-b2ca7a1

cibuildwheel/windows.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,8 +58,8 @@ def get_python_configurations(build_selector: BuildSelector) -> List[PythonConfi
5858
PythonConfiguration(version='3.7.8', arch='64', identifier='cp37-win_amd64', url=None),
5959
PythonConfiguration(version='3.8.4', arch='32', identifier='cp38-win32', url=None),
6060
PythonConfiguration(version='3.8.4', arch='64', identifier='cp38-win_amd64', url=None),
61-
PythonConfiguration(version='3.9.0-rc1', arch='32', identifier='cp39-win32', url=None),
62-
PythonConfiguration(version='3.9.0-rc1', arch='64', identifier='cp39-win_amd64', url=None),
61+
PythonConfiguration(version='3.9.0', arch='32', identifier='cp39-win32', url=None),
62+
PythonConfiguration(version='3.9.0', arch='64', identifier='cp39-win_amd64', url=None),
6363
# PyPy
6464
PythonConfiguration(version='2.7', arch='32', identifier='pp27-win32', url='https://downloads.python.org/pypy/pypy2.7-v7.3.2-win32.zip'),
6565
PythonConfiguration(version='3.6', arch='32', identifier='pp36-win32', url='https://downloads.python.org/pypy/pypy3.6-v7.3.2-win32.zip'),

docs/contributing.md

Lines changed: 47 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -38,29 +38,69 @@ cibuildwheel's _minimal_ example configs can be tested on a simple project on ci
3838

3939
To test minimal configs, make sure you have a clean git repo, then run the script:
4040

41-
bin/run_example_ci_configs.py
41+
```bash
42+
bin/run_example_ci_configs.py
43+
```
4244

4345
The script will create an isolated 'orphan' commit containing all the minimal config CI files, and a simple C extension project, and push that to a branch on the `origin` repo. The project's CI is already set up to run on branch push, so will begin testing.
4446

4547
The script then outputs a Markdown table that can be copy/pasted into a PR to monitor and record the test.
4648

49+
## Preparing environments
50+
51+
The dependency update script in the next section requires multiple python versions installed. One way to do this is to use `pyenv`:
52+
53+
```bash
54+
pyenv install 2.7.18
55+
pyenv install 3.5.9
56+
pyenv install 3.6.11
57+
pyenv install 3.7.8
58+
# Optionally add 3.8 and make it the local version;
59+
# otherwise assuming 3.8+ already is your current python version
60+
```
61+
62+
Then, you need to make the required virtual environments:
63+
64+
```bash
65+
$(pyenv prefix 2.7.18)/bin/python -m pip install virtualenv
66+
$(pyenv prefix 2.7.18)/bin/python -m virtualenv env27
67+
$(pyenv prefix 3.5.9)/bin/python -m venv env35
68+
$(pyenv prefix 3.6.11)/bin/python -m venv env36
69+
$(pyenv prefix 3.7.8)/bin/python -m venv env37
70+
```
71+
72+
<!-- Note for fish users: use zsh/bash for these lines for now, there's not a nice one-line fish replacement -->
73+
74+
And, you need to install the requirements into each environment:
75+
76+
```bash
77+
for f in env*/bin/pip; do $f install pip-tools; done
78+
```
79+
80+
4781
## Making a release
4882

4983
Before making a release, ensure pinned dependencies are up-to-date. Run the script:
5084

51-
bin/make_dependency_update_pr.py
85+
```bash
86+
bin/make_dependency_update_pr.py
87+
```
5288

5389
If updates are needed, this will push a PR with those updates for the CI to test. Once green, merge this PR.
5490

5591
Then, increment the project version number using:
5692

57-
bin/bump_version.py
93+
```bash
94+
bin/bump_version.py
95+
```
5896

5997
You'll be prompted to enter the new version number. Update the changelog when prompted. The script will create a 'bump version' commit and version tag.
6098

6199
Finally, cut the release and upload to PyPI/Github.
62100

63-
rm -rf dist
64-
python setup.py sdist bdist_wheel
65-
twine upload dist/*
66-
git push && git push --tags
101+
```bash
102+
rm -rf dist
103+
python setup.py sdist bdist_wheel
104+
twine upload dist/*
105+
git push && git push --tags
106+
```

0 commit comments

Comments
 (0)