37
37
mkdir -p dist/
38
38
echo "${VERSION}" > dist/VERSION
39
39
40
- - uses : actions/upload-artifact@v1
40
+ - uses : actions/upload-artifact@v2
41
41
with :
42
42
name : dist
43
43
path : dist/
@@ -47,111 +47,98 @@ jobs:
47
47
runs-on : ubuntu-latest
48
48
49
49
steps :
50
- - uses : actions/checkout@v1
50
+ - uses : actions/checkout@v2
51
51
with :
52
52
fetch-depth : 50
53
53
submodules : true
54
54
55
- - name : Set up Python 3.7
56
- uses : actions/setup-python@v1
57
- with :
58
- python-version : 3.7
55
+ - name : Set up Python
56
+ uses : actions/setup-python@v2
59
57
60
58
- name : Build source distribution
61
59
run : |
62
- pip install -U setuptools wheel pip
60
+ python -m pip install -U setuptools wheel pip
63
61
python setup.py sdist
64
62
65
- - uses : actions/upload-artifact@v1
63
+ - uses : actions/upload-artifact@v2
66
64
with :
67
65
name : dist
68
- path : dist/
66
+ path : dist/*.tar.*
69
67
70
68
build-wheels :
71
69
needs : validate-release-request
72
70
runs-on : ${{ matrix.os }}
73
71
strategy :
74
72
matrix :
75
- python-version : [3.5, 3.6, 3.7, 3.8, 3.9]
76
- os : [ubuntu-20.04, macos-latest, windows-latest]
73
+ os : [ubuntu-latest, macos-latest, windows-latest]
74
+ cibw_arch : ["auto64", "aarch64", "universal2"]
75
+ cibw_python :
76
+ - " cp36-*"
77
+ - " cp37-*"
78
+ - " cp38-*"
79
+ - " cp39-*"
80
+ - " cp310-*"
77
81
exclude :
78
- # Python 3.5 is unable to properly
79
- # find the recent VS tooling
80
- # https://bugs.python.org/issue30389
82
+ - os : ubuntu-latest
83
+ cibw_arch : universal2
84
+ - os : macos-latest
85
+ cibw_arch : aarch64
86
+ - os : macos-latest
87
+ cibw_python : " cp36-*"
88
+ cibw_arch : universal2
89
+ - os : macos-latest
90
+ cibw_python : " cp37-*"
91
+ cibw_arch : universal2
92
+ - os : windows-latest
93
+ cibw_arch : universal2
81
94
- os : windows-latest
82
- python-version : 3.5
95
+ cibw_arch : aarch64
83
96
84
97
defaults :
85
98
run :
86
99
shell : bash
87
100
101
+ env :
102
+ PIP_DISABLE_PIP_VERSION_CHECK : 1
103
+
88
104
steps :
89
- - uses : actions/checkout@v1
105
+ - uses : actions/checkout@v2
90
106
with :
91
107
fetch-depth : 50
92
108
submodules : true
93
109
94
- - uses : actions/download-artifact@v1
95
- with :
96
- name : dist
97
- path : dist/
98
-
99
- - name : Extract Release Version
100
- id : relver
101
- run : |
102
- set -e
103
- echo ::set-output name=version::$(cat dist/VERSION)
104
- rm dist/*
105
-
106
- - name : Set up Python ${{ matrix.python-version }}
107
- uses : actions/setup-python@v1
108
- with :
109
- python-version : ${{ matrix.python-version }}
110
-
111
- - name : Install Python Deps
112
- run : |
113
- python -m pip install --upgrade setuptools pip wheel
114
-
115
- - name : Build Wheels (linux)
116
- if : startsWith(matrix.os, 'ubuntu')
117
- uses : docker://quay.io/pypa/manylinux1_x86_64
118
- env :
119
- PYTHON_VERSION : ${{ matrix.python-version }}
110
+ - name : Set up QEMU
111
+ if : matrix.os == 'ubuntu-latest' && matrix.cibw_arch == 'aarch64'
112
+ uses : docker/setup-qemu-action@v1
120
113
with :
121
- entrypoint : /github/workspace/.github/workflows/build-manylinux-wheels.sh
122
-
123
- - name : Build Wheels (non-linux)
124
- if : " !startsWith(matrix.os, 'ubuntu')"
125
- run : |
126
- make clean
127
- python setup.py bdist_wheel
114
+ platforms : arm64
128
115
129
- - name : Test Wheels
130
- if : |
131
- !startsWith(matrix.os, 'windows')
132
- && !contains(github.event.pull_request.labels.*.name, 'skip wheel tests')
116
+
133
117
env :
134
- OS : ${{ matrix.os }}
135
- PKG_VERSION : ${{ steps.relver.outputs.version }}
136
- run : |
137
- "${GITHUB_WORKSPACE}/.github/workflows/test-wheels.sh"
138
-
139
- - uses : actions/upload-artifact@v1
118
+ CIBW_BUILD_VERBOSITY : 1
119
+ CIBW_BUILD : ${{ matrix.cibw_python }}
120
+ CIBW_ARCHS : ${{ matrix.cibw_arch }}
121
+ CIBW_TEST_EXTRAS : " test"
122
+ CIBW_TEST_COMMAND : " python {project}/tests/__init__.py"
123
+ CIBW_TEST_COMMAND_WINDOWS : " python {project}\\ tests\\ __init__.py"
124
+ CIBW_TEST_SKIP : " *universal2:arm64"
125
+
126
+ - uses : actions/upload-artifact@v2
140
127
with :
141
128
name : dist
142
- path : dist/
129
+ path : wheelhouse/*.whl
143
130
144
131
publish :
145
132
needs : [build-sdist, build-wheels]
146
133
runs-on : ubuntu-latest
147
134
148
135
steps :
149
- - uses : actions/checkout@v1
136
+ - uses : actions/checkout@v2
150
137
with :
151
138
fetch-depth : 5
152
139
submodules : false
153
140
154
- - uses : actions/download-artifact@v1
141
+ - uses : actions/download-artifact@v2
155
142
with :
156
143
name : dist
157
144
path : dist/
@@ -181,7 +168,7 @@ jobs:
181
168
release_name : v${{ steps.relver.outputs.version }}
182
169
target : ${{ github.event.pull_request.base.ref }}
183
170
body : ${{ github.event.pull_request.body }}
184
- draft : true
171
+ draft : false
185
172
186
173
- run : |
187
174
ls -al dist/
0 commit comments