Skip to content

Commit 45ff911

Browse files
Add build wheels for python 3.10 (#2916) (#2933)
cibuildwheel v1.x.x supports python versions 2.7, 3.5, 3.6, 3.7, 3.8, 3.9, x cibuildwheel v2.x.x supports python versions x, x , 3.6, 3.7, 3.8, 3.9, 3.10 This change introduces two ci build wheels: - joerick/[email protected] to run py2.7 and py3.5 - pypa/[email protected] to run py3.6-py3.10 Co-authored-by: Kyle Verhoog <[email protected]> Co-authored-by: Munir Abdinur <[email protected]>
1 parent 6e82b72 commit 45ff911

File tree

1 file changed

+52
-7
lines changed

1 file changed

+52
-7
lines changed

.github/workflows/build_deploy.yml

Lines changed: 52 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ on:
1515
- cron: 0 2 * * 2-6
1616

1717
jobs:
18-
build_wheels:
18+
build_wheels_py27_35:
1919
name: Build and test wheels on ${{ matrix.os }} (${{ matrix.archs }})
2020
runs-on: ${{ matrix.os }}
2121
strategy:
@@ -46,15 +46,63 @@ jobs:
4646
with:
4747
platforms: all
4848

49-
- name: Build wheels
49+
- name: Build wheels python 2.7 and 3.5
5050
uses: joerick/[email protected]
5151
env:
5252
# configure cibuildwheel to build native archs ('auto'), and some
5353
# emulated ones
5454
CIBW_ARCHS: ${{ matrix.archs }}
5555
# PyPY is not supported
5656
# Windows 2.7 wheels no longer can be built https://github.com/DataDog/dd-trace-py/pull/2344
57-
CIBW_SKIP: pp* cp27-win*
57+
CIBW_SKIP: cp27-win*
58+
CIBW_BUILD: cp27* cp35*
59+
# Run a smoke test on every supported platform
60+
CIBW_TEST_COMMAND: python {project}/tests/smoke_test.py
61+
# Testing arm on MacOS is currently not supported by Github
62+
CIBW_TEST_SKIP: "*-macosx_universal2:arm64"
63+
64+
- uses: actions/upload-artifact@v2
65+
with:
66+
path: ./wheelhouse/*.whl
67+
68+
build_wheels_py3:
69+
name: Build and test wheels on ${{ matrix.os }} (${{ matrix.archs }})
70+
runs-on: ${{ matrix.os }}
71+
strategy:
72+
matrix:
73+
include:
74+
- os: ubuntu-18.04
75+
archs: x86_64 i686
76+
- os: ubuntu-18.04
77+
archs: aarch64
78+
- os: windows-latest
79+
archs: AMD64 x86
80+
- os: macos-latest
81+
archs: x86_64 universal2
82+
steps:
83+
- uses: actions/checkout@v2
84+
# Include all history and tags
85+
with:
86+
fetch-depth: 0
87+
88+
- uses: actions/setup-python@v2
89+
name: Install Python
90+
with:
91+
python-version: '3.8'
92+
93+
- name: Set up QEMU
94+
if: runner.os == 'Linux'
95+
uses: docker/setup-qemu-action@v1
96+
with:
97+
platforms: all
98+
99+
- name: Build wheels python 3.6 and above
100+
uses: pypa/[email protected]
101+
env:
102+
# configure cibuildwheel to build native archs ('auto'), and some
103+
# emulated ones
104+
CIBW_ARCHS: ${{ matrix.archs }}
105+
CIBW_BUILD: cp3*
58106
# Run a smoke test on every supported platform
59107
CIBW_TEST_COMMAND: python {project}/tests/smoke_test.py
60108
# Testing arm on MacOS is currently not supported by Github
@@ -82,7 +130,6 @@ jobs:
82130
run: |
83131
pip install cython
84132
python setup.py sdist
85-
86133
- uses: actions/upload-artifact@v2
87134
with:
88135
path: dist/*.tar.gz
@@ -109,7 +156,6 @@ jobs:
109156
run: |
110157
pip install twine readme_renderer[md]
111158
twine check dist/*.tar.gz
112-
113159
- name: Install source package
114160
run: pip install dist/*.tar.gz
115161

@@ -119,7 +165,7 @@ jobs:
119165
working-directory: /
120166

121167
upload_pypi:
122-
needs: [build_wheels, test_alpine_sdist]
168+
needs: [build_wheels_py27_35, build_wheels_py3, test_alpine_sdist]
123169
runs-on: ubuntu-latest
124170
if: (github.event_name == 'release' && github.event.action == 'published') || (github.event_name == 'workflow_dispatch')
125171
steps:
@@ -137,7 +183,6 @@ jobs:
137183
if: github.event_name == 'workflow_dispatch'
138184
run: |
139185
./scripts/validate-version "${{ github.event.inputs.expectedVersion }}"
140-
141186
- uses: pypa/gh-action-pypi-publish@master
142187
with:
143188
user: __token__

0 commit comments

Comments
 (0)