Skip to content

Commit 6dcbeb8

Browse files
committed
[Enhancement] Update Python ABI support and caching strategy in CI workflow
1 parent d228b55 commit 6dcbeb8

File tree

1 file changed

+16
-8
lines changed

1 file changed

+16
-8
lines changed

.github/workflows/dist-paddle.yml

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -94,9 +94,16 @@ jobs:
9494
- { runner: ubuntu-24.04-arm, toolkit: "CUDA-12.8", test_backends: "cu126 cu130" }
9595
- { runner: macos-latest, toolkit: "Metal" }
9696
python-version:
97-
# Wheels are built with Python 3.8 Limited API, they should work with all Python >= 3.8.
98-
# Only build wheels against Python 3.8 Limited API to save CI resources.
97+
# Build wheels for different Python ABIs
9998
- "3.9"
99+
# - "3.14t" # let user to build from source for now
100+
# TODO: Add cp315-abi3.abi3t after PEP 803
101+
include:
102+
# map build version to test version
103+
# Python 3.9 implicitly restrict torch version (e.g. on arm64).
104+
# This test rely on torch to provide libnvrtc, so we need a rather new torch.
105+
- { python-version: "3.9", test-python-version: "3.12" }
106+
# - { python-version: "3.14t", test-python-version: "3.14t" }
100107
fail-fast: false
101108
timeout-minutes: 120
102109
runs-on: ${{ matrix.target.runner }}
@@ -118,13 +125,11 @@ jobs:
118125
create-symlink: true
119126
evict-old-files: "7d"
120127
append-timestamp: false
121-
key: wheel-${{ runner.os }}-${{ runner.arch }}-${{ matrix.target.toolkit }}-${{ hashFiles('**/*.cc') }}
128+
key: wheel-${{ runner.os }}-${{ runner.arch }}-${{ matrix.python-version }}-${{ hashFiles('**/*.cc') }}
122129
restore-keys: |
123-
wheel-${{ runner.os }}-${{ runner.arch }}-${{ matrix.target.toolkit }}-${{ hashFiles('**/*.cc') }}
124-
wheel-${{ runner.os }}-${{ runner.arch }}-${{ matrix.target.toolkit }}
130+
wheel-${{ runner.os }}-${{ runner.arch }}-${{ matrix.python-version }}-${{ hashFiles('**/*.cc') }}
131+
wheel-${{ runner.os }}-${{ runner.arch }}-${{ matrix.python-version }}
125132
wheel-${{ runner.os }}-${{ runner.arch }}
126-
${{ runner.os }}-${{ runner.arch }}-${{ matrix.target.toolkit }}
127-
${{ runner.os }}-${{ runner.arch }}
128133
129134
- name: Set CIBW_BUILD
130135
run: |
@@ -166,9 +171,12 @@ jobs:
166171
run: |
167172
for WHEEL in wheelhouse/*.whl; do
168173
echo "Testing wheel: ${WHEEL}"
174+
if [[ "${WHEEL}" == *"abi3"* ]]; then
175+
uvx abi3audit --verbose --strict "${WHEEL}"
176+
fi
169177
(
170178
set -e
171-
uv venv --python=3.12 test-venv
179+
uv venv test-venv
172180
source test-venv/bin/activate
173181
uv pip install -v "${WHEEL}"
174182
(

0 commit comments

Comments
 (0)