From 54dd17cf13720feb220e5aa435872210898368c2 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Mon, 2 Nov 2026 18:00:20 +1100 Subject: [PATCH] Add Python 3.15 to manylinux build image --- .github/workflows/build.yml | 6 +++--- manylinux_2_28-wheel-build/Makefile | 8 +++++--- manylinux_2_28-wheel-build/README.md | 4 ++-- manylinux_2_28-wheel-build/build.sh | 4 ++-- 4 files changed, 12 insertions(+), 10 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 738a8f29..65ad4159 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -22,7 +22,7 @@ jobs: - "ubuntu-26.04-resolute-ppc64le" - "ubuntu-26.04-resolute-s390x" # test image for manylinux-wheel build - - "fedora-44-amd64" + - "fedora-45-amd64" # Then run the remainder - "alpine" - "amazon-2023-amd64" @@ -30,7 +30,7 @@ jobs: - "centos-stream-9-amd64" - "centos-stream-10-amd64" - "debian-13-trixie-amd64" - - "fedora-45-amd64" + - "fedora-44-amd64" - "gentoo" - "ubuntu-24.04-noble-amd64" - "ubuntu-26.04-resolute-amd64" @@ -41,7 +41,7 @@ jobs: - image: "debian-13-trixie-x86" os: "ubuntu-24.04" - image: "manylinux_2_28-wheel-build" - test-image: "fedora-44-amd64" + test-image: "fedora-45-amd64" - image: "ubuntu-26.04-resolute-ppc64le" qemu-arch: "ppc64le" docker-args: "--platform linux/ppc64le" diff --git a/manylinux_2_28-wheel-build/Makefile b/manylinux_2_28-wheel-build/Makefile index 832f7a1f..9e89341a 100644 --- a/manylinux_2_28-wheel-build/Makefile +++ b/manylinux_2_28-wheel-build/Makefile @@ -3,7 +3,7 @@ TARGET := $(notdir $(WD)) ROOT := $(abspath $(WD)/../Pillow) IMAGENAME := $(if $(DOCKER_USERNAME), $(DOCKER_USERNAME)/$(TARGET), $(TARGET)) BRANCH := $(shell git rev-parse --abbrev-ref HEAD) -TEST_TARGET = fedora-44-amd64 +TEST_TARGET = fedora-45-amd64 TEST_IMAGE := $(if $(DOCKER_USERNAME), $(DOCKER_USERNAME)/$(TEST_TARGET):$(BRANCH), pythonpillow/$(TEST_TARGET):main) .PHONY: build @@ -28,10 +28,12 @@ wheel: _PYVER=313 $(MAKE) wheel 314: _PYVER=314 $(MAKE) wheel +315: + _PYVER=315 $(MAKE) wheel .PHONY: test -test: 314 - docker run --rm -v $(ROOT):/Pillow -v `pwd`/out:/output $(TEST_IMAGE) sh -c ". /vpy3/bin/activate && python3 -m pip install /output/*cp314-*manylinux_2_28_x86_64.whl && cd /Pillow && python3 selftest.py && /usr/bin/xvfb-run -a make test-p" +test: 315 + docker run --rm -v $(ROOT):/Pillow -v `pwd`/out:/output $(TEST_IMAGE) sh -c ". /vpy3/bin/activate && python3 -m pip install /output/*cp315-*manylinux_2_28_x86_64.whl && cd /Pillow && python3 selftest.py && /usr/bin/xvfb-run -a make test-p" .PHONY: push push: diff --git a/manylinux_2_28-wheel-build/README.md b/manylinux_2_28-wheel-build/README.md index 4c972947..61095397 100644 --- a/manylinux_2_28-wheel-build/README.md +++ b/manylinux_2_28-wheel-build/README.md @@ -16,9 +16,9 @@ symbols for debugging with Valgrind/GDB. The Makefile has several new commands: -* make wheel: Makes a Python 3.14 manylinux_2_28 wheel, and puts it in the +* make wheel: Makes a Python 3.15 manylinux_2_28 wheel, and puts it in the ./out directory. -* make 311|312|313|314: These are specific commands to make the +* make 311|312|313|314|315: These are specific commands to make the corresponding 3.x version in the ./out directory. The test target here is mainly to validate the image build, it is diff --git a/manylinux_2_28-wheel-build/build.sh b/manylinux_2_28-wheel-build/build.sh index 49576c60..aa90b1a9 100755 --- a/manylinux_2_28-wheel-build/build.sh +++ b/manylinux_2_28-wheel-build/build.sh @@ -16,9 +16,9 @@ fi # not strictly necessary, unless running multiple versions from the shell rm -f /tmp/*.whl || true -# Python version, as 311,312,313|314. Defaults to 314. +# Python version, as 311,312,313|314|315. Defaults to 315. # Matches the naming in /opt/python/ -PYVER=${1:-314} +PYVER=${1:-315} PYBIN=$(echo /opt/python/cp${PYVER}-cp${PYVER}/bin) # We have to clean up the Pillow directories, otherwise we might get