Skip to content

Commit 57d1079

Browse files
authored
Merge branch 'pygame-community:main' into DrawArcTest
2 parents 9c90cd7 + 816bd77 commit 57d1079

File tree

369 files changed

+15781
-5832
lines changed

Some content is hidden

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

369 files changed

+15781
-5832
lines changed

.circleci/config.yml

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -28,14 +28,9 @@ jobs:
2828

2929
environment:
3030
# these environment variables will be passed to the docker container
31-
- CIBW_ENVIRONMENT: SDL_VIDEODRIVER=dummy SDL_AUDIODRIVER=disk
32-
- CIBW_BUILD: "cp3{8,9,10,11,12}-* pp3{8,9,10}-*"
3331
- CIBW_ARCHS: aarch64
34-
- CIBW_SKIP: '*-musllinux_*'
3532
- CIBW_MANYLINUX_AARCH64_IMAGE: manylinux2014_base_aarch64
3633
- CIBW_MANYLINUX_PYPY_AARCH64_IMAGE: manylinux2014_base_aarch64
37-
- CIBW_TEST_COMMAND: python -m pygame.tests -v --exclude opengl,music,timing --time_out 300
38-
- CIBW_BUILD_VERBOSITY: 2
3934

4035
steps:
4136
- checkout
@@ -47,7 +42,7 @@ jobs:
4742
- run:
4843
name: Build the Linux wheels.
4944
command: |
50-
pip3 install --user cibuildwheel==2.18.1
45+
pip3 install --user cibuildwheel==2.21.3
5146
PATH="$HOME/.local/bin:$PATH" cibuildwheel --output-dir wheelhouse
5247
5348
- store_artifacts:
@@ -57,5 +52,15 @@ jobs:
5752
# See: https://circleci.com/docs/2.0/configuration-reference/#workflows
5853
workflows:
5954
build-arm:
55+
when:
56+
equal: [ "", << pipeline.parameters.GHA_Actor >> ]
57+
jobs:
58+
- linux-arm-wheels
59+
60+
# run a separate, identical release job only if triggered
61+
build-arm-release:
62+
when:
63+
not:
64+
equal: [ "", << pipeline.parameters.GHA_Actor >> ]
6065
jobs:
6166
- linux-arm-wheels

.gitattributes

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# define files/directories that won't be exported in an sdist
2+
# Keep in sync with MANIFEST.in
3+
.circleci/ export-ignore
4+
.github/ export-ignore
5+
buildconfig/ci/ export-ignore
6+
buildconfig/macdependencies/ export-ignore
7+
buildconfig/manylinux-build/ export-ignore
8+
9+
.editorconfig export-ignore
10+
.gitattributes export-ignore
11+
.gitignore export-ignore
12+
.pre-commit-config.yaml export-ignore

.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: 25 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,32 @@ assignees: ''
1111

1212
**Environment:**
1313

14-
You can get some of this info from the text that pops up in the console when you run a pygame program.
14+
If possible, please include the output of `pygame.print_debug_info()` from your program in your bug report. It looks something
15+
like this:
1516

16-
- **Operating system** (e.g. Windows, Linux(Debian), Linux(Ubuntu), Mac):
17-
- **Python version** (e.g. 3.11.1, 3.8.5) :
18-
- **SDL version** (e.g. SDL 2.0.12):
19-
- **pygame-ce version** (e.g. 2.4.0.dev4, 2.1.3):
17+
```
18+
pygame-ce 6.6.6 (SDL 2.30.3, Python 3.11.1)
19+
Platform: Windows-10-10.0.22631-SP0
20+
System: Windows
21+
System Version: 10.0.22631
22+
Processor: AMD64 Family 23 Model 113 Stepping 0, AuthenticAMD
23+
Architecture: Bits: 64bit Linkage: WindowsPE
24+
25+
Python: CPython 3.11.1 (tags/v3.11.1:a7a450f, Dec 6 2022, 19:58:39) [MSC v.1934 64 bit (AMD64)]
26+
pygame version: 2.5.0.dev3
27+
SDL versions: Linked: 2.30.3 Compiled: 2.30.3
28+
SDL Mixer versions: Linked: 2.8.0 Compiled: 2.8.0
29+
SDL Font versions: Linked: 2.22.0 Compiled: 2.22.0
30+
SDL Image versions: Linked: 2.8.2 Compiled: 2.8.2
31+
Freetype versions: Linked: 2.11.1 Compiled: 2.11.1
32+
33+
Display Driver: windows
34+
Mixer Driver: wasapi
35+
```
36+
If you can't get the debug output, any of the environment details included in it that you do know would be useful
37+
in diagnosing the issue & helping you.
38+
39+
Other environment details, not included in `print_debug_info()`, that might help:
2040
- **Relevant hardware** (e.g. if reporting a bug about a controller, tell us the brand & name of it):
2141

2242
**Current behavior:**

.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: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ env:
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.6
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 }}
@@ -107,7 +107,7 @@ jobs:
107107
export SDL_VIDEODRIVER=dummy
108108
export SDL_AUDIODRIVER=disk
109109
python3 -m pygame.tests -v --exclude opengl,music,timing --time_out 300
110-
110+
111111
# Upload the generated files under github actions assets section
112112
- name: Upload dist
113113
uses: actions/upload-artifact@v4
@@ -120,7 +120,7 @@ jobs:
120120
test-armv7-on-armv6:
121121
needs: build-multiarch
122122
name: Debian (Bookworm - 12) [build - armv7, test - armv6]
123-
runs-on: ubuntu-22.04
123+
runs-on: ubuntu-24.04
124124
steps:
125125
- name: Download all multiarch artifacts
126126
uses: actions/download-artifact@v4
@@ -136,7 +136,7 @@ jobs:
136136
done
137137
138138
- name: Test armv7 wheel on armv6
139-
uses: uraimo/run-on-arch-action@v2.7.2
139+
uses: uraimo/run-on-arch-action@v2.8.1
140140
with:
141141
arch: armv6
142142
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.6
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: 20 additions & 64 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.6
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.1.2
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
@@ -76,58 +76,18 @@ jobs:
7676
# path: ${{ github.workspace }}/pygame_mac_deps_${{ matrix.macarch }}
7777

7878
build:
79-
name: ${{ matrix.name }}
79+
name: ${{ matrix.macarch }}
8080
needs: deps
8181
runs-on: ${{ matrix.os }}
8282
strategy:
8383
fail-fast: false # if a particular matrix build fails, don't skip the rest
8484
matrix:
85-
# Split job into 5 matrix builds, because GH actions provides 5 concurrent
86-
# builds on macOS. This needs to be manually kept updated so that each
87-
# of these builds take roughly the same time
8885
include:
89-
- {
90-
name: "x86_64 (CPython 3.9 - 3.12)",
91-
macarch: x86_64,
92-
os: macos-13,
93-
pyversions: "cp3{9,10,11,12}-*",
94-
}
95-
96-
- {
97-
name: "x86_64 (Python 3.8)",
98-
macarch: x86_64,
99-
os: macos-13,
100-
# CPython/PyPy 3.8
101-
pyversions: "?p38-*",
102-
}
103-
104-
- {
105-
name: "x86_64 (PyPy 3.9 and 3.10)",
106-
macarch: x86_64,
107-
os: macos-13,
108-
pyversions: "pp39-* pp310-*",
109-
}
110-
111-
- {
112-
name: "arm64 (CPython 3.8 - 3.10)",
113-
macarch: arm64,
114-
os: macos-14,
115-
pyversions: "cp3{8,9,10}-*",
116-
}
117-
118-
- {
119-
name: "arm64 (CPython 3.11 - 3.12)",
120-
macarch: arm64,
121-
os: macos-14,
122-
pyversions: "cp3{11,12}-*",
123-
}
86+
- { macarch: arm64, os: macos-14 }
87+
- { macarch: x86_64, os: macos-13 }
12488

12589
env:
12690
MAC_ARCH: ${{ matrix.macarch }}
127-
# load pip config from this file. Define this in 'CIBW_ENVIRONMENT'
128-
# because this should not affect cibuildwheel machinery
129-
# also define environment variables needed for testing
130-
CIBW_ENVIRONMENT: SDL_VIDEODRIVER=dummy SDL_AUDIODRIVER=disk
13191

13292
# Explicitly tell CIBW what the wheel arch deployment target should be
13393
# There seems to be no better way to set this than this env
@@ -140,8 +100,6 @@ jobs:
140100
# should be for 10.11 on x86
141101
MACOSX_DEPLOYMENT_TARGET: ${{ matrix.macarch == 'x86_64' && '10.11' || '11.0' }}
142102

143-
CIBW_BUILD: ${{ matrix.pyversions }}
144-
145103
CIBW_ARCHS: ${{ matrix.macarch }}
146104

147105
# Setup macOS dependencies
@@ -152,40 +110,38 @@ jobs:
152110
bash ./install_mac_deps.sh
153111
154112
CIBW_BEFORE_BUILD: |
155-
pip install numpy
156113
cp -r ${{ github.workspace }}/pygame_mac_deps_${{ matrix.macarch }} ${{ github.workspace }}/pygame_mac_deps
157114
158115
# To remove any speculations about the wheel not being self-contained
159116
CIBW_BEFORE_TEST: rm -rf ${{ github.workspace }}/pygame_mac_deps
160117

161-
CIBW_TEST_COMMAND: python -m pygame.tests -v --exclude opengl,timing --time_out 300
162-
163-
# Increase pip debugging output
164-
CIBW_BUILD_VERBOSITY: 2
165-
166118
steps:
167-
- uses: actions/checkout@v4.1.6
119+
- uses: actions/checkout@v4.2.2
168120

169121
- name: pip cache
170-
uses: actions/cache@v4.0.2
122+
uses: actions/cache@v4.1.2
171123
with:
172124
path: ~/Library/Caches/pip # This cache path is only right on mac
173-
key: pip-cache-${{ matrix.name }}
125+
key: pip-cache-${{ matrix.macarch }}-${{ matrix.os }}
174126

175127
- name: Fetch Mac deps
176128
id: macdep-cache
177-
uses: actions/cache@v4.0.2
129+
uses: actions/cache@v4.1.2
178130
with:
179131
path: ${{ github.workspace }}/pygame_mac_deps_${{ matrix.macarch }}
180132
key: macdep-${{ hashFiles('buildconfig/manylinux-build/**') }}-${{ hashFiles('buildconfig/macdependencies/*.sh') }}-${{ matrix.macarch }}
181133
fail-on-cache-miss: true
182134

135+
- name: Install uv for speed
136+
uses: yezz123/setup-uv@v4
137+
with:
138+
uv-version: "0.4.10"
139+
183140
- name: Build and test wheels
184-
uses: pypa/cibuildwheel@v2.18.1
141+
uses: pypa/cibuildwheel@v2.21.3
185142

186143
- uses: actions/upload-artifact@v4
187144
with:
188-
name: pygame-wheels-macos-${{ matrix.name }}
145+
name: pygame-wheels-macos-${{ matrix.macarch }}
189146
path: ./wheelhouse/*.whl
190147
compression-level: 0 # wheels are already zip files, no need for more compression
191-

0 commit comments

Comments
 (0)