Skip to content

Commit e099866

Browse files
authored
Merge branch 'pygame-community:main' into sprite-collision
2 parents 8d97ced + 146c43c commit e099866

File tree

129 files changed

+2660
-1502
lines changed

Some content is hidden

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

129 files changed

+2660
-1502
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.21.3
45+
pip3 install --user cibuildwheel==2.22.0
4646
PATH="$HOME/.local/bin:$PATH" cibuildwheel --output-dir wheelhouse
4747
4848
- store_artifacts:

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

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ 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:
@@ -96,13 +96,11 @@ 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

.github/workflows/build-macos.yml

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ jobs:
5151

5252
- name: Test for Mac Deps cache hit
5353
id: macdep-cache
54-
uses: actions/cache@v4.1.2
54+
uses: actions/cache@v4.2.0
5555
with:
5656
path: ${{ github.workspace }}/pygame_mac_deps_${{ matrix.macarch }}
5757
# The hash of all files in buildconfig manylinux-build and macdependencies is
@@ -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
@@ -119,14 +118,14 @@ jobs:
119118
- uses: actions/checkout@v4.2.2
120119

121120
- name: pip cache
122-
uses: actions/cache@v4.1.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.1.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,10 +134,10 @@ jobs:
135134
- name: Install uv for speed
136135
uses: yezz123/setup-uv@v4
137136
with:
138-
uv-version: "0.4.10"
137+
uv-version: "0.5.4"
139138

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

143142
- uses: actions/upload-artifact@v4
144143
with:

.github/workflows/build-manylinux.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -68,14 +68,14 @@ jobs:
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@4f58ea79222b3b9dc2c8bbdd6debcef730109a75
78+
uses: docker/build-push-action@b32b51a8eda65d6793cd0494a773d4f6bcef32dc
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.21.3
94+
uses: pypa/cibuildwheel@v2.22.0
9595

9696
# We upload the generated files under github actions assets
9797
- name: Upload dist

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

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -68,12 +68,10 @@ jobs:
6868
# mingw-w64-${{ matrix.env }}-freetype
6969
# mingw-w64-${{ matrix.env }}-portmidi
7070

71-
- name: Building pygame wheel
72-
run: |
73-
pip3 wheel . --wheel-dir /artifacts -vvv --no-build-isolation
74-
75-
- name: Installing wheel
76-
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
7775

7876
- name: Run tests
7977
env:

.github/workflows/build-sdl3.yml

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,9 @@ jobs:
5656

5757
- name: Install pygame deps (linux)
5858
if: matrix.os == 'ubuntu-24.04'
59-
run: sudo apt-get install libfreetype6-dev libportmidi-dev python3-dev
59+
run: |
60+
sudo apt-get update --fix-missing
61+
sudo apt-get install libfreetype6-dev libportmidi-dev python3-dev
6062
6163
- name: Install pygame deps (mac)
6264
if: matrix.os == 'macos-14'
@@ -84,6 +86,17 @@ jobs:
8486
cmake --build . --config Release --parallel
8587
sudo cmake --install . --config Release
8688
89+
- name: Install SDL3_image
90+
if: matrix.os != 'windows-latest'
91+
run: |
92+
git clone https://github.com/libsdl-org/SDL_image
93+
cd SDL_image
94+
mkdir build
95+
cd build
96+
cmake -DCMAKE_BUILD_TYPE=Release ..
97+
cmake --build . --config Release --parallel
98+
sudo cmake --install . --config Release
99+
87100
- name: Build with SDL3
88101
run: python3 dev.py build --sdl3
89102

.github/workflows/build-ubuntu-sdist.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ jobs:
8484

8585
- name: Test typestubs
8686
run: |
87-
pip3 install mypy
87+
pip3 install mypy==1.13.0
8888
python3 buildconfig/stubs/stubcheck.py
8989
9090
# We upload the generated files under github actions assets

.github/workflows/build-windows.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,10 +59,10 @@ jobs:
5959
- name: Install uv for speed
6060
uses: yezz123/setup-uv@v4
6161
with:
62-
uv-version: "0.4.10"
62+
uv-version: "0.5.4"
6363

6464
- name: Build and test wheels
65-
uses: pypa/cibuildwheel@v2.21.3
65+
uses: pypa/cibuildwheel@v2.22.0
6666

6767
- uses: actions/upload-artifact@v4
6868
with:

.github/workflows/release-gh-draft.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ jobs:
6161
run: echo "VER=${GITHUB_REF_NAME#'release/'}" >> $GITHUB_OUTPUT
6262

6363
- name: Generate release attestation
64-
uses: actions/attest-build-provenance@v1.4.4
64+
uses: actions/attest-build-provenance@v2.1.0
6565
with:
6666
subject-path: "pygame-wheels/*"
6767

README.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,7 @@ Dependency versions:
139139

140140

141141
+----------+------------------------+
142-
| CPython | >= 3.8 (Or use PyPy3) |
142+
| CPython | >= 3.9 (Or use PyPy3) |
143143
+----------+------------------------+
144144
| SDL | >= 2.0.14 |
145145
+----------+------------------------+

0 commit comments

Comments
 (0)