@@ -34,36 +34,42 @@ jobs:
34
34
name : Build
35
35
runs-on : ${{ matrix.os }}
36
36
strategy :
37
+ fail-fast : false
37
38
matrix :
38
39
include :
40
+ - { os: ubuntu-latest, python: '3.12', arch: x64, conda: true}
39
41
- { os: ubuntu-latest, python: '3.11', arch: x64, conda: true}
40
42
- { os: ubuntu-latest, python: '3.10', arch: x64, conda: true }
41
43
- { os: ubuntu-latest, python: '3.9', arch: x64, conda: true }
42
44
- { os: ubuntu-latest, python: '3.8', arch: x64, conda: true }
43
- - { os: ubuntu-latest, python: '3.7', arch: x64, conda: true }
44
45
45
- - { os: macos-11 , python: '3.11 ', arch: x64, conda: true }
46
- - { os: macos-11 , python: '3.10 ', arch: x64, conda: true }
47
- - { os: macos-11 , python: '3.9 ', arch: x64, conda: true }
48
- - { os: macos-11 , python: '3.8 ', arch: x64, conda: true }
49
- - { os: macos-11 , python: '3.7 ', arch: x64, conda: true }
46
+ - { os: macos-13 , python: '3.12 ', arch: x64, conda: true }
47
+ - { os: macos-13 , python: '3.11 ', arch: x64, conda: true }
48
+ - { os: macos-13 , python: '3.10 ', arch: x64, conda: true }
49
+ - { os: macos-13 , python: '3.9 ', arch: x64, conda: true }
50
+ - { os: macos-13 , python: '3.8 ', arch: x64, conda: true }
50
51
52
+ - { os: macos-latest, python: '3.12', arch: arm64, conda: true }
53
+ - { os: macos-latest, python: '3.11', arch: arm64, conda: true }
54
+ - { os: macos-latest, python: '3.10', arch: arm64, conda: true }
55
+ - { os: macos-latest, python: '3.9', arch: arm64, conda: true }
56
+
57
+ - { os: windows-latest, python: '3.12', arch: x64, conda: true }
51
58
- { os: windows-latest, python: '3.11', arch: x64, conda: true }
52
59
- { os: windows-latest, python: '3.10', arch: x64, conda: true }
53
60
- { os: windows-latest, python: '3.9', arch: x64, conda: true }
54
61
- { os: windows-latest, python: '3.8', arch: x64, conda: true }
55
- - { os: windows-latest, python: '3.7', arch: x64, conda: true }
56
62
63
+ - { os: windows-latest, python: '3.12', arch: x86, conda: false } # conda not yet available
57
64
- { os: windows-latest, python: '3.11', arch: x86, conda: false } # conda not yet available
58
65
- { os: windows-latest, python: '3.10', arch: x86, conda: true }
59
66
- { os: windows-latest, python: '3.9', arch: x86, conda: true }
60
67
- { os: windows-latest, python: '3.8', arch: x86, conda: true }
61
- - { os: windows-latest, python: '3.7', arch: x86, conda: true }
62
68
63
69
if : github.repository == 'labscript-suite/labscript-c-extensions' && (github.event_name != 'create' || github.event.ref_type != 'branch')
64
70
steps :
65
71
- name : Checkout
66
- uses : actions/checkout@v3
72
+ uses : actions/checkout@v4
67
73
with :
68
74
fetch-depth : 0
69
75
72
78
run : git tag -d $(git tag --points-at HEAD)
73
79
74
80
- name : Install Python
75
- uses : actions/setup-python@v4
81
+ uses : actions/setup-python@v5
76
82
with :
77
83
python-version : ${{ matrix.python }}
78
84
architecture : ${{ matrix.arch }}
92
98
93
99
- name : Upload Artifact
94
100
if : strategy.job-index == 0 || (env.PURE == 'false' && runner.os != 'Linux')
95
- uses : actions/upload-artifact@v3
101
+ uses : actions/upload-artifact@v4
96
102
with :
97
- name : dist
103
+ name : dist-${{ matrix.os }}_${{ matrix.arch }}-py${{ matrix.python}}
98
104
path : ./dist
99
105
100
106
- name : Set Variables for Conda Build
@@ -110,19 +116,13 @@ jobs:
110
116
111
117
- name : Install Miniconda
112
118
if : matrix.conda
113
- uses : conda-incubator/setup-miniconda@v2
119
+ uses : conda-incubator/setup-miniconda@v3
114
120
with :
115
121
auto-update-conda : true
116
122
python-version : ${{ matrix.python }}
117
123
architecture : ${{ matrix.arch }}
118
124
miniconda-version : " latest"
119
125
120
- - name : Workaround conda-build incompatibility with xcode 12+
121
- if : runner.os == 'macOS'
122
- uses : maxim-lobanov/setup-xcode@v1
123
- with :
124
- xcode-version : 11.7
125
-
126
126
- name : Conda package (Unix)
127
127
if : (matrix.conda && runner.os != 'Windows')
128
128
shell : bash -l {0}
@@ -139,9 +139,9 @@ jobs:
139
139
140
140
- name : Upload Artifact
141
141
if : matrix.conda
142
- uses : actions/upload-artifact@v3
142
+ uses : actions/upload-artifact@v4
143
143
with :
144
- name : conda_packages
144
+ name : conda_packages-${{ matrix.os }}_${{ matrix.arch }}-py${{ matrix.python}}
145
145
path : ./conda_packages
146
146
147
147
@@ -152,7 +152,7 @@ jobs:
152
152
steps :
153
153
- name : Checkout
154
154
if : env.PURE == 'false'
155
- uses : actions/checkout@v3
155
+ uses : actions/checkout@v4
156
156
with :
157
157
fetch-depth : 0
158
158
@@ -162,14 +162,14 @@ jobs:
162
162
163
163
- name : Build Manylinux Wheels
164
164
if : env.PURE == 'false'
165
- uses : RalfG/python-wheels-manylinux-build@v0.4.2
165
+ uses : RalfG/python-wheels-manylinux-build@v0.7.1
166
166
with :
167
167
python-versions : ' cp37-cp37m cp38-cp38 cp39-cp39 cp310-cp310 cp311-cp311'
168
168
pre-build-command : ' git config --global --add safe.directory "*"'
169
169
170
170
- name : Upload Artifact
171
171
if : env.PURE == 'false'
172
- uses : actions/upload-artifact@v3
172
+ uses : actions/upload-artifact@v4
173
173
with :
174
174
name : dist
175
175
path : dist/*manylinux*.whl
@@ -180,17 +180,19 @@ jobs:
180
180
needs : [build, manylinux]
181
181
steps :
182
182
183
- - name : Download Artifact
184
- uses : actions/download-artifact@v3
183
+ - name : Download Wheels and Source
184
+ uses : actions/download-artifact@v4
185
185
with :
186
- name : dist
186
+ pattern : dist*
187
187
path : ./dist
188
+ merge-multiple : true
188
189
189
- - name : Download Artifact
190
- uses : actions/download-artifact@v3
190
+ - name : Download Conda Packages
191
+ uses : actions/download-artifact@v4
191
192
with :
192
- name : conda_packages
193
+ pattern : conda_packages-*
193
194
path : ./conda_packages
195
+ merge-multiple : true
194
196
195
197
- name : Get Version Number
196
198
if : github.event.ref_type == 'tag'
@@ -225,7 +227,7 @@ jobs:
225
227
password : ${{ secrets.pypi }}
226
228
227
229
- name : Install Miniconda
228
- uses : conda-incubator/setup-miniconda@v2
230
+ uses : conda-incubator/setup-miniconda@v3
229
231
with :
230
232
auto-update-conda : true
231
233
0 commit comments