Skip to content

Commit 9f1c0ee

Browse files
committed
Switch build frontend to build[uv] for speed
1 parent 6ce3380 commit 9f1c0ee

File tree

3 files changed

+14
-1
lines changed

3 files changed

+14
-1
lines changed

.github/workflows/build-macos.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -132,6 +132,9 @@ jobs:
132132
key: macdep-${{ hashFiles('buildconfig/manylinux-build/**') }}-${{ hashFiles('buildconfig/macdependencies/*.sh') }}-${{ matrix.macarch }}
133133
fail-on-cache-miss: true
134134

135+
- name: Install uv for speed
136+
uses: yezz123/setup-uv@v4
137+
135138
- name: Build and test wheels
136139
uses: pypa/cibuildwheel@v2.19.2
137140

.github/workflows/build-windows.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,9 @@ jobs:
5656
with:
5757
arch: ${{ matrix.msvc-dev-arch }}
5858

59+
- name: Install uv for speed
60+
uses: yezz123/setup-uv@v4
61+
5962
- name: Build and test wheels
6063
uses: pypa/cibuildwheel@v2.19.2
6164

pyproject.toml

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,9 +61,16 @@ install = ['--tags=runtime,python-runtime,pg-tag']
6161
# setup = ["-Derror_on_warns=true"]
6262

6363
[tool.cibuildwheel]
64+
# The default build-frontend is "pip", but we use the recommended "build" frontend.
65+
# build (AKA pypa/build) is a simple tool that just focusses on one thing: building
66+
# wheels. build still needs to interact with a pip-like tool to handle build-time
67+
# dependencies. Here is where uv comes into the picture. It is an "installer" like pip,
68+
# but faster. It has been observed to save a couple of minutes of CI time.
69+
build-frontend = "build[uv]"
6470
build = "cp3{8,9,10,11,12}-* pp3{8,9,10}-*"
6571
skip = "*-musllinux_*"
66-
build-verbosity = 3
72+
# build[uv] is verbose by default, so below flag is not needed here
73+
# build-verbosity = 3
6774

6875
environment = { SDL_VIDEODRIVER="dummy", SDL_AUDIODRIVER="disk" }
6976
test-command = "python -m pygame.tests -v --exclude opengl,music,timing --time_out 300"

0 commit comments

Comments
 (0)