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