Skip to content

Commit 2cb8bbc

Browse files
committed
Consolidate jobs into one
1 parent 4371054 commit 2cb8bbc

File tree

1 file changed

+7
-110
lines changed

1 file changed

+7
-110
lines changed

.github/workflows/wheels.yml

+7-110
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,10 @@ jobs:
9999
- [macos-14, macosx_arm64]
100100
- [windows-2022, win_amd64]
101101
# TODO: support PyPy?
102-
python: [["cp310", "3.10"], ["cp311", "3.11"], ["cp312", "3.12"]]
102+
python: [["cp310", "3.10"], ["cp311", "3.11"], ["cp312", "3.12"], ["cp313", "3.13"], ["cp313t", "3.13"]]
103+
exclude:
104+
- buildplat: [windows-2022, win_amd64]
105+
python: ["cp313t", "3.13"]
103106
env:
104107
IS_PUSH: ${{ github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v') }}
105108
IS_SCHEDULE_DISPATCH: ${{ github.event_name == 'schedule' || github.event_name == 'workflow_dispatch' }}
@@ -145,6 +148,7 @@ jobs:
145148
package-dir: ./dist/${{ startsWith(matrix.buildplat[1], 'macosx') && env.sdist_name || needs.build_sdist.outputs.sdist_file }}
146149
env:
147150
CIBW_PRERELEASE_PYTHONS: True
151+
CIBW_FREE_THREADED_SUPPORT: True
148152
CIBW_BUILD: ${{ matrix.python[0] }}-${{ matrix.buildplat[1] }}
149153

150154
- name: Set up Python
@@ -175,8 +179,8 @@ jobs:
175179
python -c `'import pandas as pd; pd.test(extra_args=[`\"--no-strict-data-files`\", `\"-m not clipboard and not single_cpu and not slow and not network and not db`\"])`';
176180
"@
177181
# add rc to the end of the image name if the Python version is unreleased
178-
docker pull python:${{ matrix.python[1] == '3.12' && '3.12-rc' || format('{0}-windowsservercore', matrix.python[1]) }}
179-
docker run --env PANDAS_CI='1' -v ${PWD}:C:\pandas python:${{ matrix.python[1] == '3.12' && '3.12-rc' || format('{0}-windowsservercore', matrix.python[1]) }} powershell -Command $TST_CMD
182+
docker pull python:${{ matrix.python[1] == '3.13' && '3.13-rc' || format('{0}-windowsservercore', matrix.python[1]) }}
183+
docker run --env PANDAS_CI='1' -v ${PWD}:C:\pandas python:${{ matrix.python[1] == '3.13' && '3.13-rc' || format('{0}-windowsservercore', matrix.python[1]) }} powershell -Command $TST_CMD
180184
181185
- uses: actions/upload-artifact@v4
182186
with:
@@ -199,110 +203,3 @@ jobs:
199203
source ci/upload_wheels.sh
200204
set_upload_vars
201205
upload_wheels
202-
203-
build_free_threaded_wheels:
204-
needs: build_sdist
205-
name: Build wheel for ${{ matrix.python }}-${{ matrix.buildplat[1] }}
206-
if: >-
207-
(github.event_name == 'schedule') ||
208-
github.event_name == 'workflow_dispatch' ||
209-
(github.event_name == 'pull_request' &&
210-
contains(github.event.pull_request.labels.*.name, 'Build'))
211-
runs-on: ${{ matrix.buildplat[0] }}
212-
strategy:
213-
fail-fast: false
214-
matrix:
215-
# GitHub Actions doesn't support pairing matrix values together, let's improvise
216-
# https://github.com/github/feedback/discussions/7835#discussioncomment-1769026
217-
buildplat:
218-
- [ubuntu-22.04, manylinux_x86_64]
219-
- [ubuntu-22.04, musllinux_x86_64]
220-
- [macos-13, macosx_x86_64]
221-
- [macos-14, macosx_arm64]
222-
python: ["cp313t"]
223-
env:
224-
IS_PUSH: false
225-
IS_SCHEDULE_DISPATCH: ${{ github.event_name == 'schedule' || github.event_name == 'workflow_dispatch' }}
226-
steps:
227-
- name: Checkout pandas
228-
uses: actions/checkout@v4
229-
with:
230-
fetch-depth: 0
231-
232-
# TODO: Build wheels from sdist again
233-
# There's some sort of weird race condition?
234-
# within Github that makes the sdist be missing files
235-
236-
# We need to build wheels from the sdist since the sdist
237-
# removes unnecessary files from the release
238-
- name: Download sdist (not macOS)
239-
#if: ${{ matrix.buildplat[1] != 'macosx_*' }}
240-
uses: actions/download-artifact@v4
241-
with:
242-
name: sdist
243-
path: ./dist
244-
245-
- name: Output sdist name (macOS)
246-
id: save-path
247-
shell: bash -el {0}
248-
run: echo "sdist_name=$(ls ./dist)" >> "$GITHUB_ENV"
249-
250-
# Python version used to build sdist doesn't matter
251-
# wheel will be built from sdist with the correct version
252-
- name: Unzip sdist (macOS)
253-
if: ${{ startsWith(matrix.buildplat[1], 'macosx') }}
254-
run: |
255-
tar -xzf ./dist/${{ env.sdist_name }} -C ./dist
256-
257-
- name: Output sdist name (macOS)
258-
id: save-path2
259-
shell: bash -el {0}
260-
run: echo "sdist_name=$(cd ./dist && ls -d */)" >> "$GITHUB_ENV"
261-
262-
- name: Build wheels
263-
uses: pypa/[email protected]
264-
with:
265-
package-dir: ./dist/${{ startsWith(matrix.buildplat[1], 'macosx') && env.sdist_name || needs.build_sdist.outputs.sdist_file }}
266-
env:
267-
CIBW_PRERELEASE_PYTHONS: True
268-
CIBW_FREE_THREADED_SUPPORT: True
269-
CIBW_BUILD: ${{ matrix.python }}-${{ matrix.buildplat[1] }}
270-
271-
- name: Set up Python
272-
uses: mamba-org/setup-micromamba@v1
273-
with:
274-
environment-name: wheel-env
275-
# Use a fixed Python, since we might have an unreleased Python not
276-
# yet present on conda-forge
277-
create-args: >-
278-
python=3.11
279-
anaconda-client
280-
wheel
281-
cache-downloads: true
282-
cache-environment: true
283-
284-
- name: Validate wheel RECORD
285-
shell: bash -el {0}
286-
run: for whl in $(ls wheelhouse); do wheel unpack wheelhouse/$whl -d /tmp; done
287-
288-
- uses: actions/upload-artifact@v4
289-
with:
290-
name: ${{ matrix.python }}-${{ matrix.buildplat[1] }}
291-
path: ./wheelhouse/*.whl
292-
293-
- name: Upload wheels & sdist
294-
if: ${{ success() && (env.IS_SCHEDULE_DISPATCH == 'true' || env.IS_PUSH == 'true') }}
295-
shell: bash -el {0}
296-
env:
297-
PANDAS_STAGING_UPLOAD_TOKEN: ${{ secrets.PANDAS_STAGING_UPLOAD_TOKEN }}
298-
PANDAS_NIGHTLY_UPLOAD_TOKEN: ${{ secrets.PANDAS_NIGHTLY_UPLOAD_TOKEN }}
299-
# trigger an upload to
300-
# https://anaconda.org/scientific-python-nightly-wheels/pandas
301-
# for cron jobs or "Run workflow" (restricted to main branch).
302-
# Tags will upload to
303-
# https://anaconda.org/multibuild-wheels-staging/pandas
304-
# The tokens were originally generated at anaconda.org
305-
run: |
306-
source ci/upload_wheels.sh
307-
set_upload_vars
308-
upload_wheels

0 commit comments

Comments
 (0)