mirror of
https://github.com/python-pillow/Pillow.git
synced 2025-07-10 16:22:22 +03:00
Merge 75bb959a02
into b1f7ba0a41
This commit is contained in:
commit
5624a87038
2
.github/mergify.yml
vendored
2
.github/mergify.yml
vendored
|
@ -7,7 +7,7 @@ pull_request_rules:
|
||||||
- status-success=Test Successful
|
- status-success=Test Successful
|
||||||
- status-success=Docker Test Successful
|
- status-success=Docker Test Successful
|
||||||
- status-success=Windows Test Successful
|
- status-success=Windows Test Successful
|
||||||
- status-success=MinGW
|
- status-success=MSYS2 Test Successful
|
||||||
- status-success=Cygwin Test Successful
|
- status-success=Cygwin Test Successful
|
||||||
actions:
|
actions:
|
||||||
merge:
|
merge:
|
||||||
|
|
93
.github/workflows/test-mingw.yml
vendored
93
.github/workflows/test-mingw.yml
vendored
|
@ -1,93 +0,0 @@
|
||||||
name: Test MinGW
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- "**"
|
|
||||||
paths-ignore:
|
|
||||||
- ".github/workflows/docs.yml"
|
|
||||||
- ".github/workflows/wheels*"
|
|
||||||
- ".gitmodules"
|
|
||||||
- "docs/**"
|
|
||||||
- "wheels/**"
|
|
||||||
pull_request:
|
|
||||||
paths-ignore:
|
|
||||||
- ".github/workflows/docs.yml"
|
|
||||||
- ".github/workflows/wheels*"
|
|
||||||
- ".gitmodules"
|
|
||||||
- "docs/**"
|
|
||||||
- "wheels/**"
|
|
||||||
workflow_dispatch:
|
|
||||||
|
|
||||||
permissions:
|
|
||||||
contents: read
|
|
||||||
|
|
||||||
concurrency:
|
|
||||||
group: ${{ github.workflow }}-${{ github.ref }}
|
|
||||||
cancel-in-progress: true
|
|
||||||
|
|
||||||
env:
|
|
||||||
COVERAGE_CORE: sysmon
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
build:
|
|
||||||
runs-on: windows-latest
|
|
||||||
|
|
||||||
defaults:
|
|
||||||
run:
|
|
||||||
shell: bash.exe --login -eo pipefail "{0}"
|
|
||||||
env:
|
|
||||||
MSYSTEM: MINGW64
|
|
||||||
CHERE_INVOKING: 1
|
|
||||||
|
|
||||||
timeout-minutes: 30
|
|
||||||
name: "MinGW"
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Checkout Pillow
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
with:
|
|
||||||
persist-credentials: false
|
|
||||||
|
|
||||||
- name: Set up shell
|
|
||||||
run: echo "C:\msys64\usr\bin\" >> $env:GITHUB_PATH
|
|
||||||
shell: pwsh
|
|
||||||
|
|
||||||
- name: Install dependencies
|
|
||||||
run: |
|
|
||||||
pacman -S --noconfirm \
|
|
||||||
mingw-w64-x86_64-freetype \
|
|
||||||
mingw-w64-x86_64-gcc \
|
|
||||||
mingw-w64-x86_64-ghostscript \
|
|
||||||
mingw-w64-x86_64-lcms2 \
|
|
||||||
mingw-w64-x86_64-libimagequant \
|
|
||||||
mingw-w64-x86_64-libjpeg-turbo \
|
|
||||||
mingw-w64-x86_64-libraqm \
|
|
||||||
mingw-w64-x86_64-libtiff \
|
|
||||||
mingw-w64-x86_64-libwebp \
|
|
||||||
mingw-w64-x86_64-openjpeg2 \
|
|
||||||
mingw-w64-x86_64-python-numpy \
|
|
||||||
mingw-w64-x86_64-python-olefile \
|
|
||||||
mingw-w64-x86_64-python-pip \
|
|
||||||
mingw-w64-x86_64-python-pytest \
|
|
||||||
mingw-w64-x86_64-python-pytest-cov \
|
|
||||||
mingw-w64-x86_64-python-pytest-timeout \
|
|
||||||
mingw-w64-x86_64-python-pyqt6
|
|
||||||
|
|
||||||
pushd depends && ./install_extra_test_images.sh && popd
|
|
||||||
|
|
||||||
- name: Build Pillow
|
|
||||||
run: CFLAGS="-coverage" python3 -m pip install .
|
|
||||||
|
|
||||||
- name: Test Pillow
|
|
||||||
run: |
|
|
||||||
python3 selftest.py --installed
|
|
||||||
.ci/test.sh
|
|
||||||
|
|
||||||
- name: Upload coverage
|
|
||||||
uses: codecov/codecov-action@v5
|
|
||||||
with:
|
|
||||||
files: ./coverage.xml
|
|
||||||
flags: GHA_Windows
|
|
||||||
name: "MSYS2 MinGW"
|
|
||||||
token: ${{ secrets.CODECOV_ORG_TOKEN }}
|
|
115
.github/workflows/test-msys2.yml
vendored
Normal file
115
.github/workflows/test-msys2.yml
vendored
Normal file
|
@ -0,0 +1,115 @@
|
||||||
|
name: Test MSYS2
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- "**"
|
||||||
|
paths-ignore:
|
||||||
|
- ".github/workflows/docs.yml"
|
||||||
|
- ".github/workflows/wheels*"
|
||||||
|
- ".gitmodules"
|
||||||
|
- "docs/**"
|
||||||
|
- "wheels/**"
|
||||||
|
pull_request:
|
||||||
|
paths-ignore:
|
||||||
|
- ".github/workflows/docs.yml"
|
||||||
|
- ".github/workflows/wheels*"
|
||||||
|
- ".gitmodules"
|
||||||
|
- "docs/**"
|
||||||
|
- "wheels/**"
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
|
||||||
|
concurrency:
|
||||||
|
group: ${{ github.workflow }}-${{ github.ref }}
|
||||||
|
cancel-in-progress: true
|
||||||
|
|
||||||
|
env:
|
||||||
|
COVERAGE_CORE: sysmon
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: windows-latest
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
include:
|
||||||
|
# skip to save CI time:
|
||||||
|
# see https://github.com/python-pillow/Pillow/pull/6888#issuecomment-1400392821
|
||||||
|
# - msystem: "UCRT64"
|
||||||
|
- msystem: "CLANG64"
|
||||||
|
- msystem: "MINGW64"
|
||||||
|
defaults:
|
||||||
|
run:
|
||||||
|
shell: bash.exe --login -eo pipefail "{0}"
|
||||||
|
env:
|
||||||
|
MSYSTEM: ${{ matrix.msystem }}
|
||||||
|
CHERE_INVOKING: 1
|
||||||
|
|
||||||
|
timeout-minutes: 30
|
||||||
|
name: MSYS2 ${{ matrix.msystem }}
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout Pillow
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
persist-credentials: false
|
||||||
|
|
||||||
|
- name: Set up shell
|
||||||
|
run: echo "C:\msys64\usr\bin\" >> $env:GITHUB_PATH
|
||||||
|
shell: pwsh
|
||||||
|
|
||||||
|
- name: Install dependencies
|
||||||
|
run: |
|
||||||
|
pacman -S --noconfirm \
|
||||||
|
make \
|
||||||
|
pactoys \
|
||||||
|
subversion
|
||||||
|
|
||||||
|
pacboy -S --noconfirm \
|
||||||
|
freetype:p \
|
||||||
|
gcc:p \
|
||||||
|
ghostscript:p \
|
||||||
|
lcms2:p \
|
||||||
|
libimagequant:p \
|
||||||
|
libjpeg-turbo:p \
|
||||||
|
libraqm:p \
|
||||||
|
libtiff:p \
|
||||||
|
libwebp:p \
|
||||||
|
openjpeg2:p \
|
||||||
|
python-numpy:p \
|
||||||
|
python-olefile:p \
|
||||||
|
python-pip:p \
|
||||||
|
python-pyqt6:p
|
||||||
|
|
||||||
|
python3 -m pip install pyroma pytest pytest-cov pytest-timeout
|
||||||
|
|
||||||
|
pushd depends && ./install_extra_test_images.sh && popd
|
||||||
|
|
||||||
|
- name: Build Pillow
|
||||||
|
run: .ci/build.sh
|
||||||
|
|
||||||
|
- name: Test Pillow
|
||||||
|
run: .ci/test.sh
|
||||||
|
|
||||||
|
- name: After success
|
||||||
|
run: .ci/after_success.sh
|
||||||
|
|
||||||
|
- name: Upload coverage
|
||||||
|
uses: codecov/codecov-action@v5
|
||||||
|
with:
|
||||||
|
files: ./coverage.xml
|
||||||
|
flags: GHA_Windows
|
||||||
|
name: MSYS2 ${{ matrix.msystem }}
|
||||||
|
|
||||||
|
success:
|
||||||
|
permissions:
|
||||||
|
contents: none
|
||||||
|
needs: build
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
name: MSYS2 Test Successful
|
||||||
|
steps:
|
||||||
|
- name: Success
|
||||||
|
run: echo MSYS2 Test Successful
|
|
@ -162,32 +162,44 @@ Many of Pillow's features require external libraries:
|
||||||
|
|
||||||
.. tab:: Windows using MSYS2/MinGW
|
.. tab:: Windows using MSYS2/MinGW
|
||||||
|
|
||||||
To build Pillow using MSYS2, make sure you run the **MSYS2 MinGW 32-bit** or
|
The following instructions are for the **MSYS2 UCRT64** system.
|
||||||
**MSYS2 MinGW 64-bit** console, *not* **MSYS2** directly.
|
To build Pillow on one of the other MSYS2 systems, replace all occurences of
|
||||||
|
``mingw-w64-ucrt-x86_64`` with the corresponding prefix:
|
||||||
|
|
||||||
The following instructions target the 64-bit build, for 32-bit
|
.. list-table::
|
||||||
replace all occurrences of ``mingw-w64-x86_64-`` with ``mingw-w64-i686-``.
|
:header-rows: 1
|
||||||
|
|
||||||
|
* - MSYS2 system
|
||||||
|
- Package prefix
|
||||||
|
* - **UCRT64**
|
||||||
|
- ``mingw-w64-ucrt-x86_64``
|
||||||
|
* - **CLANG64**
|
||||||
|
- ``mingw-w64-clang-x86_64``
|
||||||
|
* - **MINGW64**
|
||||||
|
- ``mingw-w64-x86_64``
|
||||||
|
|
||||||
|
Installing in **MSYS2 MSYS** is not supported.
|
||||||
|
|
||||||
Make sure you have Python and GCC installed::
|
Make sure you have Python and GCC installed::
|
||||||
|
|
||||||
pacman -S \
|
pacman -S \
|
||||||
mingw-w64-x86_64-gcc \
|
mingw-w64-ucrt-x86_64-gcc \
|
||||||
mingw-w64-x86_64-python3 \
|
mingw-w64-ucrt-x86_64-python3 \
|
||||||
mingw-w64-x86_64-python3-pip \
|
mingw-w64-ucrt-x86_64-python3-pip \
|
||||||
mingw-w64-x86_64-python3-setuptools
|
mingw-w64-ucrt-x86_64-python3-setuptools
|
||||||
|
|
||||||
Prerequisites are installed on **MSYS2 MinGW 64-bit** with::
|
Prerequisites are installed on **MSYS2 UCRT64** with::
|
||||||
|
|
||||||
pacman -S \
|
pacman -S \
|
||||||
mingw-w64-x86_64-libjpeg-turbo \
|
mingw-w64-ucrt-x86_64-libjpeg-turbo \
|
||||||
mingw-w64-x86_64-zlib \
|
mingw-w64-ucrt-x86_64-zlib \
|
||||||
mingw-w64-x86_64-libtiff \
|
mingw-w64-ucrt-x86_64-libtiff \
|
||||||
mingw-w64-x86_64-freetype \
|
mingw-w64-ucrt-x86_64-freetype \
|
||||||
mingw-w64-x86_64-lcms2 \
|
mingw-w64-ucrt-x86_64-lcms2 \
|
||||||
mingw-w64-x86_64-libwebp \
|
mingw-w64-ucrt-x86_64-libwebp \
|
||||||
mingw-w64-x86_64-openjpeg2 \
|
mingw-w64-ucrt-x86_64-openjpeg2 \
|
||||||
mingw-w64-x86_64-libimagequant \
|
mingw-w64-ucrt-x86_64-libimagequant \
|
||||||
mingw-w64-x86_64-libraqm
|
mingw-w64-ucrt-x86_64-libraqm
|
||||||
|
|
||||||
.. tab:: FreeBSD
|
.. tab:: FreeBSD
|
||||||
|
|
||||||
|
|
|
@ -53,7 +53,7 @@ These platforms are built and tested for every change.
|
||||||
| Windows Server 2022 | 3.10, 3.11, 3.12, 3.13, | x86-64 |
|
| Windows Server 2022 | 3.10, 3.11, 3.12, 3.13, | x86-64 |
|
||||||
| | PyPy3 | |
|
| | PyPy3 | |
|
||||||
| +----------------------------+---------------------+
|
| +----------------------------+---------------------+
|
||||||
| | 3.12 (MinGW) | x86-64 |
|
| | 3.12 (CLANG64, MINGW64) | x86-64 |
|
||||||
| +----------------------------+---------------------+
|
| +----------------------------+---------------------+
|
||||||
| | 3.9 (Cygwin) | x86-64 |
|
| | 3.9 (Cygwin) | x86-64 |
|
||||||
+----------------------------------+----------------------------+---------------------+
|
+----------------------------------+----------------------------+---------------------+
|
||||||
|
|
Loading…
Reference in New Issue
Block a user