18
18
jobs :
19
19
build_linux :
20
20
runs-on : ubuntu-latest
21
+
21
22
strategy :
22
23
matrix :
23
24
python : ["3.9", "3.10", "3.11", "3.12"]
25
+
24
26
steps :
25
27
- name : Cancel Previous Runs
26
28
34
36
- name : Set pkgs_dirs
35
37
run : |
36
38
echo "pkgs_dirs: [~/.conda/pkgs]" >> ~/.condarc
39
+
37
40
- name : Cache conda packages
38
41
uses : actions/cache@v4
39
42
env :
48
51
49
52
- name : Add conda to system path
50
53
run : echo $CONDA/bin >> $GITHUB_PATH
54
+
51
55
- name : Install conda-build
52
56
run : conda install conda-build
57
+
53
58
- name : Build conda package
54
59
run : |
55
60
CHANNELS="-c conda-forge -c https://software.repos.intel.com/python/conda --override-channels"
61
66
$VERSIONS \
62
67
$CHANNELS \
63
68
conda-recipe
69
+
64
70
- name : Upload artifact
65
71
66
72
with :
75
81
python : ['3.9', '3.10', '3.11', '3.12']
76
82
env :
77
83
conda-bld : C:\Miniconda\conda-bld\win-64\
84
+
78
85
steps :
79
86
- name : Cancel Previous Runs
80
87
86
93
fetch-depth : 0
87
94
- uses : conda-incubator/setup-miniconda@v3
88
95
with :
96
+ conda-remove-defaults : true
89
97
auto-activate-base : true
90
98
activate-environment : " "
91
99
@@ -100,10 +108,13 @@ jobs:
100
108
restore-keys : |
101
109
${{ runner.os }}-conda-${{ env.CACHE_NUMBER }}-python-${{ matrix.python }}-
102
110
${{ runner.os }}-conda-${{ env.CACHE_NUMBER }}-
111
+
103
112
- name : Install conda-build
104
113
run : conda install conda-build
114
+
105
115
- name : Build conda package
106
116
run : conda build --no-test --python ${{ matrix.python }} -c https://software.repos.intel.com/python/conda -c conda-forge --override-channels conda-recipe
117
+
107
118
- name : Upload artifact
108
119
109
120
with :
@@ -128,10 +139,13 @@ jobs:
128
139
uses : actions/download-artifact@v4
129
140
with :
130
141
name : ${{ env.PACKAGE_NAME }} ${{ runner.os }} Python ${{ matrix.python }}
142
+
131
143
- name : Add conda to system path
132
144
run : echo $CONDA/bin >> $GITHUB_PATH
145
+
133
146
- name : Install conda-build
134
147
run : conda install conda-build
148
+
135
149
- name : Create conda channel
136
150
run : |
137
151
mkdir -p $GITHUB_WORKSPACE/channel/linux-64
@@ -141,16 +155,19 @@ jobs:
141
155
# Test channel
142
156
conda search $PACKAGE_NAME -c $GITHUB_WORKSPACE/channel --override-channels --info --json > $GITHUB_WORKSPACE/ver.json
143
157
cat ver.json
158
+
144
159
- name : Collect dependencies
145
160
run : |
146
161
. $CONDA/etc/profile.d/conda.sh
147
162
CHANNELS="-c $GITHUB_WORKSPACE/channel ${{ env.CHANNELS }}"
148
163
export PACKAGE_VERSION=$(python -c "${VER_SCRIPT1} ${VER_SCRIPT2}")
149
164
conda create -n ${{ env.TEST_ENV_NAME }} $PACKAGE_NAME=${PACKAGE_VERSION} python=${{ matrix.python }} $CHANNELS --only-deps --dry-run > lockfile
150
165
cat lockfile
166
+
151
167
- name : Set pkgs_dirs
152
168
run : |
153
169
echo "pkgs_dirs: [~/.conda/pkgs]" >> ~/.condarc
170
+
154
171
- name : Cache conda packages
155
172
uses : actions/cache@v4
156
173
env :
@@ -171,6 +188,7 @@ jobs:
171
188
conda create -n ${{ env.TEST_ENV_NAME }} $PACKAGE_NAME=${PACKAGE_VERSION} pytest python=${{ matrix.python }} $CHANNELS
172
189
# Test installed packages
173
190
conda list
191
+
174
192
- name : Run tests
175
193
run : |
176
194
. $CONDA/etc/profile.d/conda.sh
@@ -197,11 +215,13 @@ jobs:
197
215
name : ${{ env.PACKAGE_NAME }} ${{ runner.os }} Python ${{ matrix.python }}
198
216
- uses : conda-incubator/setup-miniconda@v3
199
217
with :
218
+ conda-remove-defaults : true
200
219
auto-activate-base : true
201
220
activate-environment : " "
221
+
202
222
- name : Install conda-build
203
- # Needed to be able to run conda index
204
223
run : conda install conda-build
224
+
205
225
- name : Create conda channel
206
226
run : |
207
227
mkdir ${{ env.GITHUB_WORKSPACE }}\channel\win-64
@@ -210,6 +230,7 @@ jobs:
210
230
# Test channel
211
231
conda search ${{ env.PACKAGE_NAME }} -c ${{ env.GITHUB_WORKSPACE }}/channel --override-channels --info --json > ${{ env.GITHUB_WORKSPACE }}\ver.json
212
232
more ${{ env.GITHUB_WORKSPACE }}\ver.json
233
+
213
234
- name : Collect dependencies
214
235
shell : cmd
215
236
run : |
@@ -221,6 +242,7 @@ jobs:
221
242
)
222
243
conda create -n ${{ env.TEST_ENV_NAME }} ${{ env.PACKAGE_NAME }}=%PACKAGE_VERSION% python=${{ matrix.python }} -c ${{ env.GITHUB_WORKSPACE }}/channel ${{ env.CHANNELS }} --only-deps --dry-run > lockfile
223
244
more lockfile
245
+
224
246
- name : Cache conda packages
225
247
uses : actions/cache@v4
226
248
env :
@@ -232,6 +254,7 @@ jobs:
232
254
restore-keys : |
233
255
${{ runner.os }}-conda-${{ env.CACHE_NUMBER }}-python-${{ matrix.python }}-
234
256
${{ runner.os }}-conda-${{ env.CACHE_NUMBER }}-
257
+
235
258
# add intel-openmp as an explicit dependency
236
259
# to avoid it being missed when package version is specified exactly
237
260
- name : Install mkl-service
@@ -247,6 +270,7 @@ jobs:
247
270
conda create -n ${{ env.TEST_ENV_NAME }} ${{ env.PACKAGE_NAME }}=%PACKAGE_VERSION% %WORKAROUND_DEPENDENCIES% pytest python=${{ matrix.python }} -c ${{ env.GITHUB_WORKSPACE }}/channel ${{ env.CHANNELS }}
248
271
# Test installed packages
249
272
conda list
273
+
250
274
- name : Run tests
251
275
run : |
252
276
conda activate -n ${{ env.TEST_ENV_NAME }}
0 commit comments