Skip to content

Commit 402cbab

Browse files
committed
Merge branch 'main' into rect-center
2 parents 61904ea + 44b3483 commit 402cbab

File tree

329 files changed

+9464
-3781
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

329 files changed

+9464
-3781
lines changed

.circleci/config.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ jobs:
4242
- run:
4343
name: Build the Linux wheels.
4444
command: |
45-
pip3 install --user cibuildwheel==2.20.0
45+
pip3 install --user cibuildwheel==2.22.0
4646
PATH="$HOME/.local/bin:$PATH" cibuildwheel --output-dir wheelhouse
4747
4848
- store_artifacts:

.github/ISSUE_TEMPLATE/blank_issue.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
name: 🗎 Blank Issue
33
about: A blank issue. For those who know what they are doing.
44
title: ''
5-
labels:
5+
labels:
66
assignees: ''
77

8-
---
8+
---

.github/ISSUE_TEMPLATE/bug_report.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ assignees: ''
1111

1212
**Environment:**
1313

14-
If possible, please include the output of `pygame.print_debug_info()` from your program in your bug report. It looks something
14+
If possible, please include the output of `pygame.print_debug_info()` from your program in your bug report. It looks something
1515
like this:
1616

1717
```
@@ -33,7 +33,7 @@ Freetype versions: Linked: 2.11.1 Compiled: 2.11.1
3333
Display Driver: windows
3434
Mixer Driver: wasapi
3535
```
36-
If you can't get the debug output, any of the environment details included in it that you do know would be useful
36+
If you can't get the debug output, any of the environment details included in it that you do know would be useful
3737
in diagnosing the issue & helping you.
3838

3939
Other environment details, not included in `print_debug_info()`, that might help:

.github/ISSUE_TEMPLATE/enhancement.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,4 @@ assignees: ''
99

1010
**Description**
1111

12-
Describe your enhancement, as clearly as possible.
12+
Describe your enhancement, as clearly as possible.

.github/workflows/build-debian-multiarch.yml

Lines changed: 11 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -44,12 +44,12 @@ env:
4444
apt-get install libsdl2-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-ttf-dev -y
4545
apt-get install libfreetype6-dev libportmidi-dev fontconfig -y
4646
apt-get install python3-dev python3-pip python3-wheel python3-sphinx -y
47-
pip3 install meson-python --break-system-packages
47+
pip3 install meson-python "sphinx-autoapi<=3.3.2" --break-system-packages
4848
4949
jobs:
5050
build-multiarch:
5151
name: Debian (Bookworm - 12) [${{ matrix.arch }}]
52-
runs-on: ubuntu-22.04
52+
runs-on: ubuntu-24.04
5353

5454
strategy:
5555
fail-fast: false # if a particular matrix build fails, don't skip the rest
@@ -65,10 +65,10 @@ jobs:
6565
- { arch: armv7, base_image: 'balenalib/raspberrypi3-debian:bookworm' }
6666

6767
steps:
68-
- uses: actions/checkout@v4.1.7
68+
- uses: actions/checkout@v4.2.2
6969

7070
- name: Build sources and run tests
71-
uses: uraimo/run-on-arch-action@v2.7.2
71+
uses: uraimo/run-on-arch-action@v2.8.1
7272
id: build
7373
with:
7474
arch: ${{ matrix.base_image && 'none' || matrix.arch }}
@@ -96,18 +96,16 @@ jobs:
9696
install: ${{ env.INSTALL_CMD }}
9797

9898
# Build a wheel, install it for running unit tests.
99-
# --no-build-isolation is passed so that preinstalled meson-python can be used
100-
# (done for optimization reasons)
99+
# pip does not know that ninja is installed, and tries to install it again.
100+
# so pass --ignore-dep ninja explicitly
101101
run: |
102-
echo "\nBuilding pygame wheel\n"
103-
pip3 wheel . --no-build-isolation --wheel-dir /artifacts -vvv
104-
echo "\nInstalling wheel\n"
105-
pip3 install --no-index --pre --break-system-packages --find-links /artifacts pygame-ce
102+
echo "\nBuilding and installing pygame wheel\n"
103+
PIP_BREAK_SYSTEM_PACKAGES=1 python3 dev.py --ignore-dep ninja build --wheel /artifacts --lax
106104
echo "\nRunning tests\n"
107105
export SDL_VIDEODRIVER=dummy
108106
export SDL_AUDIODRIVER=disk
109107
python3 -m pygame.tests -v --exclude opengl,music,timing --time_out 300
110-
108+
111109
# Upload the generated files under github actions assets section
112110
- name: Upload dist
113111
uses: actions/upload-artifact@v4
@@ -120,7 +118,7 @@ jobs:
120118
test-armv7-on-armv6:
121119
needs: build-multiarch
122120
name: Debian (Bookworm - 12) [build - armv7, test - armv6]
123-
runs-on: ubuntu-22.04
121+
runs-on: ubuntu-24.04
124122
steps:
125123
- name: Download all multiarch artifacts
126124
uses: actions/download-artifact@v4
@@ -136,7 +134,7 @@ jobs:
136134
done
137135
138136
- name: Test armv7 wheel on armv6
139-
uses: uraimo/run-on-arch-action@v2.7.2
137+
uses: uraimo/run-on-arch-action@v2.8.1
140138
with:
141139
arch: armv6
142140
distro: bookworm

.github/workflows/build-emsdk.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ jobs:
4141
SDKROOT: /opt/python-wasm-sdk
4242

4343
steps:
44-
- uses: actions/checkout@v4.1.7
44+
- uses: actions/checkout@v4.2.2
4545

4646
- name: Regen with latest cython (using system python3)
4747
run: |

.github/workflows/build-macos.yml

Lines changed: 12 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
name: macOS
22

3-
# Run CI only when a release is created, on changes to main branch, or any PR
4-
# to main. Do not run CI on any other branch. Also, skip any non-source changes
3+
# Run CI only when a release is created, on changes to main branch, or any PR
4+
# to main. Do not run CI on any other branch. Also, skip any non-source changes
55
# from running on CI
66
on:
77
push:
@@ -27,7 +27,7 @@ on:
2727
- '.github/workflows/*.yml'
2828
# re-include current file to not be excluded
2929
- '!.github/workflows/build-macos.yml'
30-
30+
3131
# the github release drafter can call this workflow
3232
workflow_call:
3333

@@ -47,14 +47,14 @@ jobs:
4747
- { macarch: x86_64, os: macos-13 }
4848

4949
steps:
50-
- uses: actions/checkout@v4.1.7
50+
- uses: actions/checkout@v4.2.2
5151

5252
- name: Test for Mac Deps cache hit
5353
id: macdep-cache
54-
uses: actions/cache@v4.0.2
54+
uses: actions/cache@v4.2.0
5555
with:
5656
path: ${{ github.workspace }}/pygame_mac_deps_${{ matrix.macarch }}
57-
# The hash of all files in buildconfig manylinux-build and macdependencies is
57+
# The hash of all files in buildconfig manylinux-build and macdependencies is
5858
# the key to the cache. If anything changes here, the deps are built again
5959
key: macdep-${{ hashFiles('buildconfig/manylinux-build/**') }}-${{ hashFiles('buildconfig/macdependencies/*.sh') }}-${{ matrix.macarch }}-${{ matrix.os }}
6060
lookup-only: true
@@ -64,7 +64,7 @@ jobs:
6464
if: steps.macdep-cache.outputs.cache-hit != 'true'
6565
run: |
6666
export MAC_ARCH="${{ matrix.macarch }}"
67-
brew install coreutils pkg-config
67+
brew install coreutils
6868
cd buildconfig/macdependencies
6969
bash ./build_mac_deps.sh
7070
@@ -104,7 +104,6 @@ jobs:
104104

105105
# Setup macOS dependencies
106106
CIBW_BEFORE_ALL: |
107-
brew install pkg-config
108107
cd buildconfig/macdependencies
109108
cp -r ${{ github.workspace }}/pygame_mac_deps_${{ matrix.macarch }} ${{ github.workspace }}/pygame_mac_deps
110109
bash ./install_mac_deps.sh
@@ -116,17 +115,17 @@ jobs:
116115
CIBW_BEFORE_TEST: rm -rf ${{ github.workspace }}/pygame_mac_deps
117116

118117
steps:
119-
- uses: actions/checkout@v4.1.7
118+
- uses: actions/checkout@v4.2.2
120119

121120
- name: pip cache
122-
uses: actions/cache@v4.0.2
121+
uses: actions/cache@v4.2.0
123122
with:
124123
path: ~/Library/Caches/pip # This cache path is only right on mac
125124
key: pip-cache-${{ matrix.macarch }}-${{ matrix.os }}
126125

127126
- name: Fetch Mac deps
128127
id: macdep-cache
129-
uses: actions/cache@v4.0.2
128+
uses: actions/cache@v4.2.0
130129
with:
131130
path: ${{ github.workspace }}/pygame_mac_deps_${{ matrix.macarch }}
132131
key: macdep-${{ hashFiles('buildconfig/manylinux-build/**') }}-${{ hashFiles('buildconfig/macdependencies/*.sh') }}-${{ matrix.macarch }}
@@ -135,14 +134,13 @@ jobs:
135134
- name: Install uv for speed
136135
uses: yezz123/setup-uv@v4
137136
with:
138-
uv-version: "0.2.22"
137+
uv-version: "0.5.4"
139138

140139
- name: Build and test wheels
141-
uses: pypa/cibuildwheel@v2.20.0
140+
uses: pypa/cibuildwheel@v2.22.0
142141

143142
- uses: actions/upload-artifact@v4
144143
with:
145144
name: pygame-wheels-macos-${{ matrix.macarch }}
146145
path: ./wheelhouse/*.whl
147146
compression-level: 0 # wheels are already zip files, no need for more compression
148-

.github/workflows/build-manylinux.yml

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
name: ManyLinux
22

3-
# Run CI only when a release is created, on changes to main branch, or any PR
4-
# to main. Do not run CI on any other branch. Also, skip any non-source changes
3+
# Run CI only when a release is created, on changes to main branch, or any PR
4+
# to main. Do not run CI on any other branch. Also, skip any non-source changes
55
# from running on CI
66
on:
77
push:
@@ -27,7 +27,7 @@ on:
2727
- '.github/workflows/*.yml'
2828
# re-include current file to not be excluded
2929
- '!.github/workflows/build-manylinux.yml'
30-
30+
3131
# the github release drafter can call this workflow
3232
workflow_call:
3333

@@ -38,44 +38,44 @@ concurrency:
3838
jobs:
3939
build:
4040
name: ${{ matrix.arch }}
41-
runs-on: ubuntu-22.04
41+
runs-on: ubuntu-24.04
4242
permissions:
4343
contents: read
4444
packages: write
45-
45+
4646
strategy:
4747
fail-fast: false # if a particular matrix build fails, don't skip the rest
4848
matrix:
4949
arch: [x86_64, i686]
50-
50+
5151
env:
5252
CIBW_ARCHS: ${{ matrix.arch }}
5353

5454
steps:
55-
- uses: actions/checkout@v4.1.7
55+
- uses: actions/checkout@v4.2.2
5656

5757
- name: Log in to the Container registry
5858
uses: docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567
5959
with:
6060
registry: ghcr.io
6161
username: ${{ github.actor }}
6262
password: ${{ secrets.GITHUB_TOKEN }}
63-
63+
6464
- name: Inspect image, skip build if image exists
6565
id: inspect
6666
continue-on-error: true
6767
run: docker manifest inspect ghcr.io/${{ github.repository }}_${{ matrix.arch }}:${{ hashFiles('buildconfig/manylinux-build/**') }}
6868

6969
- name: Extract metadata (tags, labels) for Docker
7070
id: meta
71-
uses: docker/metadata-action@8e5442c4ef9f78752691e2d8f8d19755c6f78e81
71+
uses: docker/metadata-action@369eb591f429131d6889c46b94e711f089e6ca96
7272
with:
7373
images: ghcr.io/${{ github.repository }}_${{ matrix.arch }}
7474
tags: type=raw,value=${{ hashFiles('buildconfig/manylinux-build/**') }}
7575

7676
- name: Build and push Docker image
7777
if: steps.inspect.outcome == 'failure'
78-
uses: docker/build-push-action@5cd11c3a4ced054e52742c5fd54dca954e0edd85
78+
uses: docker/build-push-action@48aba3b46d1b1fec4febb7c5d0c644b249a11355
7979
with:
8080
context: ${{ github.workspace }}/buildconfig/manylinux-build/docker_base
8181
file: ${{ github.workspace }}/buildconfig/manylinux-build/docker_base/Dockerfile-${{ matrix.arch }}
@@ -91,7 +91,7 @@ jobs:
9191
CIBW_MANYLINUX_I686_IMAGE: ghcr.io/${{ github.repository }}_i686:${{ steps.meta.outputs.version }}
9292
CIBW_MANYLINUX_PYPY_I686_IMAGE: ghcr.io/${{ github.repository }}_i686:${{ steps.meta.outputs.version }}
9393

94-
uses: pypa/cibuildwheel@v2.20.0
94+
uses: pypa/cibuildwheel@v2.22.0
9595

9696
# We upload the generated files under github actions assets
9797
- name: Upload dist
@@ -100,4 +100,3 @@ jobs:
100100
name: pygame-wheels-manylinux-${{ matrix.arch }}
101101
path: ./wheelhouse/*.whl
102102
compression-level: 0 # wheels are already zip files, no need for more compression
103-

.github/workflows/build-on-msys2.yml

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -42,14 +42,12 @@ jobs:
4242
matrix:
4343
include:
4444
- { sys: mingw64, env: x86_64 }
45-
- { sys: mingw32, env: i686 }
4645
- { sys: ucrt64, env: ucrt-x86_64 }
47-
- { sys: clang32, env: clang-i686 }
4846
- { sys: clang64, env: clang-x86_64 }
4947
# - { sys: clangarm64, env: clang-aarch64 }
5048

5149
steps:
52-
- uses: actions/checkout@v4.1.7
50+
- uses: actions/checkout@v4.2.2
5351
- uses: msys2/setup-msys2@v2
5452
with:
5553
msystem: ${{ matrix.sys }}
@@ -70,12 +68,10 @@ jobs:
7068
# mingw-w64-${{ matrix.env }}-freetype
7169
# mingw-w64-${{ matrix.env }}-portmidi
7270

73-
- name: Building pygame wheel
74-
run: |
75-
pip3 wheel . --wheel-dir /artifacts -vvv --no-build-isolation
76-
77-
- name: Installing wheel
78-
run: pip3 install --no-index --pre --find-links /artifacts pygame-ce
71+
# pip does not know that ninja is installed, and tries to install it again.
72+
# so pass --ignore-dep ninja explicitly
73+
- name: Build and install pygame wheel
74+
run: python3 dev.py --ignore-dep ninja build --wheel /artifacts --lax
7975

8076
- name: Run tests
8177
env:

0 commit comments

Comments
 (0)