@@ -10,24 +10,26 @@ permissions: read-all
10
10
11
11
env :
12
12
PACKAGE_NAME : mkl_fft
13
- MODULE_NAME : mkl_fft
14
13
TEST_ENV_NAME : test_mkl_fft
15
14
VER_SCRIPT1 : " import json; f = open('ver.json', 'r'); j = json.load(f); f.close(); d = j['mkl_fft'][0];"
16
15
VER_SCRIPT2 : " print('='.join((d[s] for s in ('version', 'build'))))"
17
16
18
17
jobs :
19
18
build_linux :
20
19
runs-on : ubuntu-latest
20
+
21
21
strategy :
22
22
matrix :
23
23
python : ['3.9', '3.10', '3.11', '3.12']
24
+
24
25
steps :
25
26
- name : Cancel Previous Runs
26
27
uses : styfle/cancel-workflow-action@85880fa0301c86cca9da44039ee3bb12d3bedbfa # 0.12.1
27
28
with :
28
29
access_token : ${{ github.token }}
29
30
30
- - uses : actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
31
+ - name : Checkout repo
32
+ uses : actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
31
33
with :
32
34
fetch-depth : 0
33
35
58
60
CHANNELS="-c conda-forge --override-channels"
59
61
VERSIONS="--python ${{ matrix.python }} --numpy 2.0"
60
62
TEST="--no-test"
63
+ echo "CONDA_BLD=${CONDA}/conda-bld/linux-64" >> $GITHUB_ENV
61
64
62
65
conda build \
63
66
$TEST \
@@ -69,15 +72,15 @@ jobs:
69
72
uses : actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
70
73
with :
71
74
name : ${{ env.PACKAGE_NAME }} ${{ runner.os }} Python ${{ matrix.python }}
72
- path : /usr/share/miniconda/conda-bld/linux-64 /${{ env.PACKAGE_NAME }}-*.conda
75
+ path : ${{ env.CONDA_BLD }} /${{ env.PACKAGE_NAME }}-*.conda
73
76
74
77
test_linux :
75
78
needs : build_linux
76
79
runs-on : ${{ matrix.runner }}
77
80
78
81
strategy :
79
82
matrix :
80
- python_ver : ['3.9', '3.10', '3.11', '3.12']
83
+ python : ['3.9', '3.10', '3.11', '3.12']
81
84
numpy : ['numpy"<2"', 'numpy">=2"']
82
85
experimental : [false]
83
86
runner : [ubuntu-latest]
89
92
- name : Download artifact
90
93
uses : actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
91
94
with :
92
- name : ${{ env.PACKAGE_NAME }} ${{ runner.os }} Python ${{ matrix.python_ver }}
95
+ name : ${{ env.PACKAGE_NAME }} ${{ runner.os }} Python ${{ matrix.python }}
93
96
94
97
- name : Add conda to system path
95
98
run : echo $CONDA/bin >> $GITHUB_PATH
@@ -108,7 +111,7 @@ jobs:
108
111
- name : Collect dependencies
109
112
run : |
110
113
CHANNELS="-c $GITHUB_WORKSPACE/channel ${{ env.CHANNELS }}"
111
- conda create -n ${{ env.TEST_ENV_NAME }} $PACKAGE_NAME python=${{ matrix.python_ver }} ${{ matrix.numpy }} $CHANNELS --only-deps --dry-run > lockfile
114
+ conda create -n ${{ env.TEST_ENV_NAME }} $PACKAGE_NAME python=${{ matrix.python }} ${{ matrix.numpy }} $CHANNELS --only-deps --dry-run > lockfile
112
115
113
116
- name : Display lockfile
114
117
run : cat lockfile
@@ -124,37 +127,39 @@ jobs:
124
127
with :
125
128
path : ~/.conda/pkgs
126
129
key :
127
- ${{ runner.os }}-conda-${{ env.CACHE_NUMBER }}-python-${{ matrix.python_ver }}-${{hashFiles('lockfile') }}
130
+ ${{ runner.os }}-conda-${{ env.CACHE_NUMBER }}-python-${{ matrix.python }}-${{hashFiles('lockfile') }}
128
131
restore-keys : |
129
- ${{ runner.os }}-conda-${{ env.CACHE_NUMBER }}-python-${{ matrix.python_ver }}-
132
+ ${{ runner.os }}-conda-${{ env.CACHE_NUMBER }}-python-${{ matrix.python }}-
130
133
${{ runner.os }}-conda-${{ env.CACHE_NUMBER }}-
131
134
132
135
- name : Install mkl_fft
133
136
run : |
134
137
CHANNELS="-c $GITHUB_WORKSPACE/channel ${{ env.CHANNELS }}"
135
- conda create -n ${{ env.TEST_ENV_NAME }} python=${{ matrix.python_ver }} ${{ matrix.numpy }} $PACKAGE_NAME pytest scipy $CHANNELS
138
+ conda create -n ${{ env.TEST_ENV_NAME }} python=${{ matrix.python }} ${{ matrix.numpy }} $PACKAGE_NAME pytest scipy $CHANNELS
136
139
# Test installed packages
137
140
conda list -n ${{ env.TEST_ENV_NAME }}
138
141
139
142
- name : Run tests
140
143
run : |
141
144
source $CONDA/etc/profile.d/conda.sh
142
145
conda activate ${{ env.TEST_ENV_NAME }}
143
- pytest -v --pyargs $MODULE_NAME
146
+ python -m pytest -v --pyargs ${{ env.PACKAGE_NAME }}
144
147
145
148
build_windows :
146
149
runs-on : windows-2019
147
150
148
151
strategy :
149
152
matrix :
150
153
python : ['3.9', '3.10', '3.11', '3.12']
154
+
151
155
steps :
152
156
- name : Cancel Previous Runs
153
157
uses : styfle/cancel-workflow-action@85880fa0301c86cca9da44039ee3bb12d3bedbfa # 0.12.1
154
158
with :
155
159
access_token : ${{ github.token }}
156
160
157
- - uses : actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
161
+ - name : Checkout repo
162
+ uses : actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
158
163
with :
159
164
fetch-depth : 0
160
165
@@ -166,9 +171,6 @@ jobs:
166
171
channels : conda-forge
167
172
conda-remove-defaults : ' true'
168
173
169
- - name : Install conda-build
170
- run : conda install -n base conda-build
171
-
172
174
- name : Cache conda packages
173
175
uses : actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3
174
176
env :
@@ -181,6 +183,11 @@ jobs:
181
183
${{ runner.os }}-conda-${{ env.CACHE_NUMBER }}-python-${{ matrix.python }}-
182
184
${{ runner.os }}-conda-${{ env.CACHE_NUMBER }}-
183
185
186
+ - name : Install conda-build
187
+ run : |
188
+ conda activate
189
+ conda install -n base conda-build
190
+
184
191
- name : Build conda package with NumPy 2.0
185
192
run : |
186
193
conda activate
@@ -206,7 +213,7 @@ jobs:
206
213
207
214
strategy :
208
215
matrix :
209
- python_ver : ['3.9', '3.10', '3.11', '3.12']
216
+ python : ['3.9', '3.10', '3.11', '3.12']
210
217
numpy : ['numpy"<2"', 'numpy">=2"']
211
218
experimental : [false]
212
219
runner : [windows-2019]
@@ -219,7 +226,7 @@ jobs:
219
226
- name : Download artifact
220
227
uses : actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
221
228
with :
222
- name : ${{ env.PACKAGE_NAME }} ${{ runner.os }} Python ${{ matrix.python_ver }}
229
+ name : ${{ env.PACKAGE_NAME }} ${{ runner.os }} Python ${{ matrix.python }}
223
230
224
231
- uses : conda-incubator/setup-miniconda@505e6394dae86d6a5c7fbb6e3fb8938e3e863830 # v3.1.1
225
232
with :
@@ -230,24 +237,22 @@ jobs:
230
237
conda-remove-defaults : ' true'
231
238
232
239
- name : Create conda channel with the artifact bit
233
- shell : cmd /C CALL {0}
234
240
run : |
235
241
echo ${{ env.workdir }}
236
- mkdir ${{ env.workdir }}\channel\
242
+ mkdir ${{ env.workdir }}\channel
237
243
mkdir ${{ env.workdir }}\channel\win-64
238
244
move ${{ env.PACKAGE_NAME }}-*.conda ${{ env.workdir }}\channel\win-64
239
245
dir ${{ env.workdir }}\channel\win-64
240
246
241
- - name : Install conda index
242
- shell : cmd /C CALL {0}
243
- run : conda install -n base conda-index
247
+ - name : Install conda- index
248
+ run : |
249
+ conda install -n base conda-index
244
250
245
251
- name : Index the channel
246
- shell : cmd /C CALL {0}
247
- run : conda index ${{ env.workdir }}\channel
252
+ run : |
253
+ conda index ${{ env.workdir }}\channel
248
254
249
255
- name : Dump mkl_fft version info from created channel into ver.json
250
- shell : cmd /C CALL {0}
251
256
run : |
252
257
conda search ${{ env.PACKAGE_NAME }} -c ${{ env.workdir }}/channel --override-channels --info --json > ${{ env.workdir }}\ver.json
253
258
@@ -256,7 +261,6 @@ jobs:
256
261
run : Get-Content -Path ${{ env.workdir }}\ver.json
257
262
258
263
- name : Collect dependencies
259
- shell : cmd /C CALL {0}
260
264
run : |
261
265
@ECHO ON
262
266
IF NOT EXIST ver.json (
@@ -266,7 +270,7 @@ jobs:
266
270
FOR /F "tokens=* USEBACKQ" %%F IN (`python -c "%SCRIPT%"`) DO (
267
271
SET PACKAGE_VERSION=%%F
268
272
)
269
- conda install -n ${{ env.TEST_ENV_NAME }} ${{ env.PACKAGE_NAME }}=%PACKAGE_VERSION% python=${{ matrix.python_ver }} ${{ matrix.numpy }} -c ${{ env.workdir }}/channel ${{ env.CHANNELS }} --only-deps --dry-run > lockfile
273
+ conda install -n ${{ env.TEST_ENV_NAME }} ${{ env.PACKAGE_NAME }}=%PACKAGE_VERSION% python=${{ matrix.python }} ${{ matrix.numpy }} -c ${{ env.workdir }}/channel ${{ env.CHANNELS }} --only-deps --dry-run > lockfile
270
274
271
275
- name : Display lockfile content
272
276
shell : pwsh
@@ -279,13 +283,12 @@ jobs:
279
283
with :
280
284
path : /home/runner/conda_pkgs_dir
281
285
key :
282
- ${{ runner.os }}-conda-${{ env.CACHE_NUMBER }}-python-${{ matrix.python_ver }}-${{hashFiles('lockfile') }}
286
+ ${{ runner.os }}-conda-${{ env.CACHE_NUMBER }}-python-${{ matrix.python }}-${{hashFiles('lockfile') }}
283
287
restore-keys : |
284
- ${{ runner.os }}-conda-${{ env.CACHE_NUMBER }}-python-${{ matrix.python_ver }}-
288
+ ${{ runner.os }}-conda-${{ env.CACHE_NUMBER }}-python-${{ matrix.python }}-
285
289
${{ runner.os }}-conda-${{ env.CACHE_NUMBER }}-
286
290
287
291
- name : Install mkl_fft
288
- shell : cmd /C CALL {0}
289
292
run : |
290
293
@ECHO ON
291
294
IF NOT EXIST ver.json (
@@ -295,17 +298,16 @@ jobs:
295
298
FOR /F "tokens=* USEBACKQ" %%F IN (`python -c "%SCRIPT%"`) DO (
296
299
SET PACKAGE_VERSION=%%F
297
300
)
298
- SET "TEST_DEPENDENCIES=pytest pytest-cov "
299
- conda install -n ${{ env.TEST_ENV_NAME }} ${{ env.PACKAGE_NAME }}=%PACKAGE_VERSION% %TEST_DEPENDENCIES% python=${{ matrix.python }} ${{ matrix.numpy }} scipy -c ${{ env.workdir }}/channel ${{ env.CHANNELS }}
301
+ SET "TEST_DEPENDENCIES=pytest scipy "
302
+ conda install -n ${{ env.TEST_ENV_NAME }} ${{ env.PACKAGE_NAME }}=%PACKAGE_VERSION% %TEST_DEPENDENCIES% python=${{ matrix.python }} ${{ matrix.numpy }} -c ${{ env.workdir }}/channel ${{ env.CHANNELS }}
300
303
301
304
- name : Report content of test environment
302
- shell : cmd /C CALL {0}
303
305
run : |
304
306
echo "Value of CONDA environment variable was: " %CONDA%
305
307
echo "Value of CONDA_PREFIX environment variable was: " %CONDA_PREFIX%
306
308
conda info && conda list -n ${{ env.TEST_ENV_NAME }}
307
309
308
310
- name : Run tests
309
- shell : cmd /C CALL {0}
310
- run : >-
311
- conda activate ${{ env.TEST_ENV_NAME }} && python -m pytest -v -s --pyargs ${{ env.MODULE_NAME }}
311
+ run : |
312
+ conda activate ${{ env.TEST_ENV_NAME }}
313
+ python -m pytest -v -s --pyargs ${{ env.PACKAGE_NAME }}
0 commit comments