@@ -39,18 +39,18 @@ jobs:
3939 if : >-
4040 (github.event_name == 'schedule') ||
4141 github.event_name == 'workflow_dispatch' ||
42+ github.event_name == 'release' ||
4243 (github.event_name == 'pull_request' &&
4344 contains(github.event.pull_request.labels.*.name, 'Build')) ||
4445 (github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v') && ( ! endsWith(github.ref, 'dev0')))
4546 runs-on : ubuntu-24.04
4647 env :
47- IS_PUSH : ${{ github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v') }}
4848 IS_SCHEDULE_DISPATCH : ${{ github.event_name == 'schedule' || github.event_name == 'workflow_dispatch' }}
4949 outputs :
5050 sdist_file : ${{ steps.save-path.outputs.sdist_name }}
5151 steps :
5252 - name : Checkout pandas
53- uses : actions/checkout@v5
53+ uses : actions/checkout@v6
5454 with :
5555 fetch-depth : 0
5656
6464 python -m pip install build
6565 python -m build --sdist
6666
67- - uses : actions/upload-artifact@v4
67+ - uses : actions/upload-artifact@v5
6868 with :
6969 name : sdist
7070 path : ./dist/*
8484 if : >-
8585 (github.event_name == 'schedule') ||
8686 github.event_name == 'workflow_dispatch' ||
87+ github.event_name == 'release' ||
8788 (github.event_name == 'pull_request' &&
8889 contains(github.event.pull_request.labels.*.name, 'Build')) ||
8990 (github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v') && ( ! endsWith(github.ref, 'dev0')))
9899 - [ubuntu-24.04, musllinux_x86_64]
99100 - [ubuntu-24.04-arm, manylinux_aarch64]
100101 - [ubuntu-24.04-arm, musllinux_aarch64]
101- - [macos-13, macosx_x86_64]
102- # Note: M1 images on Github Actions start from macOS 14
103- - [macos-14, macosx_arm64]
104- - [windows-2022, win_amd64]
102+ - [macos-15-intel, macosx_x86_64]
103+ - [macos-15, macosx_arm64]
104+ - [windows-2025, win_amd64]
105105 - [windows-11-arm, win_arm64]
106106 python : [["cp311", "3.11"], ["cp312", "3.12"], ["cp313", "3.13"], ["cp313t", "3.13"], ["cp314", "3.14"], ["cp314t", "3.14"]]
107107 include :
@@ -117,11 +117,10 @@ jobs:
117117 python : ["cp313t", "3.13"]
118118
119119 env :
120- IS_PUSH : ${{ github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v') }}
121120 IS_SCHEDULE_DISPATCH : ${{ github.event_name == 'schedule' || github.event_name == 'workflow_dispatch' }}
122121 steps :
123122 - name : Checkout pandas
124- uses : actions/checkout@v5
123+ uses : actions/checkout@v6
125124 with :
126125 fetch-depth : 0
127126
@@ -139,7 +138,7 @@ jobs:
139138 # removes unnecessary files from the release
140139 - name : Download sdist (not macOS)
141140 # if: ${{ matrix.buildplat[1] != 'macosx_*' }}
142- uses : actions/download-artifact@v5
141+ uses : actions/download-artifact@v6
143142 with :
144143 name : sdist
145144 path : ./dist
@@ -165,6 +164,7 @@ jobs:
165164 uses : pypa/cibuildwheel@v3.2.1
166165 with :
167166 package-dir : ./dist/${{ startsWith(matrix.buildplat[1], 'macosx') && env.sdist_name || needs.build_sdist.outputs.sdist_file }}
167+ output-dir : ./dist
168168 env :
169169 CIBW_BUILD : ${{ matrix.python[0] }}-${{ matrix.buildplat[1] }}
170170 CIBW_BUILD_FRONTEND : ${{ matrix.cibw_build_frontend || 'pip' }}
@@ -195,29 +195,19 @@ jobs:
195195
196196 - name : Validate wheel RECORD
197197 shell : bash -el {0}
198- run : for whl in $(ls wheelhouse ); do wheel unpack wheelhouse/ $whl -d /tmp; done
198+ run : for whl in $(ls ./dist/*.whl ); do wheel unpack $whl -d /tmp; done
199199
200- - uses : actions/upload-artifact@v4
200+ - uses : actions/upload-artifact@v5
201201 with :
202202 name : ${{ matrix.python[0] }}-${{ matrix.buildplat[1] }}
203- path : ./wheelhouse /*.whl
203+ path : ./dist /*.whl
204204
205205 - name : Upload wheels & sdist
206- if : ${{ success() && (env.IS_SCHEDULE_DISPATCH == 'true' || env.IS_PUSH == 'true') }}
207- shell : bash -el {0}
208- env :
209- PANDAS_STAGING_UPLOAD_TOKEN : ${{ secrets.PANDAS_STAGING_UPLOAD_TOKEN }}
210- PANDAS_NIGHTLY_UPLOAD_TOKEN : ${{ secrets.PANDAS_NIGHTLY_UPLOAD_TOKEN }}
211- # trigger an upload to
212- # https://anaconda.org/scientific-python-nightly-wheels/pandas
213- # for cron jobs or "Run workflow" (restricted to main branch).
214- # Tags will upload to
215- # https://anaconda.org/multibuild-wheels-staging/pandas
216- # The tokens were originally generated at anaconda.org
217- run : |
218- source ci/upload_wheels.sh
219- set_upload_vars
220- upload_wheels
206+ if : ${{ success() && env.IS_SCHEDULE_DISPATCH == 'true' }}
207+ uses : scientific-python/upload-nightly-action@0.6.2
208+ with :
209+ artifacts_path : ./dist
210+ anaconda_nightly_upload_token : ${{secrets.PANDAS_NIGHTLY_UPLOAD_TOKEN}}
221211
222212 publish :
223213 if : >
@@ -239,11 +229,11 @@ jobs:
239229
240230 steps :
241231 - name : Download all artefacts
242- uses : actions/download-artifact@v5
232+ uses : actions/download-artifact@v6
243233 with :
244234 path : dist # everything lands in ./dist/**
245235
246- # TODO: This step can be probably be achieved by actions/download-artifact@v5
236+ # TODO: This step can be probably be achieved by actions/download-artifact@v6
247237 # by specifying merge-multiple: true, and a glob pattern
248238 - name : Collect files
249239 run : |
0 commit comments