@@ -40,20 +40,16 @@ jobs:
40
40
runs-on : ${{ matrix.os }}
41
41
42
42
steps :
43
- - uses : actions/checkout@v3
43
+ - uses : actions/checkout@v4
44
44
45
45
- name : Set up Python ${{ matrix.python-version }}
46
46
uses : actions/setup-python@v4
47
47
with :
48
48
python-version : ${{ matrix.python-version }}
49
49
50
- - name : Install dependencies
51
- run : |
52
- python -m pip install -U pytest pytest-cov coveralls>=3.0.0 parameterized
53
-
54
50
- name : Install
55
51
run : |
56
- python -m pip install .
52
+ python -m pip install '.[dev]'
57
53
58
54
- name : Test
59
55
run : |
@@ -67,12 +63,12 @@ jobs:
67
63
pytest
68
64
69
65
- name : Coveralls
70
- if : ${{ matrix.python-version != 3.5 }} # coveralls no longer works well on 3.5
71
66
env :
72
67
GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
73
68
COVERALLS_PARALLEL : true
74
69
run : |
75
70
cd test
71
+ python -m pip install -U coveralls>=3.0.0
76
72
coveralls --service=github
77
73
78
74
finish_coveralls :
@@ -96,44 +92,41 @@ jobs:
96
92
lint :
97
93
runs-on : ubuntu-latest
98
94
steps :
99
- - uses : actions/checkout@v3
95
+ - uses : actions/checkout@v4
100
96
- name : Set up Python
101
97
uses : actions/setup-python@v4
102
98
with :
103
- python-version : " 3.10"
104
-
105
- - name : Install dependencies
106
- run : |
107
- python -m pip install -U pylint
99
+ python-version : " 3.11"
108
100
109
101
- name : Install
102
+ env :
103
+ SYSTEMRDL_SKIP_BINARY_BUILD : ~
110
104
run : |
111
- python setup.py install
105
+ python -m pip install '.[dev]'
112
106
113
107
- name : Run Lint
114
108
run : |
115
- pylint --rcfile test/pylint.rc systemrdl
109
+ pylint --rcfile test/pylint.rc src/ systemrdl
116
110
117
111
# -------------------------------------------------------------------------------
118
112
mypy :
119
113
runs-on : ubuntu-latest
120
114
steps :
121
- - uses : actions/checkout@v3
115
+ - uses : actions/checkout@v4
122
116
- name : Set up Python
123
117
uses : actions/setup-python@v4
124
118
with :
125
- python-version : " 3.10 "
119
+ python-version : " 3.11 "
126
120
127
- - name : Install dependencies
121
+ - name : Install
122
+ env :
123
+ SYSTEMRDL_SKIP_BINARY_BUILD : ~
128
124
run : |
129
- python -m pip install -U types-Markdown
130
-
131
- # Exclude version due to: https://github.com/python/mypy/issues/16770
132
- python -m pip install -U "mypy != 1.8.0"
125
+ python -m pip install '.[dev]'
133
126
134
127
- name : Type Check
135
128
run : |
136
- mypy --config-file test/mypy.ini systemrdl
129
+ mypy --config-file test/mypy.ini src/ systemrdl
137
130
138
131
# -------------------------------------------------------------------------------
139
132
build_wheels :
@@ -149,47 +142,40 @@ jobs:
149
142
os :
150
143
- windows-latest
151
144
- macos-latest
145
+ - ubuntu-latest
152
146
include :
153
147
# Only build CPython 3.x targets
154
148
- cibw_build : " cp3*"
155
- cibw_skip : " "
156
- name_suffix : " "
157
-
158
- # Parallelize Linux builds because there are many!
159
- - os : ubuntu-latest
160
- name_suffix : " manylinux_x86_64"
161
- cibw_build : " cp3*-manylinux_x86_64"
162
- cibw_skip : " "
163
- - os : ubuntu-latest
164
- name_suffix : " manylinux_i686"
165
- cibw_build : " cp3*-manylinux_i686"
166
- cibw_skip : " "
167
- - os : ubuntu-latest
168
- name_suffix : " musllinux_x86_64"
169
- cibw_build : " cp3*-musllinux_x86_64"
170
- cibw_skip : " "
171
- - os : ubuntu-latest
172
- name_suffix : " others"
173
- cibw_build : " cp3*"
174
- cibw_skip : " cp3*-{manylinux_x86_64,manylinux_i686,musllinux_x86_64}"
175
-
176
149
177
150
steps :
178
- - uses : actions/checkout@v3
151
+ - uses : actions/checkout@v4
179
152
180
153
- name : Build wheels
181
- uses : pypa/cibuildwheel@v2.16.5
154
+ uses : pypa/cibuildwheel@v2.22.0
182
155
env :
183
- CIBW_BUILD : ${{ matrix.cibw_build }}
184
- CIBW_SKIP : ${{ matrix.cibw_skip }}
156
+ # Only build CPython 3.x targets
157
+ CIBW_BUILD : " cp3* "
185
158
# Ensure full C++17 availability on macOS builds
186
159
MACOSX_DEPLOYMENT_TARGET : " 10.13"
187
160
# Signal setup.py to fail if binary build fails
188
161
SYSTEMRDL_REQUIRE_BINARY_BUILD : ~
189
162
163
+ - name : Set up Python
164
+ uses : actions/setup-python@v4
165
+ with :
166
+ python-version : " 3.11"
167
+
168
+ - name : Install dependencies
169
+ run : |
170
+ python -m pip install abi3audit
171
+
172
+ - name : ABI3 audit
173
+ run : |
174
+ abi3audit --debug --verbose --summary --strict wheelhouse/*.whl
175
+
190
176
- uses : actions/upload-artifact@v4
191
177
with :
192
- name : whl-${{ matrix.os }}${{ matrix.name_suffix }}
178
+ name : whl-${{ matrix.os }}- ${{ strategy.job-index }}
193
179
path : ./wheelhouse/*.whl
194
180
195
181
# -------------------------------------------------------------------------------
@@ -201,15 +187,19 @@ jobs:
201
187
name : Build source distribution
202
188
runs-on : ubuntu-latest
203
189
steps :
204
- - uses : actions/checkout@v3
190
+ - uses : actions/checkout@v4
205
191
206
192
- uses : actions/setup-python@v4
207
193
name : Install Python
208
194
with :
209
- python-version : " 3.10"
195
+ python-version : " 3.11"
196
+
197
+ - name : Install dependencies
198
+ run : |
199
+ python -m pip install build
210
200
211
201
- name : Build sdist
212
- run : python setup.py sdist
202
+ run : python -m build -- sdist
213
203
214
204
- uses : actions/upload-artifact@v4
215
205
name : sdist
0 commit comments