4444 contains(github.event.pull_request.labels.*.name, 'Build')) ||
4545 (github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v') && ( ! endsWith(github.ref, 'dev0')))
4646 runs-on : ubuntu-24.04
47- env :
48- IS_PUSH : ${{ github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v') }}
49- IS_SCHEDULE_DISPATCH : ${{ github.event_name == 'schedule' || github.event_name == 'workflow_dispatch' }}
5047 outputs :
5148 sdist_file : ${{ steps.save-path.outputs.sdist_name }}
5249 steps :
@@ -121,9 +118,6 @@ jobs:
121118 group : ${{ github.event_name == 'push' && github.run_number || github.ref }}-${{ matrix.buildplat[0] }}-${{ matrix.buildplat[1] }}-${{ matrix.python[0]}}-build-wheels
122119 cancel-in-progress : true
123120
124- env :
125- IS_PUSH : ${{ github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v') }}
126- IS_SCHEDULE_DISPATCH : ${{ github.event_name == 'schedule' || github.event_name == 'workflow_dispatch' }}
127121 steps :
128122 - name : Checkout pandas
129123 uses : actions/checkout@v6
@@ -187,7 +181,6 @@ jobs:
187181 # yet present on conda-forge
188182 create-args : >-
189183 python=3.11
190- anaconda-client
191184 wheel
192185 cache-downloads : true
193186 cache-environment : true
@@ -197,7 +190,7 @@ jobs:
197190 if : matrix.buildplat[1] == 'win_arm64'
198191 shell : bash -el {0}
199192 # cryptography pin due to https://github.com/pyca/cryptography/pull/14216
200- run : python -m pip install wheel anaconda-client cryptography==46.0.3
193+ run : python -m pip install wheel cryptography==46.0.3
201194
202195 - name : Validate wheel RECORD
203196 shell : bash -el {0}
@@ -208,19 +201,31 @@ jobs:
208201 name : ${{ matrix.python[0] }}-${{ matrix.buildplat[1] }}
209202 path : ./wheelhouse/*.whl
210203
204+ upload_nightly :
205+ # trigger an upload to https://anaconda.org/scientific-python-nightly-wheels/pandas
206+ # for cron jobs or "Run workflow" (restricted to main branch).
207+ name : Upload nightly packages to Anaconda
208+ if : >
209+ github.repository == 'pandas-dev/pandas' &&
210+ (github.event_name == 'schedule' ||
211+ (github.event_name == 'workflow_dispatch' && github.ref == 'refs/heads/main'))
212+ needs :
213+ - build_sdist
214+ - build_wheels
215+ runs-on : ubuntu-latest
216+
217+ steps :
218+ - name : Download all artefacts
219+ uses : actions/download-artifact@v7
220+ with :
221+ path : dist
222+ merge-multiple : true
223+
211224 - name : Upload wheels & sdist
212- if : ${{ success() && (env.IS_SCHEDULE_DISPATCH == 'true' || env.IS_PUSH == 'true') }}
213- shell : bash -el {0}
214- env :
215- PANDAS_NIGHTLY_UPLOAD_TOKEN : ${{ secrets.PANDAS_NIGHTLY_UPLOAD_TOKEN }}
216- # trigger an upload to
217- # https://anaconda.org/scientific-python-nightly-wheels/pandas
218- # for cron jobs or "Run workflow" (restricted to main branch).
219- # The tokens were originally generated at anaconda.org
220- run : |
221- source ci/upload_wheels.sh
222- set_upload_vars
223- upload_wheels
225+ uses : scientific-python/upload-nightly-action@5748273c71e2d8d3a61f3a11a16421c8954f9ecf # 0.6.3
226+ with :
227+ artifacts_path : dist
228+ anaconda_nightly_upload_token : ${{secrets.PANDAS_NIGHTLY_UPLOAD_TOKEN}}
224229
225230 publish :
226231 if : >
0 commit comments