@@ -21,14 +21,17 @@ jobs:
2121 strategy :
2222 matrix :
2323 include :
24- - python : ' 3.10'
25- numpy : ' 2.2'
26- - python : ' 3.11'
27- numpy : ' 2.3'
28- - python : ' 3.12'
29- numpy : ' 2.3'
30- - python : ' 3.13'
31- numpy : ' 2.3'
24+ - python : " 3.10"
25+ numpy : " 2.2"
26+ - python : " 3.11"
27+ numpy : " 2.3"
28+ - python : " 3.12"
29+ numpy : " 2.3"
30+ - python : " 3.13"
31+ numpy : " 2.3"
32+ - python : " 3.14"
33+ numpy : " 2.3"
34+
3235 steps :
3336 - name : Cancel Previous Runs
3437 uses : styfle/cancel-workflow-action@3155a141048f8f89c06b4cdae32e7853e97536bc # 0.13.0
@@ -56,25 +59,25 @@ jobs:
5659 ${{ runner.os }}-conda-${{ env.CACHE_NUMBER }}-
5760
5861 - name : Add conda to system path
59- run : echo $CONDA/bin >> $GITHUB_PATH
62+ run : echo " $CONDA" /bin >> " $GITHUB_PATH"
6063
6164 - name : Install conda-build
6265 run : conda install conda-build
6366
6467 - name : Build conda package with NumPy 2.x
6568 run : |
66- CHANNELS=" -c conda-forge --override-channels"
67- VERSIONS=" --python ${{ matrix.python }} --numpy ${{ matrix.numpy }}"
68- TEST=" --no-test"
69+ CHANNELS=( -c conda-forge --override-channels)
70+ VERSIONS=( --python " ${{ matrix.python }}" --numpy " ${{ matrix.numpy }}")
71+ TEST=( --no-test)
6972
7073 conda build \
71- $ TEST \
72- $ VERSIONS \
73- $ CHANNELS \
74+ "${ TEST[@]}" \
75+ "${ VERSIONS[@]}" \
76+ "${ CHANNELS[@]}" \
7477 conda-recipe-cf
7578
7679 - name : Upload artifact
77- uses : actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6 .0.0
80+ uses : actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7 .0.0
7881 with :
7982 name : ${{ env.PACKAGE_NAME }} ${{ runner.os }} Python ${{ matrix.python }}
8083 path : /usr/share/miniconda/conda-bld/linux-64/${{ env.PACKAGE_NAME }}-*.conda
8588
8689 strategy :
8790 matrix :
88- python_ver : [' 3.10', ' 3.11', ' 3.12', ' 3.13' ]
91+ python_ver : [" 3.10", " 3.11", " 3.12", " 3.13", "3.14" ]
8992 numpy : ['numpy">=2"']
9093 experimental : [false]
9194 runner : [ubuntu-latest]
@@ -95,28 +98,28 @@ jobs:
9598
9699 steps :
97100 - name : Download artifact
98- uses : actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7 .0.0
101+ uses : actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3 # v8 .0.0
99102 with :
100103 name : ${{ env.PACKAGE_NAME }} ${{ runner.os }} Python ${{ matrix.python_ver }}
101104
102105 - name : Add conda to system path
103- run : echo $CONDA/bin >> $GITHUB_PATH
106+ run : echo " $CONDA" /bin >> " $GITHUB_PATH"
104107
105108 - name : Install conda-build
106109 run : conda install conda-build
107110
108111 - name : Create conda channel
109112 run : |
110- mkdir -p $GITHUB_WORKSPACE/channel/linux-64
111- mv ${ PACKAGE_NAME} -*.conda $GITHUB_WORKSPACE/channel/linux-64
112- conda index $GITHUB_WORKSPACE/channel
113+ mkdir -p " $GITHUB_WORKSPACE" /channel/linux-64
114+ mv "$ PACKAGE_NAME" -*.conda " $GITHUB_WORKSPACE" /channel/linux-64
115+ conda index " $GITHUB_WORKSPACE" /channel
113116 # Test channel
114- conda search $PACKAGE_NAME -c $GITHUB_WORKSPACE/channel --override-channels
117+ conda search " $PACKAGE_NAME" -c " $GITHUB_WORKSPACE" /channel --override-channels
115118
116119 - name : Collect dependencies
117120 run : |
118- CHANNELS=" -c $GITHUB_WORKSPACE/channel ${{ env.CHANNELS }}"
119- conda create -n ${{ env.TEST_ENV_NAME }} $PACKAGE_NAME python=${{ matrix.python_ver }} ${{ matrix.numpy }} $ CHANNELS --only-deps --dry-run > lockfile
121+ CHANNELS=( -c " $GITHUB_WORKSPACE" /channel ${{ env.CHANNELS }})
122+ conda create -n ${{ env.TEST_ENV_NAME }} " $PACKAGE_NAME" python=${{ matrix.python_ver }} ${{ matrix.numpy }} "${ CHANNELS[@]}" --only-deps --dry-run > lockfile
120123
121124 - name : Display lockfile
122125 run : cat lockfile
@@ -139,31 +142,34 @@ jobs:
139142
140143 - name : Install mkl_fft
141144 run : |
142- CHANNELS=" -c $GITHUB_WORKSPACE/channel ${{ env.CHANNELS }}"
143- conda create -n ${{ env.TEST_ENV_NAME }} python=${{ matrix.python_ver }} ${{ matrix.numpy }} $PACKAGE_NAME pytest scipy $ CHANNELS
145+ CHANNELS=( -c " $GITHUB_WORKSPACE" /channel ${{ env.CHANNELS }})
146+ conda create -n ${{ env.TEST_ENV_NAME }} python=${{ matrix.python_ver }} ${{ matrix.numpy }} " $PACKAGE_NAME" pytest scipy "${ CHANNELS[@]}"
144147 # Test installed packages
145148 conda list -n ${{ env.TEST_ENV_NAME }}
146149
147150 - name : Run tests
148151 run : |
149- source $CONDA/etc/profile.d/conda.sh
152+ source " $CONDA" /etc/profile.d/conda.sh
150153 conda activate ${{ env.TEST_ENV_NAME }}
151- pytest -v --pyargs $MODULE_NAME
154+ pytest -v --pyargs " $MODULE_NAME"
152155
153156 build_windows :
154157 runs-on : windows-latest
155158
156159 strategy :
157160 matrix :
158161 include :
159- - python : ' 3.10'
160- numpy : ' 2.2'
161- - python : ' 3.11'
162- numpy : ' 2.3'
163- - python : ' 3.12'
164- numpy : ' 2.3'
165- - python : ' 3.13'
166- numpy : ' 2.3'
162+ - python : " 3.10"
163+ numpy : " 2.2"
164+ - python : " 3.11"
165+ numpy : " 2.3"
166+ - python : " 3.12"
167+ numpy : " 2.3"
168+ - python : " 3.13"
169+ numpy : " 2.3"
170+ - python : " 3.14"
171+ numpy : " 2.3"
172+
167173 steps :
168174 - name : Cancel Previous Runs
169175 uses : styfle/cancel-workflow-action@3155a141048f8f89c06b4cdae32e7853e97536bc # 0.13.0
@@ -208,10 +214,10 @@ jobs:
208214 - name : Store conda paths as envs
209215 shell : bash -l {0}
210216 run : |
211- echo "CONDA_BLD=$CONDA/conda-bld/win-64/" | tr "\\\\" '/' >> $GITHUB_ENV
217+ echo "CONDA_BLD=$CONDA/conda-bld/win-64/" | tr "\\\\" '/' >> " $GITHUB_ENV"
212218
213219 - name : Upload artifact
214- uses : actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6 .0.0
220+ uses : actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7 .0.0
215221 with :
216222 name : ${{ env.PACKAGE_NAME }} ${{ runner.os }} Python ${{ matrix.python }}
217223 path : ${{ env.CONDA_BLD }}${{ env.PACKAGE_NAME }}-*.conda
@@ -225,7 +231,7 @@ jobs:
225231
226232 strategy :
227233 matrix :
228- python_ver : [' 3.10', ' 3.11', ' 3.12', ' 3.13' ]
234+ python_ver : [" 3.10", " 3.11", " 3.12", " 3.13", "3.14" ]
229235 numpy : ['numpy">=2"']
230236 experimental : [false]
231237 runner : [windows-latest]
@@ -236,15 +242,15 @@ jobs:
236242
237243 steps :
238244 - name : Download artifact
239- uses : actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7 .0.0
245+ uses : actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3 # v8 .0.0
240246 with :
241247 name : ${{ env.PACKAGE_NAME }} ${{ runner.os }} Python ${{ matrix.python_ver }}
242248
243249 - uses : conda-incubator/setup-miniconda@fc2d68f6413eb2d87b895e92f8584b5b94a10167 # v3.3.0
244250 with :
245251 miniforge-version : latest
246252 activate-environment : ${{ env.TEST_ENV_NAME }}
247- python-version : ${{ matrix.python }}
253+ python-version : ${{ matrix.python_ver }}
248254 channels : conda-forge
249255 conda-remove-defaults : ' true'
250256
@@ -315,7 +321,7 @@ jobs:
315321 SET PACKAGE_VERSION=%%F
316322 )
317323 SET "TEST_DEPENDENCIES=pytest scipy"
318- 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 }}
324+ conda install -n ${{ env.TEST_ENV_NAME }} ${{ env.PACKAGE_NAME }}=%PACKAGE_VERSION% %TEST_DEPENDENCIES% python=${{ matrix.python_ver }} ${{ matrix.numpy }} -c ${{ env.workdir }}/channel ${{ env.CHANNELS }}
319325
320326 - name : Report content of test environment
321327 shell : cmd /C CALL {0}
0 commit comments