Skip to content

Commit 3d373bd

Browse files
Update workflow for packaging
* Run the workflow when files change in `.github/scripts/**` * Shorter names for build jobs * Change Windows CUDA install back to "network" using subpackages
1 parent 09ea861 commit 3d373bd

File tree

1 file changed

+15
-13
lines changed

1 file changed

+15
-13
lines changed

.github/workflows/python-package.yml

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,13 @@ on:
66
branches: [main]
77
paths:
88
- ".github/workflows/python-package.yml"
9+
- ".github/scripts/**"
910
- "bitsandbytes/**"
1011
- "csrc/**"
1112
- "include/**"
1213
- "tests/**"
1314
- "CMakeLists.txt"
14-
- "requirements*.txt"
15+
- "MANIFEST.in"
1516
- "setup.py"
1617
- "pyproject.toml"
1718
release:
@@ -25,9 +26,9 @@ concurrency:
2526

2627
jobs:
2728
##
28-
# This job matrix builds the non-CUDA versions of the libraries for all supported platforms.
29+
# This job matrix builds the CPU versions of the libraries for all supported platforms.
2930
##
30-
build-shared-libs:
31+
build-cpu:
3132
strategy:
3233
matrix:
3334
include:
@@ -56,10 +57,11 @@ jobs:
5657
name: shared_library_${{ matrix.os }}_${{ matrix.arch }}
5758
path: output/*
5859
retention-days: 7
60+
5961
##
6062
# This job matrix builds the CUDA versions of the libraries for platforms that support CUDA (Linux x64/aarch64 + Windows x64)
6163
##
62-
build-shared-libs-cuda:
64+
build-cuda:
6365
strategy:
6466
fail-fast: false
6567
matrix:
@@ -77,14 +79,14 @@ jobs:
7779
steps:
7880
- uses: actions/checkout@v4
7981
# Windows: We install Cuda on the agent (slow)
80-
#- uses: Jimver/cuda-toolkit@433d453c1fa37d10a3254452fa8e284441c9192d # v0.2.27
8182
- uses: N-Storm/cuda-toolkit@d68ba29a800229200a2c3f572f9e816d7f67cdb4 # v0.2.24m
8283
if: startsWith(matrix.os, 'windows')
8384
id: cuda-toolkit
8485
with:
8586
# Temporary: Use CUDA 13.0.0 for Windows until 13.0.1 is supported with this action.
8687
cuda: ${{ matrix.cuda_version == '13.0.1' && '13.0.0' || matrix.cuda_version }}
87-
method: "local"
88+
method: "network"
89+
sub-packages: '["nvcc","cudart","cusparse","cublas","thrust","cublas_dev","cusparse_dev"]'
8890
use-github-cache: false
8991
use-local-cache: false
9092
log-file-suffix: ${{matrix.os}}-${{matrix.cuda_version}}.txt
@@ -104,7 +106,7 @@ jobs:
104106
path: output/*
105107
retention-days: 7
106108

107-
build-shared-libs-xpu:
109+
build-xpu:
108110
strategy:
109111
matrix:
110112
os: [ubuntu-22.04]
@@ -122,7 +124,7 @@ jobs:
122124
path: output/*
123125
retention-days: 7
124126

125-
build-shared-libs-rocm:
127+
build-rocm:
126128
strategy:
127129
matrix:
128130
os: [ubuntu-22.04]
@@ -168,10 +170,10 @@ jobs:
168170

169171
build-wheels:
170172
needs:
171-
- build-shared-libs
172-
- build-shared-libs-cuda
173-
- build-shared-libs-rocm
174-
- build-shared-libs-xpu
173+
- build-cpu
174+
- build-cuda
175+
- build-rocm
176+
- build-xpu
175177
strategy:
176178
matrix:
177179
os: [ubuntu-22.04, ubuntu-22.04-arm, windows-latest, macos-latest]
@@ -185,7 +187,7 @@ jobs:
185187
- os: macos-latest
186188
arch: arm64
187189
# The specific Python version is irrelevant in this context as we are only packaging non-C extension
188-
# code. This ensures compatibility across Python versions, including Python 3.9, as compatibility is
190+
# code. This ensures compatibility across Python versions, as compatibility is
189191
# dictated by the packaged code itself, not the Python version used for packaging.
190192
python-version: ["3.10"]
191193
runs-on: ${{ matrix.os }}

0 commit comments

Comments
 (0)