diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index fb6306af..901db2be 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -35,6 +35,7 @@ jobs: - "debian-12-bookworm-x86" - "debian-12-bookworm-amd64" - "fedora-38-amd64" + - "fedora-39-amd64" - "gentoo" - "ubuntu-20.04-focal-amd64" - "ubuntu-22.04-jammy-amd64-valgrind" diff --git a/Makefile b/Makefile index 54213dab..eac48993 100644 --- a/Makefile +++ b/Makefile @@ -10,6 +10,7 @@ TARGETS = \ debian-12-bookworm-x86 \ debian-12-bookworm-amd64 \ fedora-38-amd64 \ + fedora-39-amd64 \ gentoo \ manylinux2014-wheel-build \ manylinux_2_28-wheel-build \ diff --git a/fedora-39-amd64/Dockerfile b/fedora-39-amd64/Dockerfile new file mode 100644 index 00000000..6d45acf4 --- /dev/null +++ b/fedora-39-amd64/Dockerfile @@ -0,0 +1,42 @@ +FROM fedora:39 + +RUN dnf install -y \ + freetype-devel \ + fribidi-devel \ + gcc \ + harfbuzz-devel \ + lcms2-devel \ + libimagequant-devel \ + libjpeg-devel \ + libraqm-devel \ + libtiff-devel \ + libwebp-devel \ + make \ + openjpeg2-devel \ + python3-devel \ + python3-tkinter \ + python3-virtualenv \ + redhat-rpm-config \ + tcl-devel \ + tk-devel \ + util-linux \ + which \ + xorg-x11-server-Xvfb \ + zlib-devel \ + && dnf clean all + +RUN useradd pillow \ + && chown pillow:pillow /home/pillow + +RUN virtualenv -p /usr/bin/python3.12 --system-site-packages /vpy3 \ + && /vpy3/bin/pip install --no-cache-dir --upgrade pip \ + && /vpy3/bin/pip install --no-cache-dir cffi olefile pytest pytest-cov pytest-timeout \ + && /vpy3/bin/pip install --no-cache-dir numpy --only-binary=:all: || true \ + && chown -R pillow:pillow /vpy3 + +ADD depends /depends + +USER pillow +CMD ["depends/test.sh"] + +#docker run -v $GITHUB_WORKSPACE:/Pillow pythonpillow/fedora-39-amd64 diff --git a/fedora-39-amd64/Makefile b/fedora-39-amd64/Makefile new file mode 120000 index 00000000..5e7b0e26 --- /dev/null +++ b/fedora-39-amd64/Makefile @@ -0,0 +1 @@ +../Makefile.sub \ No newline at end of file diff --git a/fedora-39-amd64/test.sh b/fedora-39-amd64/test.sh new file mode 100755 index 00000000..f1b1726c --- /dev/null +++ b/fedora-39-amd64/test.sh @@ -0,0 +1,7 @@ +#!/bin/bash +source /vpy3/bin/activate +cd /Pillow +make clean +make install-coverage +python3 -c "from PIL import Image" +/usr/bin/xvfb-run -a pytest -vx --cov PIL --cov-report term Tests diff --git a/fedora-39-amd64/update.sh b/fedora-39-amd64/update.sh new file mode 100755 index 00000000..509a006e --- /dev/null +++ b/fedora-39-amd64/update.sh @@ -0,0 +1,2 @@ +#!/bin/sh +docker pull fedora:39