mirror of
https://github.com/python-pillow/Pillow.git
synced 2025-01-11 17:56:18 +03:00
test-windows.yml pypy3, use actions/setup-python
This commit is contained in:
parent
74a7fd5985
commit
4d35cb9d0a
108
.github/workflows/test-windows.yml
vendored
108
.github/workflows/test-windows.yml
vendored
|
@ -7,26 +7,57 @@ jobs:
|
||||||
|
|
||||||
runs-on: windows-2016
|
runs-on: windows-2016
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
python-version:
|
python-version: ["3.5", "3.6", "3.7", "pypy3.6"]
|
||||||
- "3.5.4"
|
architecture: ["x86", "x64"]
|
||||||
- "3.6.8"
|
include:
|
||||||
- "3.7.4"
|
- architecture: "x86"
|
||||||
platform:
|
platform-vcvars: "x86"
|
||||||
- name: "x86"
|
platform-msbuild: "Win32"
|
||||||
vars: "x86"
|
- architecture: "x64"
|
||||||
msbuild: "Win32"
|
platform-vcvars: "x86_amd64"
|
||||||
- name: "x64"
|
platform-msbuild: "x64"
|
||||||
vars: "x86_amd64"
|
- python-version: "pypy3.6"
|
||||||
msbuild: "x64"
|
pypy-version: "pypy-c-jit-97588-7392d01b93d0-win32"
|
||||||
|
pypy-url: "http://buildbot.pypy.org/nightly/py3.6/pypy-c-jit-97588-7392d01b93d0-win32.zip"
|
||||||
|
# pypy-url: "https://bitbucket.org/pypy/pypy/downloads/${{ matrix.pypy-version }}.zip"
|
||||||
|
exclude:
|
||||||
|
- python-version: "pypy3.6"
|
||||||
|
architecture: "x64"
|
||||||
|
timeout-minutes: 30
|
||||||
|
|
||||||
name: Python ${{ matrix.python-version }} ${{ matrix.platform.name }}
|
name: Python ${{ matrix.python-version }} ${{ matrix.architecture }}
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v1
|
- uses: actions/checkout@v1
|
||||||
|
|
||||||
|
- name: Install PyPy
|
||||||
|
if: "contains(matrix.python-version, 'pypy')"
|
||||||
|
run: |
|
||||||
|
curl -fsSL -o pypy3.zip "${{ matrix.pypy-url }}"
|
||||||
|
7z x pypy3.zip "-o$env:RUNNER_WORKSPACE\"
|
||||||
|
mv "$env:RUNNER_WORKSPACE\${{ matrix.pypy-version }}" "$env:RUNNER_WORKSPACE\${{ matrix.python-version }}"
|
||||||
|
$env:PYTHON="$env:RUNNER_WORKSPACE\${{ matrix.python-version }}"
|
||||||
|
# set env: pythonLocation
|
||||||
|
Write-Host "`#`#[set-env name=pythonLocation;]$env:PYTHON" # old syntax https://github.com/actions/toolkit/issues/61
|
||||||
|
Write-Host "::set-env name=pythonLocation::$env:PYTHON" # new syntax https://github.com/actions/toolkit/blob/5bb77ec03fea98332e41f9347c8fbb1ce1e48f4a/docs/commands.md
|
||||||
|
New-Item -ItemType SymbolicLink -Path "$env:PYTHON\python.exe" -Target "$env:PYTHON\pypy3.exe"
|
||||||
|
curl -fsSL -o get-pip.py https://bootstrap.pypa.io/get-pip.py
|
||||||
|
& $env:PYTHON\python.exe get-pip.py
|
||||||
|
shell: pwsh
|
||||||
|
|
||||||
|
# sets env: pythonLocation
|
||||||
|
- name: Set up Python
|
||||||
|
if: "!contains(matrix.python-version, 'pypy')"
|
||||||
|
uses: actions/setup-python@v1
|
||||||
|
with:
|
||||||
|
python-version: ${{ matrix.python-version }}
|
||||||
|
architecture: ${{ matrix.architecture }}
|
||||||
|
|
||||||
- name: Fetch dependencies
|
- name: Fetch dependencies
|
||||||
run: |
|
run: |
|
||||||
|
$env:PYTHON=$env:pythonLocation
|
||||||
curl -fsSL -o pillow-depends.zip https://github.com/python-pillow/pillow-depends/archive/master.zip
|
curl -fsSL -o pillow-depends.zip https://github.com/python-pillow/pillow-depends/archive/master.zip
|
||||||
7z x pillow-depends.zip -oc:\
|
7z x pillow-depends.zip -oc:\
|
||||||
mv c:\pillow-depends-master c:\pillow-depends
|
mv c:\pillow-depends-master c:\pillow-depends
|
||||||
|
@ -37,7 +68,6 @@ jobs:
|
||||||
python.exe $env:GITHUB_WORKSPACE\winbuild\build_dep.py
|
python.exe $env:GITHUB_WORKSPACE\winbuild\build_dep.py
|
||||||
# .\build_deps.cmd
|
# .\build_deps.cmd
|
||||||
env:
|
env:
|
||||||
PYTHON: C:\hostedtoolcache\windows\Python\${{ matrix.python-version }}\${{ matrix.platform.name }}
|
|
||||||
EXECUTABLE: bin\python.exe
|
EXECUTABLE: bin\python.exe
|
||||||
shell: pwsh
|
shell: pwsh
|
||||||
|
|
||||||
|
@ -47,7 +77,7 @@ jobs:
|
||||||
set INCLIB=%GITHUB_WORKSPACE%\winbuild\depends\msvcr10-x32
|
set INCLIB=%GITHUB_WORKSPACE%\winbuild\depends\msvcr10-x32
|
||||||
set BUILD=%GITHUB_WORKSPACE%\winbuild\build
|
set BUILD=%GITHUB_WORKSPACE%\winbuild\build
|
||||||
cd /D %BUILD%\jpeg-9c
|
cd /D %BUILD%\jpeg-9c
|
||||||
call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" ${{ matrix.platform.vars }} 8.1
|
call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" ${{ matrix.platform-vcvars }} 8.1
|
||||||
echo on
|
echo on
|
||||||
nmake -nologo -f makefile.vc setup-vc6
|
nmake -nologo -f makefile.vc setup-vc6
|
||||||
nmake -nologo -f makefile.vc clean
|
nmake -nologo -f makefile.vc clean
|
||||||
|
@ -61,7 +91,7 @@ jobs:
|
||||||
set INCLIB=%GITHUB_WORKSPACE%\winbuild\depends\msvcr10-x32
|
set INCLIB=%GITHUB_WORKSPACE%\winbuild\depends\msvcr10-x32
|
||||||
set BUILD=%GITHUB_WORKSPACE%\winbuild\build
|
set BUILD=%GITHUB_WORKSPACE%\winbuild\build
|
||||||
cd /D %BUILD%\zlib-1.2.11
|
cd /D %BUILD%\zlib-1.2.11
|
||||||
call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" ${{ matrix.platform.vars }} 8.1
|
call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" ${{ matrix.platform-vcvars }} 8.1
|
||||||
echo on
|
echo on
|
||||||
nmake -nologo -f win32\Makefile.msc clean
|
nmake -nologo -f win32\Makefile.msc clean
|
||||||
nmake -nologo -f win32\Makefile.msc zlib.lib
|
nmake -nologo -f win32\Makefile.msc zlib.lib
|
||||||
|
@ -75,7 +105,7 @@ jobs:
|
||||||
set INCLIB=%GITHUB_WORKSPACE%\winbuild\depends\msvcr10-x32
|
set INCLIB=%GITHUB_WORKSPACE%\winbuild\depends\msvcr10-x32
|
||||||
set BUILD=%GITHUB_WORKSPACE%\winbuild\build
|
set BUILD=%GITHUB_WORKSPACE%\winbuild\build
|
||||||
cd /D %BUILD%\tiff-4.0.10
|
cd /D %BUILD%\tiff-4.0.10
|
||||||
call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" ${{ matrix.platform.vars }} 8.1
|
call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" ${{ matrix.platform-vcvars }} 8.1
|
||||||
echo on
|
echo on
|
||||||
copy %GITHUB_WORKSPACE%\winbuild\nmake.opt nmake.opt
|
copy %GITHUB_WORKSPACE%\winbuild\nmake.opt nmake.opt
|
||||||
nmake -nologo -f makefile.vc clean
|
nmake -nologo -f makefile.vc clean
|
||||||
|
@ -90,13 +120,13 @@ jobs:
|
||||||
set INCLIB=%GITHUB_WORKSPACE%\winbuild\depends\msvcr10-x32
|
set INCLIB=%GITHUB_WORKSPACE%\winbuild\depends\msvcr10-x32
|
||||||
set BUILD=%GITHUB_WORKSPACE%\winbuild\build
|
set BUILD=%GITHUB_WORKSPACE%\winbuild\build
|
||||||
cd /D %BUILD%\libwebp-1.0.3
|
cd /D %BUILD%\libwebp-1.0.3
|
||||||
call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" ${{ matrix.platform.vars }} 8.1
|
call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" ${{ matrix.platform-vcvars }} 8.1
|
||||||
echo on
|
echo on
|
||||||
rmdir /S /Q output\release-static
|
rmdir /S /Q output\release-static
|
||||||
nmake -nologo -f Makefile.vc CFG=release-static RTLIBCFG=static OBJDIR=output ARCH=${{ matrix.platform.name }} all
|
nmake -nologo -f Makefile.vc CFG=release-static RTLIBCFG=static OBJDIR=output ARCH=${{ matrix.architecture }} all
|
||||||
mkdir %INCLIB%\webp
|
mkdir %INCLIB%\webp
|
||||||
copy /Y /B src\webp\*.h %INCLIB%\webp
|
copy /Y /B src\webp\*.h %INCLIB%\webp
|
||||||
copy /Y /B output\release-static\${{ matrix.platform.name }}\lib\* %INCLIB%
|
copy /Y /B output\release-static\${{ matrix.architecture }}\lib\* %INCLIB%
|
||||||
|
|
||||||
- name: Build dependencies / freetype
|
- name: Build dependencies / freetype
|
||||||
run: |
|
run: |
|
||||||
|
@ -106,16 +136,16 @@ jobs:
|
||||||
set INCLIB=%GITHUB_WORKSPACE%\winbuild\depends\msvcr10-x32
|
set INCLIB=%GITHUB_WORKSPACE%\winbuild\depends\msvcr10-x32
|
||||||
set BUILD=%GITHUB_WORKSPACE%\winbuild\build
|
set BUILD=%GITHUB_WORKSPACE%\winbuild\build
|
||||||
cd /D %BUILD%\freetype-2.10.1
|
cd /D %BUILD%\freetype-2.10.1
|
||||||
call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" ${{ matrix.platform.vars }} 8.1
|
call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" ${{ matrix.platform-vcvars }} 8.1
|
||||||
echo on
|
echo on
|
||||||
rmdir /S /Q objs
|
rmdir /S /Q objs
|
||||||
set DefaultPlatformToolset=v140
|
set DefaultPlatformToolset=v140
|
||||||
set VCTargetsPath=C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\VC\VCTargets
|
set VCTargetsPath=C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\VC\VCTargets
|
||||||
set MSBUILD="C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\MSBuild.exe"
|
set MSBUILD="C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\MSBuild.exe"
|
||||||
%MSBUILD% builds\windows\vc2010\freetype.sln /t:Build /p:Configuration="Release" /p:Platform=${{ matrix.platform.msbuild }} /m
|
%MSBUILD% builds\windows\vc2010\freetype.sln /t:Build /p:Configuration="Release" /p:Platform=${{ matrix.platform-msbuild }} /m
|
||||||
xcopy /Y /E /Q include %INCLIB%
|
xcopy /Y /E /Q include %INCLIB%
|
||||||
copy /Y /B objs\${{ matrix.platform.msbuild }}\Release\freetype.dll %INCLIB%
|
copy /Y /B objs\${{ matrix.platform-msbuild }}\Release\freetype.dll %INCLIB%
|
||||||
copy /Y /B objs\${{ matrix.platform.msbuild }}\Release\freetype.lib %INCLIB%
|
copy /Y /B objs\${{ matrix.platform-msbuild }}\Release\freetype.lib %INCLIB%
|
||||||
|
|
||||||
- name: Build dependencies / lcms2
|
- name: Build dependencies / lcms2
|
||||||
if: false
|
if: false
|
||||||
|
@ -126,13 +156,13 @@ jobs:
|
||||||
set INCLIB=%GITHUB_WORKSPACE%\winbuild\depends\msvcr10-x32
|
set INCLIB=%GITHUB_WORKSPACE%\winbuild\depends\msvcr10-x32
|
||||||
set BUILD=%GITHUB_WORKSPACE%\winbuild\build
|
set BUILD=%GITHUB_WORKSPACE%\winbuild\build
|
||||||
cd /D %BUILD%\lcms2-2.7
|
cd /D %BUILD%\lcms2-2.7
|
||||||
call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" ${{ matrix.platform.vars }} 8.1
|
call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" ${{ matrix.platform-vcvars }} 8.1
|
||||||
echo on
|
echo on
|
||||||
rmdir /S /Q Lib
|
rmdir /S /Q Lib
|
||||||
rmdir /S /Q Projects\VC2015\Release
|
rmdir /S /Q Projects\VC2015\Release
|
||||||
set VCTargetsPath=C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\VC\VCTargets
|
set VCTargetsPath=C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\VC\VCTargets
|
||||||
set MSBUILD="C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\MSBuild.exe"
|
set MSBUILD="C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\MSBuild.exe"
|
||||||
%MSBUILD% Projects\VC2015\lcms2.sln /t:Clean;lcms2_static /p:Configuration="Release" /p:Platform=${{ matrix.platform.msbuild }} /m
|
%MSBUILD% Projects\VC2015\lcms2.sln /t:Clean;lcms2_static /p:Configuration="Release" /p:Platform=${{ matrix.platform-msbuild }} /m
|
||||||
xcopy /Y /E /Q include %INCLIB%
|
xcopy /Y /E /Q include %INCLIB%
|
||||||
copy /Y /B Lib\MS\*.lib %INCLIB%
|
copy /Y /B Lib\MS\*.lib %INCLIB%
|
||||||
|
|
||||||
|
@ -142,7 +172,7 @@ jobs:
|
||||||
set INCLIB=%GITHUB_WORKSPACE%\winbuild\depends\msvcr10-x32
|
set INCLIB=%GITHUB_WORKSPACE%\winbuild\depends\msvcr10-x32
|
||||||
set BUILD=%GITHUB_WORKSPACE%\winbuild\build
|
set BUILD=%GITHUB_WORKSPACE%\winbuild\build
|
||||||
cd /D %BUILD%\openjpeg-2.3.1msvcr10-x32
|
cd /D %BUILD%\openjpeg-2.3.1msvcr10-x32
|
||||||
call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" ${{ matrix.platform.vars }} 8.1
|
call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" ${{ matrix.platform-vcvars }} 8.1
|
||||||
echo on
|
echo on
|
||||||
cmake.exe -DBUILD_THIRDPARTY:BOOL=OFF -DBUILD_SHARED_LIBS:BOOL=OFF -DCMAKE_BUILD_TYPE=Release -G "NMake Makefiles" .
|
cmake.exe -DBUILD_THIRDPARTY:BOOL=OFF -DBUILD_SHARED_LIBS:BOOL=OFF -DCMAKE_BUILD_TYPE=Release -G "NMake Makefiles" .
|
||||||
nmake -nologo -f Makefile clean
|
nmake -nologo -f Makefile clean
|
||||||
|
@ -157,17 +187,18 @@ jobs:
|
||||||
set INCLIB=%GITHUB_WORKSPACE%\winbuild\depends\msvcr10-x32
|
set INCLIB=%GITHUB_WORKSPACE%\winbuild\depends\msvcr10-x32
|
||||||
set BUILD=%GITHUB_WORKSPACE%\winbuild\build
|
set BUILD=%GITHUB_WORKSPACE%\winbuild\build
|
||||||
cd /D %BUILD%\ghostscript-9.27
|
cd /D %BUILD%\ghostscript-9.27
|
||||||
call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" ${{ matrix.platform.vars }} 8.1
|
call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" ${{ matrix.platform-vcvars }} 8.1
|
||||||
echo on
|
echo on
|
||||||
set MSVC_VERSION=14
|
set MSVC_VERSION=14
|
||||||
set RCOMP="C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Bin\RC.Exe"
|
set RCOMP="C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Bin\RC.Exe"
|
||||||
if "${{ matrix.platform.name }}"=="x64" set WIN64=""
|
if "${{ matrix.architecture }}"=="x64" set WIN64=""
|
||||||
nmake -nologo -f psi\msvc.mak
|
nmake -nologo -f psi\msvc.mak
|
||||||
rem Add bin to PATH variable: Copy to INCLIB, then add INCLIB to PATH in Test step.
|
rem Add bin to PATH variable: Copy to INCLIB, then add INCLIB to PATH in Test step.
|
||||||
copy /Y /B bin\* %INCLIB%
|
copy /Y /B bin\* %INCLIB%
|
||||||
|
|
||||||
- name: Build Pillow
|
- name: Build Pillow
|
||||||
run: |
|
run: |
|
||||||
|
set PYTHON=%pythonLocation%
|
||||||
set INCLUDE=C:\Program Files (x86)\Microsoft SDKs\Windows\V7.1A\Include
|
set INCLUDE=C:\Program Files (x86)\Microsoft SDKs\Windows\V7.1A\Include
|
||||||
set MPLSRC=%GITHUB_WORKSPACE%
|
set MPLSRC=%GITHUB_WORKSPACE%
|
||||||
set INCLIB=%GITHUB_WORKSPACE%\winbuild\depends\msvcr10-x32
|
set INCLIB=%GITHUB_WORKSPACE%\winbuild\depends\msvcr10-x32
|
||||||
|
@ -175,37 +206,30 @@ jobs:
|
||||||
set DISTUTILS_USE_SDK=1
|
set DISTUTILS_USE_SDK=1
|
||||||
set LIB=%INCLIB%;%PYTHON%\tcl
|
set LIB=%INCLIB%;%PYTHON%\tcl
|
||||||
set INCLUDE=%INCLIB%;%GITHUB_WORKSPACE%\depends\tcl86\include;%INCLUDE%
|
set INCLUDE=%INCLIB%;%GITHUB_WORKSPACE%\depends\tcl86\include;%INCLUDE%
|
||||||
call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" ${{ matrix.platform.vars }} 8.1
|
call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" ${{ matrix.platform-vcvars }} 8.1
|
||||||
set BLDOPT=install
|
set BLDOPT=install
|
||||||
%PYTHON%\%EXECUTABLE% setup.py build_ext --add-imaging-libs=msvcrt install
|
%PYTHON%\%EXECUTABLE% setup.py build_ext --add-imaging-libs=msvcrt install
|
||||||
%PYTHON%\%EXECUTABLE% -c "from PIL import _webp;import os, shutil;shutil.copy(r'%INCLIB%\freetype.dll', os.path.dirname(_webp.__file__));"
|
%PYTHON%\%EXECUTABLE% -c "from PIL import _webp;import os, shutil;shutil.copy(r'%INCLIB%\freetype.dll', os.path.dirname(_webp.__file__));"
|
||||||
%PYTHON%\%EXECUTABLE% selftest.py --installed
|
%PYTHON%\%EXECUTABLE% selftest.py --installed
|
||||||
env:
|
env:
|
||||||
PYTHON: C:\hostedtoolcache\windows\Python\${{ matrix.python-version }}\${{ matrix.platform.name }}
|
|
||||||
EXECUTABLE: python.exe
|
EXECUTABLE: python.exe
|
||||||
|
|
||||||
- name: pip install pytest pytest-cov codecov
|
- name: pip install pytest pytest-cov codecov
|
||||||
run: '%PYTHON%\%PIP% install pytest pytest-cov codecov'
|
run: |
|
||||||
env:
|
"%pythonLocation%\python.exe" -m pip install pytest pytest-cov
|
||||||
PYTHON: C:\hostedtoolcache\windows\Python\${{ matrix.python-version }}\${{ matrix.platform.name }}
|
pip install codecov
|
||||||
PIP: Scripts\pip.exe
|
|
||||||
|
|
||||||
- name: Test Pillow
|
- name: Test Pillow
|
||||||
run: |
|
run: |
|
||||||
|
set PYTHON=%pythonLocation%
|
||||||
set INCLIB=%GITHUB_WORKSPACE%\winbuild\depends\msvcr10-x32
|
set INCLIB=%GITHUB_WORKSPACE%\winbuild\depends\msvcr10-x32
|
||||||
rem Add GhostScript executables (copied to INCLIB) to PATH.
|
rem Add GhostScript executables (copied to INCLIB) to PATH.
|
||||||
path %INCLIB%;%PATH%
|
path %INCLIB%;%PATH%
|
||||||
cd /D %GITHUB_WORKSPACE%
|
cd /D %GITHUB_WORKSPACE%
|
||||||
%PYTHON%\%EXECUTABLE% -m pytest -vx --cov PIL --cov-report term --cov-report xml Tests
|
%PYTHON%\python.exe -m pytest -vx --cov PIL --cov-report term --cov-report xml Tests
|
||||||
env:
|
|
||||||
PYTHON: C:\hostedtoolcache\windows\Python\${{ matrix.python-version }}\${{ matrix.platform.name }}
|
|
||||||
EXECUTABLE: python.exe
|
|
||||||
|
|
||||||
- name: Upload coverage
|
- name: Upload coverage
|
||||||
run: |
|
run: 'codecov --file "%GITHUB_WORKSPACE%\coverage.xml" --name "%pythonLocation%"'
|
||||||
cd /D %GITHUB_WORKSPACE%
|
|
||||||
%PYTHON%\%CODECOV% --file coverage.xml --name %PYTHON%
|
|
||||||
env:
|
env:
|
||||||
PYTHON: C:\hostedtoolcache\windows\Python\${{ matrix.python-version }}\${{ matrix.platform.name }}
|
|
||||||
CODECOV: Scripts\codecov.exe
|
CODECOV: Scripts\codecov.exe
|
||||||
|
|
||||||
|
|
|
@ -355,10 +355,17 @@ def on_appveyor():
|
||||||
return "APPVEYOR" in os.environ
|
return "APPVEYOR" in os.environ
|
||||||
|
|
||||||
|
|
||||||
|
def on_github_actions():
|
||||||
|
return "GITHUB_ACTIONS" in os.environ
|
||||||
|
|
||||||
|
|
||||||
def on_ci():
|
def on_ci():
|
||||||
# Travis and AppVeyor have "CI"
|
# Travis and AppVeyor have "CI"
|
||||||
# Azure Pipelines has "TF_BUILD"
|
# Azure Pipelines has "TF_BUILD"
|
||||||
return "CI" in os.environ or "TF_BUILD" in os.environ
|
# GitHub Actions has "GITHUB_ACTIONS"
|
||||||
|
return (
|
||||||
|
"CI" in os.environ or "TF_BUILD" in os.environ or "GITHUB_ACTIONS" in os.environ
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
if sys.platform == "win32":
|
if sys.platform == "win32":
|
||||||
|
|
|
@ -3,7 +3,7 @@ import sys
|
||||||
|
|
||||||
from PIL import Image
|
from PIL import Image
|
||||||
|
|
||||||
from .helper import PillowTestCase, hopper, on_appveyor, unittest
|
from .helper import PillowTestCase, hopper, on_ci, unittest
|
||||||
|
|
||||||
# CFFI imports pycparser which doesn't support PYTHONOPTIMIZE=2
|
# CFFI imports pycparser which doesn't support PYTHONOPTIMIZE=2
|
||||||
# https://github.com/eliben/pycparser/pull/198#issuecomment-317001670
|
# https://github.com/eliben/pycparser/pull/198#issuecomment-317001670
|
||||||
|
@ -333,8 +333,8 @@ class TestCffi(AccessTest):
|
||||||
|
|
||||||
class TestEmbeddable(unittest.TestCase):
|
class TestEmbeddable(unittest.TestCase):
|
||||||
@unittest.skipIf(
|
@unittest.skipIf(
|
||||||
not sys.platform.startswith("win32") or on_appveyor(),
|
not sys.platform.startswith("win32") or on_ci(),
|
||||||
"Failing on AppVeyor when run from subprocess, not from shell",
|
"Failing on AppVeyor / GitHub Actions when run from subprocess, not from shell",
|
||||||
)
|
)
|
||||||
def test_embeddable(self):
|
def test_embeddable(self):
|
||||||
import subprocess
|
import subprocess
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
|
import sys
|
||||||
|
|
||||||
from PIL import Image, ImageShow
|
from PIL import Image, ImageShow
|
||||||
|
|
||||||
from .helper import PillowTestCase, hopper, on_ci, unittest
|
from .helper import PillowTestCase, hopper, on_ci, on_github_actions, unittest
|
||||||
|
|
||||||
|
|
||||||
class TestImageShow(PillowTestCase):
|
class TestImageShow(PillowTestCase):
|
||||||
|
@ -34,7 +36,10 @@ class TestImageShow(PillowTestCase):
|
||||||
# Restore original state
|
# Restore original state
|
||||||
ImageShow._viewers.pop(0)
|
ImageShow._viewers.pop(0)
|
||||||
|
|
||||||
@unittest.skipUnless(on_ci(), "Only run on CIs")
|
@unittest.skipUnless(
|
||||||
|
on_ci() and not (sys.platform == "win32" and on_github_actions()),
|
||||||
|
"Only run on CIs; hangs on Windows on Github Actions",
|
||||||
|
)
|
||||||
def test_show(self):
|
def test_show(self):
|
||||||
for mode in ("1", "I;16", "LA", "RGB", "RGBA"):
|
for mode in ("1", "I;16", "LA", "RGB", "RGBA"):
|
||||||
im = hopper(mode)
|
im = hopper(mode)
|
||||||
|
|
|
@ -5,8 +5,16 @@ import subprocess
|
||||||
import sys
|
import sys
|
||||||
from unittest import TestCase
|
from unittest import TestCase
|
||||||
|
|
||||||
|
from .helper import on_github_actions, unittest
|
||||||
|
|
||||||
|
|
||||||
class TestMain(TestCase):
|
class TestMain(TestCase):
|
||||||
|
@unittest.skipIf(
|
||||||
|
sys.platform == "win32"
|
||||||
|
and hasattr(sys, "pypy_translation_info")
|
||||||
|
and on_github_actions(),
|
||||||
|
"Failing on Windows on GitHub Actions running PyPy",
|
||||||
|
)
|
||||||
def test_main(self):
|
def test_main(self):
|
||||||
out = subprocess.check_output([sys.executable, "-m", "PIL"]).decode("utf-8")
|
out = subprocess.check_output([sys.executable, "-m", "PIL"]).decode("utf-8")
|
||||||
lines = out.splitlines()
|
lines = out.splitlines()
|
||||||
|
|
Loading…
Reference in New Issue
Block a user