35
35
mkdir -p dist/
36
36
echo "${VERSION}" > dist/VERSION
37
37
38
- - uses : actions/upload-artifact@v1
38
+ - uses : actions/upload-artifact@v2
39
39
with :
40
40
name : dist
41
41
path : dist/
@@ -50,80 +50,61 @@ jobs:
50
50
fetch-depth : 50
51
51
submodules : true
52
52
53
- - name : Set up Python 3.7
54
- uses : actions/setup-python@v2
55
- with :
56
- python-version : 3.7
53
+ - uses : actions/setup-python@v2
57
54
58
55
- name : Build source distribution
59
56
run : |
60
- pip install -U setuptools wheel pip
57
+ python -m pip install -U setuptools wheel pip
61
58
python setup.py sdist
62
59
63
- - uses : actions/upload-artifact@v1
60
+ - uses : actions/upload-artifact@v2
64
61
with :
65
62
name : dist
66
- path : dist/
63
+ path : dist/*.tar.*
67
64
68
65
build-wheels :
69
66
needs : validate-release-request
70
67
runs-on : ${{ matrix.os }}
71
68
strategy :
72
69
matrix :
73
- python-version : [3.5, 3.6, 3.7, 3.8, 3.9]
74
- os : [ubuntu-16.04, macos-latest, windows-latest]
75
- exclude :
76
- # Python 3.5 is unable to properly
77
- # find the recent VS tooling
78
- # https://bugs.python.org/issue30389
79
- - os : windows-latest
80
- python-version : 3.5
70
+ os : [ubuntu-latest, macos-latest, windows-latest]
71
+ cibw_arch : [auto]
72
+ include :
73
+ - os : ubuntu-latest
74
+ cibw_arch : aarch64
75
+ - os : macos-latest
76
+ cibw_arch : universal2
81
77
82
78
steps :
83
79
- uses : actions/checkout@v2
84
80
with :
85
81
fetch-depth : 50
86
82
submodules : true
87
83
88
- - name : Set up Python ${{ matrix.python-version }}
89
- uses : actions/setup-python@v2
84
+ - name : Set up QEMU
85
+ if : matrix.os == 'ubuntu-latest' && matrix.cibw_arch == 'aarch64'
86
+ uses : docker/setup-qemu-action@v1
90
87
with :
91
- python-version : ${{ matrix.python-version }}
92
-
93
- - name : Install Python Deps
94
- run : |
95
- python -m pip install --upgrade setuptools pip wheel
88
+ platforms : arm64
96
89
97
- - name : Test
98
- run : |
99
- make debug && make test
100
-
101
- - name : Build Wheels (linux)
102
- if : startsWith(matrix.os, 'ubuntu')
103
- uses : docker://quay.io/pypa/manylinux1_x86_64
90
+
104
91
env :
105
- PYTHON_VERSION : ${{ matrix.python-version }}
106
- with :
107
- entrypoint : /github/workspace/.github/workflows/build-manylinux-wheels.sh
108
-
109
- - name : Build Wheels (non-linux)
110
- if : " !startsWith(matrix.os, 'ubuntu')"
111
- run : |
112
- make clean
113
- python setup.py bdist_wheel
114
-
115
- - name : Test Wheels
116
- shell : bash
117
- if : |
118
- !contains(github.event.pull_request.labels.*.name, 'skip wheel tests')
119
- run : |
120
- pip install --pre immutables -f "file:///${GITHUB_WORKSPACE}/dist"
121
- make -C "${GITHUB_WORKSPACE}" testinstalled
122
-
123
- - uses : actions/upload-artifact@v1
92
+ CIBW_BUILD_VERBOSITY : 1
93
+ CIBW_BUILD : " cp36-* cp37-* cp38-* cp39-*"
94
+ CIBW_ARCHS : ${{ matrix.cibw_arch }}
95
+ CIBW_MANYLINUX_X86_64_IMAGE : quay.io/pypa/manylinux1_x86_64
96
+ CIBW_MANYLINUX_I686_IMAGE : quay.io/pypa/manylinux1_i686
97
+ CIBW_SKIP : " pp*"
98
+ CIBW_TEST_EXTRAS : " test"
99
+ CIBW_TEST_COMMAND : " cd .. && python {project}/tests/__init__.py"
100
+ CIBW_TEST_COMMAND_WINDOWS : " cd .. && python {project}\\ tests\\ __init__.py"
101
+ CIBW_TEST_SKIP : " *universal2:arm64"
102
+ CIBW_ENVIRONMENT : " IMMU_SKIP_MYPY_TESTS=1"
103
+
104
+ - uses : actions/upload-artifact@v2
124
105
with :
125
106
name : dist
126
- path : dist/
107
+ path : wheelhouse/*.whl
127
108
128
109
publish :
129
110
needs : [build-sdist, build-wheels]
@@ -135,7 +116,7 @@ jobs:
135
116
fetch-depth : 5
136
117
submodules : false
137
118
138
- - uses : actions/download-artifact@v1
119
+ - uses : actions/download-artifact@v2
139
120
with :
140
121
name : dist
141
122
path : dist/
0 commit comments