Skip to content

Commit ad833b8

Browse files
authored
Merge branch 'main' into fix-premul-alpha-bytewidth
2 parents 34f230b + 0547247 commit ad833b8

File tree

130 files changed

+4004
-2167
lines changed

Some content is hidden

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

130 files changed

+4004
-2167
lines changed

.circleci/config.yml

Lines changed: 1 addition & 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.19.2
5146
PATH="$HOME/.local/bin:$PATH" cibuildwheel --output-dir wheelhouse
5247
5348
- store_artifacts:

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ jobs:
6565
- { arch: armv7, base_image: 'balenalib/raspberrypi3-debian:bookworm' }
6666

6767
steps:
68-
- uses: actions/[email protected].6
68+
- uses: actions/[email protected].7
6969

7070
- name: Build sources and run tests
7171
uses: uraimo/[email protected]

.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/[email protected].6
44+
- uses: actions/[email protected].7
4545

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

.github/workflows/build-macos.yml

Lines changed: 13 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ jobs:
4747
- { macarch: x86_64, os: macos-13 }
4848

4949
steps:
50-
- uses: actions/[email protected].6
50+
- uses: actions/[email protected].7
5151

5252
- name: Test for Mac Deps cache hit
5353
id: macdep-cache
@@ -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,25 +110,19 @@ 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/[email protected].6
119+
- uses: actions/[email protected].7
168120

169121
- name: pip cache
170122
uses: actions/[email protected]
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
@@ -180,12 +132,17 @@ jobs:
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.2.22"
139+
183140
- name: Build and test wheels
184-
uses: pypa/cibuildwheel@v2.18.1
141+
uses: pypa/cibuildwheel@v2.19.2
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
191148

.github/workflows/build-manylinux.yml

Lines changed: 3 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -49,32 +49,10 @@ jobs:
4949
arch: [x86_64, i686]
5050

5151
env:
52-
# load pip config from this file. Define this in 'CIBW_ENVIRONMENT'
53-
# because this should not affect cibuildwheel machinery
54-
# also define environment variables needed for testing
55-
CIBW_ENVIRONMENT: SDL_VIDEODRIVER=dummy SDL_AUDIODRIVER=disk
56-
57-
CIBW_BUILD: "cp3{8,9,10,11,12}-* pp3{8,9,10}-*"
5852
CIBW_ARCHS: ${{ matrix.arch }}
5953

60-
# skip musllinux for now
61-
CIBW_SKIP: '*-musllinux_*'
62-
63-
CIBW_TEST_COMMAND: python -m pygame.tests -v --exclude opengl,music,timing --time_out 300
64-
65-
# To 'solve' this issue:
66-
# >>> process 338: D-Bus library appears to be incorrectly set up; failed to read
67-
# machine uuid: Failed to open "/var/lib/dbus/machine-id": No such file or directory
68-
CIBW_BEFORE_TEST: |
69-
if [ ! -f /var/lib/dbus/machine-id ]; then
70-
dbus-uuidgen > /var/lib/dbus/machine-id
71-
fi
72-
73-
# Increase pip debugging output
74-
CIBW_BUILD_VERBOSITY: 2
75-
7654
steps:
77-
- uses: actions/[email protected].6
55+
- uses: actions/[email protected].7
7856

7957
- name: Log in to the Container registry
8058
uses: docker/login-action@0d4c9c5ea7693da7b068278f7b52bda2a190a446
@@ -97,7 +75,7 @@ jobs:
9775

9876
- name: Build and push Docker image
9977
if: steps.inspect.outcome == 'failure'
100-
uses: docker/build-push-action@2cdde995de11925a030ce8070c3d77a52ffcf1c0
78+
uses: docker/build-push-action@1ca370b3a9802c92e886402e0dd88098a2533b12
10179
with:
10280
context: ${{ github.workspace }}/buildconfig/manylinux-build/docker_base
10381
file: ${{ github.workspace }}/buildconfig/manylinux-build/docker_base/Dockerfile-${{ matrix.arch }}
@@ -113,7 +91,7 @@ jobs:
11391
CIBW_MANYLINUX_I686_IMAGE: ghcr.io/${{ github.repository }}_i686:${{ steps.meta.outputs.version }}
11492
CIBW_MANYLINUX_PYPY_I686_IMAGE: ghcr.io/${{ github.repository }}_i686:${{ steps.meta.outputs.version }}
11593

116-
uses: pypa/cibuildwheel@v2.18.1
94+
uses: pypa/cibuildwheel@v2.19.2
11795

11896
# We upload the generated files under github actions assets
11997
- name: Upload dist

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ jobs:
4949
# - { sys: clangarm64, env: clang-aarch64 }
5050

5151
steps:
52-
- uses: actions/[email protected].6
52+
- uses: actions/[email protected].7
5353
- uses: msys2/setup-msys2@v2
5454
with:
5555
msystem: ${{ matrix.sys }}

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ jobs:
5151
os: [ubuntu-20.04, ubuntu-22.04]
5252

5353
steps:
54-
- uses: actions/[email protected].6
54+
- uses: actions/[email protected].7
5555

5656
- name: Install deps
5757
# install numpy from pip and not apt because the one from pip is newer,

.github/workflows/build-windows.yml

Lines changed: 11 additions & 96 deletions
Original file line numberDiff line numberDiff line change
@@ -37,120 +37,35 @@ concurrency:
3737

3838
jobs:
3939
build:
40-
name: ${{ matrix.name }}
40+
name: ${{ matrix.winarch }}
4141
runs-on: windows-latest
4242
strategy:
4343
fail-fast: false # if a particular matrix build fails, don't skip the rest
4444
matrix:
4545
include:
46-
- {
47-
name: "CPython 3.12 (64 bit)",
48-
winarch: AMD64,
49-
msvc-dev-arch: x86_amd64,
50-
pyversions: "cp312-*"
51-
}
52-
- {
53-
name: "CPython 3.11 (64 bit)",
54-
winarch: AMD64,
55-
msvc-dev-arch: x86_amd64,
56-
pyversions: "cp311-*"
57-
}
58-
- {
59-
name: "CPython 3.10 (64 bit)",
60-
winarch: AMD64,
61-
msvc-dev-arch: x86_amd64,
62-
pyversions: "cp310-*"
63-
}
64-
- {
65-
name: "CPython 3.9 (64 bit)",
66-
winarch: AMD64,
67-
msvc-dev-arch: x86_amd64,
68-
pyversions: "cp39-*"
69-
}
70-
- {
71-
name: "CPython 3.8 (64 bit)",
72-
winarch: AMD64,
73-
msvc-dev-arch: x86_amd64,
74-
pyversions: "cp38-*"
75-
}
76-
- {
77-
name: "CPython 3.12 (32 bit)",
78-
winarch: x86,
79-
msvc-dev-arch: x86,
80-
pyversions: "cp312-win32*"
81-
}
82-
- {
83-
name: "CPython 3.11 (32 bit)",
84-
winarch: x86,
85-
msvc-dev-arch: x86,
86-
pyversions: "cp311-win32"
87-
}
88-
- {
89-
name: "CPython 3.10 (32 bit)",
90-
winarch: x86,
91-
msvc-dev-arch: x86,
92-
pyversions: "cp310-win32"
93-
}
94-
- {
95-
name: "CPython 3.9 (32 bit)",
96-
winarch: x86,
97-
msvc-dev-arch: x86,
98-
pyversions: "cp39-win32"
99-
}
100-
- {
101-
name: "CPython 3.8 (32 bit)",
102-
winarch: x86,
103-
msvc-dev-arch: x86,
104-
pyversions: "cp38-win32"
105-
}
106-
- {
107-
name: "Pypy 3.8",
108-
winarch: AMD64,
109-
msvc-dev-arch: x86_amd64,
110-
pyversions: "pp38-*"
111-
}
112-
- {
113-
name: "Pypy 3.9",
114-
winarch: AMD64,
115-
msvc-dev-arch: x86_amd64,
116-
pyversions: "pp39-*"
117-
}
118-
- {
119-
name: "Pypy 3.10",
120-
winarch: AMD64,
121-
msvc-dev-arch: x86_amd64,
122-
pyversions: "pp310-*"
123-
}
124-
46+
- { winarch: AMD64, msvc-dev-arch: x86_amd64 }
47+
- { winarch: x86, msvc-dev-arch: x86 }
12548

12649
env:
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
131-
132-
CIBW_BUILD: ${{ matrix.pyversions }}
13350
CIBW_ARCHS: ${{ matrix.winarch }}
13451

135-
CIBW_BEFORE_BUILD: pip install numpy
136-
137-
CIBW_TEST_COMMAND: python -m pygame.tests -v --exclude opengl,timing --time_out 300
138-
139-
# Increase pip debugging output
140-
CIBW_BUILD_VERBOSITY: 2
141-
14252
steps:
143-
- uses: actions/[email protected].6
53+
- uses: actions/[email protected].7
14454

14555
- uses: TheMrMilchmann/setup-msvc-dev@v3 # this lets us use the developer command prompt on windows
14656
with:
14757
arch: ${{ matrix.msvc-dev-arch }}
14858

59+
- name: Install uv for speed
60+
uses: yezz123/setup-uv@v4
61+
with:
62+
uv-version: "0.2.22"
63+
14964
- name: Build and test wheels
150-
uses: pypa/cibuildwheel@v2.18.1
65+
uses: pypa/cibuildwheel@v2.19.2
15166

15267
- uses: actions/upload-artifact@v4
15368
with:
154-
name: pygame-wheels-windows-${{ matrix.name }}
69+
name: pygame-wheels-windows-${{ matrix.winarch }}
15570
path: ./wheelhouse/*.whl
15671
compression-level: 0 # wheels are already zip files, no need for more compression

.github/workflows/cppcheck.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ jobs:
2222
runs-on: ubuntu-20.04
2323

2424
steps:
25-
- uses: actions/[email protected].6
25+
- uses: actions/[email protected].7
2626

2727
- name: Install deps
2828
# https://github.com/actions/runner-images/issues/7192

.github/workflows/format-lint.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ jobs:
3030
pre-commit:
3131
runs-on: ubuntu-latest
3232
steps:
33-
- uses: actions/[email protected].6
33+
- uses: actions/[email protected].7
3434
- uses: actions/setup-python@v5
3535
with:
3636
python-version: 3.x
@@ -40,7 +40,7 @@ jobs:
4040
runs-on: ubuntu-22.04
4141

4242
steps:
43-
- uses: actions/[email protected].6
43+
- uses: actions/[email protected].7
4444

4545
- name: Install deps
4646
run: python3 -m pip install pylint sphinx"<7.2.0"

0 commit comments

Comments
 (0)