mirror of
https://github.com/python-pillow/Pillow.git
synced 2025-04-09 20:04:14 +03:00
Merge 75bb959a02
into b1f7ba0a41
This commit is contained in:
commit
5624a87038
.github
docs/installation
2
.github/mergify.yml
vendored
2
.github/mergify.yml
vendored
|
@ -7,7 +7,7 @@ pull_request_rules:
|
|||
- status-success=Test Successful
|
||||
- status-success=Docker Test Successful
|
||||
- status-success=Windows Test Successful
|
||||
- status-success=MinGW
|
||||
- status-success=MSYS2 Test Successful
|
||||
- status-success=Cygwin Test Successful
|
||||
actions:
|
||||
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
|
||||
|
||||
To build Pillow using MSYS2, make sure you run the **MSYS2 MinGW 32-bit** or
|
||||
**MSYS2 MinGW 64-bit** console, *not* **MSYS2** directly.
|
||||
The following instructions are for the **MSYS2 UCRT64** system.
|
||||
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
|
||||
replace all occurrences of ``mingw-w64-x86_64-`` with ``mingw-w64-i686-``.
|
||||
.. list-table::
|
||||
: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::
|
||||
|
||||
pacman -S \
|
||||
mingw-w64-x86_64-gcc \
|
||||
mingw-w64-x86_64-python3 \
|
||||
mingw-w64-x86_64-python3-pip \
|
||||
mingw-w64-x86_64-python3-setuptools
|
||||
mingw-w64-ucrt-x86_64-gcc \
|
||||
mingw-w64-ucrt-x86_64-python3 \
|
||||
mingw-w64-ucrt-x86_64-python3-pip \
|
||||
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 \
|
||||
mingw-w64-x86_64-libjpeg-turbo \
|
||||
mingw-w64-x86_64-zlib \
|
||||
mingw-w64-x86_64-libtiff \
|
||||
mingw-w64-x86_64-freetype \
|
||||
mingw-w64-x86_64-lcms2 \
|
||||
mingw-w64-x86_64-libwebp \
|
||||
mingw-w64-x86_64-openjpeg2 \
|
||||
mingw-w64-x86_64-libimagequant \
|
||||
mingw-w64-x86_64-libraqm
|
||||
mingw-w64-ucrt-x86_64-libjpeg-turbo \
|
||||
mingw-w64-ucrt-x86_64-zlib \
|
||||
mingw-w64-ucrt-x86_64-libtiff \
|
||||
mingw-w64-ucrt-x86_64-freetype \
|
||||
mingw-w64-ucrt-x86_64-lcms2 \
|
||||
mingw-w64-ucrt-x86_64-libwebp \
|
||||
mingw-w64-ucrt-x86_64-openjpeg2 \
|
||||
mingw-w64-ucrt-x86_64-libimagequant \
|
||||
mingw-w64-ucrt-x86_64-libraqm
|
||||
|
||||
.. 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 |
|
||||
| | PyPy3 | |
|
||||
| +----------------------------+---------------------+
|
||||
| | 3.12 (MinGW) | x86-64 |
|
||||
| | 3.12 (CLANG64, MINGW64) | x86-64 |
|
||||
| +----------------------------+---------------------+
|
||||
| | 3.9 (Cygwin) | x86-64 |
|
||||
+----------------------------------+----------------------------+---------------------+
|
||||
|
|
Loading…
Reference in New Issue
Block a user