-
-
Notifications
You must be signed in to change notification settings - Fork 2.4k
GHA: Test MSYS2/CLANG64 #6888
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
GHA: Test MSYS2/CLANG64 #6888
Changes from all commits
05f9e20
0546eb9
d367a31
eba0679
fa09950
f69347e
2e469bd
286db61
b853854
469f9e3
2dc6840
8d25ee1
1184c01
bf2ee41
40a874d
799d908
75bb959
dcab6e6
99c1146
8f6b6b9
75cfa5b
943ed5f
4a55cbd
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
This file was deleted.
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -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@v6 | ||
| 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 \ | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Add --needed |
||
| freetype:p \ | ||
| gcc:p \ | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. "gcc" - > "cc" |
||
| 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 | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. pytest, pytest-cov, and pytest-timeout can be (preferably?) installed by pacboy above |
||
|
|
||
| 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 | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -184,33 +184,45 @@ 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`` | ||
|
|
||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Please add CLANGARM64 as well? |
||
| Installing in **MSYS2 MSYS** is not supported. | ||
|
|
||
| Make sure you have Python and GCC installed:: | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. "GCC" -> "a C compiler" |
||
|
|
||
| pacman -S \ | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Might be an idea to add |
||
| mingw-w64-x86_64-gcc \ | ||
| mingw-w64-x86_64-python \ | ||
| mingw-w64-x86_64-python-pip \ | ||
| mingw-w64-x86_64-python-setuptools | ||
| mingw-w64-ucrt-x86_64-gcc \ | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. |
||
| 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-x86_64-libavif | ||
| 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 \ | ||
| mingw-w64-ucrt-x86_64-libavif | ||
|
|
||
| .. tab:: FreeBSD | ||
|
|
||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Add --needed