Skip to content

Commit af7954b

Browse files
authored
Merge branch 'main' into progress
2 parents 62786fd + 5ba72a9 commit af7954b

File tree

182 files changed

+2470
-2213
lines changed

Some content is hidden

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

182 files changed

+2470
-2213
lines changed

.appveyor.yml

-99
This file was deleted.

.ci/after_success.sh

+1-5
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,4 @@
22

33
# gather the coverage data
44
python3 -m pip install coverage
5-
if [[ $MATRIX_DOCKER ]]; then
6-
python3 -m coverage xml --ignore-errors
7-
else
8-
python3 -m coverage xml
9-
fi
5+
python3 -m coverage xml

.ci/build.sh

-3
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,5 @@
33
set -e
44

55
python3 -m coverage erase
6-
if [ $(uname) == "Darwin" ]; then
7-
export CPPFLAGS="-I/usr/local/miniconda/include";
8-
fi
96
make clean
107
make install-coverage

.ci/install.sh

+2-2
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,12 @@
22

33
aptget_update()
44
{
5-
if [ ! -z $1 ]; then
5+
if [ -n "$1" ]; then
66
echo ""
77
echo "Retrying apt-get update..."
88
echo ""
99
fi
10-
output=`sudo apt-get update 2>&1`
10+
output=$(sudo apt-get update 2>&1)
1111
echo "$output"
1212
if [[ $output == *[WE]:\ * ]]; then
1313
return 1

.ci/requirements-cibw.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
cibuildwheel==2.22.0
1+
cibuildwheel==2.23.0

.ci/requirements-mypy.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
mypy==1.14.0
1+
mypy==1.15.0
22
IceSpringPySideStubs-PyQt6
33
IceSpringPySideStubs-PySide6
44
ipython

.github/CONTRIBUTING.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -9,15 +9,15 @@ Please send a pull request to the `main` branch. Please include [documentation](
99
- Fork the Pillow repository.
1010
- Create a branch from `main`.
1111
- Develop bug fixes, features, tests, etc.
12-
- Run the test suite. You can enable GitHub Actions (https://github.com/MY-USERNAME/Pillow/actions) and [AppVeyor](https://ci.appveyor.com/projects/new) on your repo to catch test failures prior to the pull request, and [Codecov](https://codecov.io/gh) to see if the changed code is covered by tests.
12+
- Run the test suite. You can enable GitHub Actions (https://github.com/MY-USERNAME/Pillow/actions) on your repo to catch test failures prior to the pull request, and [Codecov](https://codecov.io/gh) to see if the changed code is covered by tests.
1313
- Create a pull request to pull the changes from your branch to the Pillow `main`.
1414

1515
### Guidelines
1616

1717
- Separate code commits from reformatting commits.
1818
- Provide tests for any newly added code.
1919
- Follow PEP 8.
20-
- When committing only documentation changes please include `[ci skip]` in the commit message to avoid running tests on AppVeyor.
20+
- When committing only documentation changes please include `[ci skip]` in the commit message to avoid running extra tests.
2121
- Include [release notes](https://github.com/python-pillow/Pillow/tree/main/docs/releasenotes) as needed or appropriate with your bug fixes, feature additions and tests.
2222

2323
## Reporting Issues

.github/mergify.yml

-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ pull_request_rules:
99
- status-success=Windows Test Successful
1010
- status-success=MinGW
1111
- status-success=Cygwin Test Successful
12-
- status-success=continuous-integration/appveyor/pr
1312
actions:
1413
merge:
1514
method: merge

.github/workflows/macos-install.sh

+1-5
Original file line numberDiff line numberDiff line change
@@ -10,15 +10,11 @@ brew install \
1010
ghostscript \
1111
jpeg-turbo \
1212
libimagequant \
13+
libraqm \
1314
libtiff \
1415
little-cms2 \
1516
openjpeg \
1617
webp
17-
if [[ "$ImageOS" == "macos13" ]]; then
18-
brew install --ignore-dependencies libraqm
19-
else
20-
brew install libraqm
21-
fi
2218
export PKG_CONFIG_PATH="/usr/local/opt/openblas/lib/pkgconfig"
2319

2420
python3 -m pip install coverage

.github/workflows/test-cygwin.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ jobs:
5252
persist-credentials: false
5353

5454
- name: Install Cygwin
55-
uses: cygwin/cygwin-install-action@v4
55+
uses: cygwin/cygwin-install-action@v5
5656
with:
5757
packages: >
5858
gcc-g++

.github/workflows/test-docker.yml

+13-11
Original file line numberDiff line numberDiff line change
@@ -29,21 +29,18 @@ concurrency:
2929
jobs:
3030
build:
3131

32-
runs-on: ubuntu-latest
32+
runs-on: ${{ matrix.os }}
3333
strategy:
3434
fail-fast: false
3535
matrix:
36+
os: ["ubuntu-latest"]
3637
docker: [
37-
# Run slower jobs first to give them a headstart and reduce waiting time
38-
ubuntu-22.04-jammy-arm64v8,
39-
ubuntu-24.04-noble-ppc64le,
40-
ubuntu-24.04-noble-s390x,
41-
# Then run the remainder
4238
alpine,
4339
amazon-2-amd64,
4440
amazon-2023-amd64,
4541
arch,
4642
centos-stream-9-amd64,
43+
centos-stream-10-amd64,
4744
debian-12-bookworm-x86,
4845
debian-12-bookworm-amd64,
4946
fedora-40-amd64,
@@ -54,12 +51,17 @@ jobs:
5451
]
5552
dockerTag: [main]
5653
include:
57-
- docker: "ubuntu-22.04-jammy-arm64v8"
58-
qemu-arch: "aarch64"
5954
- docker: "ubuntu-24.04-noble-ppc64le"
55+
os: "ubuntu-22.04"
6056
qemu-arch: "ppc64le"
57+
dockerTag: main
6158
- docker: "ubuntu-24.04-noble-s390x"
59+
os: "ubuntu-22.04"
6260
qemu-arch: "s390x"
61+
dockerTag: main
62+
- docker: "ubuntu-24.04-noble-arm64v8"
63+
os: "ubuntu-24.04-arm"
64+
dockerTag: main
6365

6466
name: ${{ matrix.docker }}
6567

@@ -89,15 +91,15 @@ jobs:
8991
9092
- name: After success
9193
run: |
92-
PATH="$PATH:~/.local/bin"
9394
docker start pillow_container
95+
sudo docker cp pillow_container:/Pillow /Pillow
96+
sudo chown -R runner /Pillow
9497
pil_path=`docker exec pillow_container /vpy3/bin/python -c 'import os, PIL;print(os.path.realpath(os.path.dirname(PIL.__file__)))'`
9598
docker stop pillow_container
9699
sudo mkdir -p $pil_path
97100
sudo cp src/PIL/*.py $pil_path
101+
cd /Pillow
98102
.ci/after_success.sh
99-
env:
100-
MATRIX_DOCKER: ${{ matrix.docker }}
101103
102104
- name: Upload coverage
103105
uses: codecov/codecov-action@v5

.github/workflows/test-mingw.yml

+3-3
Original file line numberDiff line numberDiff line change
@@ -66,9 +66,9 @@ jobs:
6666
mingw-w64-x86_64-libtiff \
6767
mingw-w64-x86_64-libwebp \
6868
mingw-w64-x86_64-openjpeg2 \
69-
mingw-w64-x86_64-python3-numpy \
70-
mingw-w64-x86_64-python3-olefile \
71-
mingw-w64-x86_64-python3-pip \
69+
mingw-w64-x86_64-python-numpy \
70+
mingw-w64-x86_64-python-olefile \
71+
mingw-w64-x86_64-python-pip \
7272
mingw-w64-x86_64-python-pytest \
7373
mingw-w64-x86_64-python-pytest-cov \
7474
mingw-w64-x86_64-python-pytest-timeout \

.github/workflows/test-windows.yml

+10-4
Original file line numberDiff line numberDiff line change
@@ -31,15 +31,20 @@ env:
3131

3232
jobs:
3333
build:
34-
runs-on: windows-latest
34+
runs-on: ${{ matrix.os }}
3535
strategy:
3636
fail-fast: false
3737
matrix:
38-
python-version: ["pypy3.10", "3.9", "3.10", "3.11", "3.12", "3.13"]
38+
python-version: ["pypy3.11", "pypy3.10", "3.10", "3.11", "3.12", "3.13", "3.14"]
39+
architecture: ["x64"]
40+
os: ["windows-latest"]
41+
include:
42+
# Test the oldest Python on 32-bit
43+
- { python-version: "3.9", architecture: "x86", os: "windows-2019" }
3944

4045
timeout-minutes: 30
4146

42-
name: Python ${{ matrix.python-version }}
47+
name: Python ${{ matrix.python-version }} (${{ matrix.architecture }})
4348

4449
steps:
4550
- name: Checkout Pillow
@@ -67,6 +72,7 @@ jobs:
6772
with:
6873
python-version: ${{ matrix.python-version }}
6974
allow-prereleases: true
75+
architecture: ${{ matrix.architecture }}
7076
cache: pip
7177
cache-dependency-path: ".github/workflows/test-windows.yml"
7278

@@ -78,7 +84,7 @@ jobs:
7884
python3 -m pip install --upgrade pip
7985
8086
- name: Install CPython dependencies
81-
if: "!contains(matrix.python-version, 'pypy')"
87+
if: "!contains(matrix.python-version, 'pypy') && matrix.architecture != 'x86'"
8288
run: |
8389
python3 -m pip install PyQt6
8490

.github/workflows/test.yml

+2
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,9 @@ jobs:
4141
"ubuntu-latest",
4242
]
4343
python-version: [
44+
"pypy3.11",
4445
"pypy3.10",
46+
"3.14",
4547
"3.13t",
4648
"3.13",
4749
"3.12",

0 commit comments

Comments
 (0)