@@ -126,18 +126,23 @@ jobs:
126126 strategy :
127127 matrix :
128128 python : ['3.9', '3.10', '3.11', '3.12']
129- env :
130- conda-bld : C:\Miniconda\conda-bld\win-64\
131129 steps :
132130 - uses : actions/checkout@v4
133131 with :
134132 fetch-depth : 0
135133 - uses : conda-incubator/setup-miniconda@v3
136134 with :
135+ miniforge-version : latest
137136 auto-activate-base : true
138- conda-build-version : " *"
139- activate-environment : true
137+ activate-environment : build
140138 python-version : ${{ matrix.python }}
139+ channels : conda-forge,nodefaults
140+
141+ - name : Remove defaults channel
142+ run : conda config --remove channels defaults
143+
144+ - name : Install conda-build
145+ run : conda install -n base conda-build
141146
142147 - name : Cache conda packages
143148 uses : actions/cache@v4
@@ -150,13 +155,22 @@ jobs:
150155 restore-keys : |
151156 ${{ runner.os }}-conda-${{ env.CACHE_NUMBER }}-python-${{ matrix.python }}-
152157 ${{ runner.os }}-conda-${{ env.CACHE_NUMBER }}-
158+
153159 - name : Build conda package with NumPy 2.0
154- run : conda build --no-test --python ${{ matrix.python }} --numpy 2 -c conda-forge --override-channels conda-recipe-cf
160+ run : |
161+ conda activate
162+ conda build --no-test --python ${{ matrix.python }} --numpy 2 -c conda-forge --override-channels conda-recipe-cf
163+
164+ - name : Store conda paths as envs
165+ shell : bash -l {0}
166+ run : |
167+ echo "CONDA_BLD=$CONDA/conda-bld/win-64/" | tr "\\\\" '/' >> $GITHUB_ENV
168+
155169 - name : Upload artifact
156170 uses : actions/upload-artifact@v4
157171 with :
158172 name : ${{ env.PACKAGE_NAME }} ${{ runner.os }} Python ${{ matrix.python }}
159- path : ${{ env.conda-bld }}${{ env.PACKAGE_NAME }}-*.tar.bz2
173+ path : ${{ env.CONDA_BLD }}${{ env.PACKAGE_NAME }}-*.tar.bz2
160174
161175 test_windows :
162176 needs : build_windows
@@ -180,20 +194,30 @@ jobs:
180194 uses : actions/download-artifact@v4
181195 with :
182196 name : ${{ env.PACKAGE_NAME }} ${{ runner.os }} Python ${{ matrix.python_ver }}
197+
183198 - uses : conda-incubator/setup-miniconda@v3
184199 with :
185- auto-update-conda : true
186- conda-build-version : ' *'
187- miniconda-version : ' latest'
188- activate-environment : mkl_fft_test
189- python-version : ${{ matrix.python_ver }}
200+ miniforge-version : latest
201+ activate-environment : ${{ env.TEST_ENV_NAME }}
202+ python-version : ${{ matrix.python }}
203+ channels : conda-forge
204+
205+ - name : Remove defaults channel
206+ run : conda config --remove channels defaults
207+
190208 - name : Create conda channel with the artifact bit
191209 shell : cmd /C CALL {0}
192210 run : |
193211 echo ${{ env.workdir }}
212+ mkdir ${{ env.workdir }}\channel\
194213 mkdir ${{ env.workdir }}\channel\win-64
195214 move ${{ env.PACKAGE_NAME }}-*.tar.bz2 ${{ env.workdir }}\channel\win-64
196215 dir ${{ env.workdir }}\channel\win-64
216+
217+ - name : Install conda index
218+ shell : cmd /C CALL {0}
219+ run : conda install -n base conda-index
220+
197221 - name : Index the channel
198222 shell : cmd /C CALL {0}
199223 run : conda index ${{ env.workdir }}\channel
@@ -215,7 +239,7 @@ jobs:
215239 FOR /F "tokens=* USEBACKQ" %%F IN (`python -c "%SCRIPT%"`) DO (
216240 SET PACKAGE_VERSION=%%F
217241 )
218- conda install -n mkl_fft_test ${{ env.PACKAGE_NAME }}=%PACKAGE_VERSION% python=${{ matrix.python_ver }} ${{ matrix.numpy }} -c ${{ env.workdir }}/channel ${{ env.CHANNELS }} --only-deps --dry-run > lockfile
242+ 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
219243 - name : Display lockfile content
220244 shell : pwsh
221245 run : Get-Content -Path .\lockfile
@@ -242,15 +266,15 @@ jobs:
242266 SET PACKAGE_VERSION=%%F
243267 )
244268 SET "TEST_DEPENDENCIES=pytest pytest-cov"
245- conda install -n mkl_fft_test ${{ env.PACKAGE_NAME }}=%PACKAGE_VERSION% %TEST_DEPENDENCIES% python=${{ matrix.python }} ${{ matrix.numpy }} -c ${{ env.workdir }}/channel ${{ env.CHANNELS }}
269+ 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 }}
246270 - name : Report content of test environment
247271 shell : cmd /C CALL {0}
248272 run : |
249273 echo "Value of CONDA enviroment variable was: " %CONDA%
250274 echo "Value of CONDA_PREFIX enviroment variable was: " %CONDA_PREFIX%
251- conda info && conda list -n mkl_fft_test
275+ conda info && conda list -n ${{ env.TEST_ENV_NAME }}
252276 - name : Run tests
253277 shell : cmd /C CALL {0}
254278 run : >-
255- conda activate mkl_fft_test && python -m pytest -v -s --pyargs ${{ env.MODULE_NAME }}
279+ conda activate ${{ env.TEST_ENV_NAME }} && python -m pytest -v -s --pyargs ${{ env.MODULE_NAME }}
256280
0 commit comments