Pillow/.github/workflows/test-cygwin.yml

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

150 lines
3.7 KiB
YAML
Raw Normal View History

name: Test Cygwin
on:
push:
2023-10-15 20:46:25 +03:00
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
2022-11-25 14:05:57 +03:00
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
env:
COVERAGE_CORE: sysmon
jobs:
build:
2022-02-02 06:44:16 +03:00
runs-on: windows-latest
strategy:
fail-fast: false
matrix:
2022-12-21 04:47:46 +03:00
python-minor-version: [8, 9]
timeout-minutes: 40
name: Python 3.${{ matrix.python-minor-version }}
steps:
- name: Fix line endings
run: |
git config --global core.autocrlf input
- name: Checkout Pillow
2023-09-05 00:04:29 +03:00
uses: actions/checkout@v4
- name: Install Cygwin
uses: cygwin/cygwin-install-action@v4
with:
packages: >
2023-01-28 17:40:11 +03:00
gcc-g++
ghostscript
ImageMagick
jpeg
libfreetype-devel
libimagequant-devel
libjpeg-devel
liblapack-devel
liblcms2-devel
libopenjp2-devel
libraqm-devel
libtiff-devel
libwebp-devel
libxcb-devel
libxcb-xinerama0
make
netpbm
perl
2022-04-23 15:25:58 +03:00
python3${{ matrix.python-minor-version }}-cffi
python3${{ matrix.python-minor-version }}-cython
python3${{ matrix.python-minor-version }}-devel
python3${{ matrix.python-minor-version }}-numpy
python3${{ matrix.python-minor-version }}-sip
2022-04-23 15:25:58 +03:00
python3${{ matrix.python-minor-version }}-tkinter
2023-01-28 17:40:25 +03:00
wget
2023-01-28 17:40:11 +03:00
xorg-server-extra
zlib-devel
- name: Add Lapack to PATH
2024-02-01 00:14:01 +03:00
uses: egor-tensin/cleanup-path@v4
with:
dirs: 'C:\cygwin\bin;C:\cygwin\lib\lapack'
2022-05-07 07:52:28 +03:00
- name: Select Python version
run: |
ln -sf c:/cygwin/bin/python3.${{ matrix.python-minor-version }} c:/cygwin/bin/python3
- name: pip cache
2024-01-20 09:07:48 +03:00
uses: actions/cache@v4
with:
2022-04-21 17:26:12 +03:00
path: 'C:\cygwin\home\runneradmin\.cache\pip'
2024-03-15 12:41:15 +03:00
key: ${{ runner.os }}-cygwin-pip3.${{ matrix.python-minor-version }}-${{ hashFiles('.ci/install.sh') }}
restore-keys: |
2024-03-15 12:41:15 +03:00
${{ runner.os }}-cygwin-pip3.${{ matrix.python-minor-version }}-
2023-04-15 02:41:19 +03:00
- name: Build system information
run: |
dash.exe -c "python3 .github/workflows/system-info.py"
2022-02-02 07:14:31 +03:00
- name: Install dependencies
run: |
2022-02-02 07:14:31 +03:00
bash.exe .ci/install.sh
2022-02-02 07:14:31 +03:00
- name: Build
shell: bash.exe -eo pipefail -o igncr "{0}"
run: |
2023-05-21 07:38:05 +03:00
.ci/build.sh
2022-02-02 07:14:31 +03:00
- name: Test
run: |
bash.exe xvfb-run -s '-screen 0 1024x768x24' .ci/test.sh
2022-02-02 07:09:49 +03:00
- name: Prepare to upload errors
if: failure()
run: |
dash.exe -c "mkdir -p Tests/errors"
2022-02-02 07:09:49 +03:00
- name: Upload errors
uses: actions/upload-artifact@v4
2022-02-02 07:09:49 +03:00
if: failure()
with:
name: errors
path: Tests/errors
- name: After success
run: |
bash.exe .ci/after_success.sh
- name: Upload coverage
2024-02-03 15:43:04 +03:00
uses: codecov/codecov-action@v3.1.5
with:
file: ./coverage.xml
flags: GHA_Cygwin
name: Cygwin Python 3.${{ matrix.python-minor-version }}
2022-02-02 07:26:38 +03:00
success:
permissions:
contents: none
2022-02-02 07:26:38 +03:00
needs: build
runs-on: ubuntu-latest
name: Cygwin Test Successful
steps:
- name: Success
run: echo Cygwin Test Successful