Merge pull request #2988 from hugovk/appveyor-deploy

Fix AppVeyor master builds for forks
This commit is contained in:
Hugo 2018-03-16 08:39:12 +02:00 committed by GitHub
commit 6e1b658e2d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1,120 +1,121 @@
version: '{build}' version: '{build}'
clone_folder: c:\pillow clone_folder: c:\pillow
init: init:
- ECHO %PYTHON% - ECHO %PYTHON%
#- ps: iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1')) #- ps: iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))
# Uncomment previous line to get RDP access during the build. # Uncomment previous line to get RDP access during the build.
environment: environment:
X64_EXT: -x64 X64_EXT: -x64
EXECUTABLE: python.exe EXECUTABLE: python.exe
PIP_DIR: Scripts PIP_DIR: Scripts
VENV: NO VENV: NO
TEST_OPTIONS: TEST_OPTIONS:
DEPLOY: YES DEPLOY: YES
matrix: matrix:
- PYTHON: C:/vp/pypy2 - PYTHON: C:/vp/pypy2
EXECUTABLE: bin/pypy.exe EXECUTABLE: bin/pypy.exe
PIP_DIR: bin PIP_DIR: bin
VENV: YES VENV: YES
- PYTHON: C:/Python27-x64 - PYTHON: C:/Python27-x64
- PYTHON: C:/Python34 - PYTHON: C:/Python34
- PYTHON: C:/Python27 - PYTHON: C:/Python27
- PYTHON: C:/Python34-x64 - PYTHON: C:/Python34-x64
- PYTHON: C:/msys64/mingw32 - PYTHON: C:/msys64/mingw32
EXECUTABLE: bin/python3 EXECUTABLE: bin/python3
PIP_DIR: bin PIP_DIR: bin
TEST_OPTIONS: --processes=0 TEST_OPTIONS: --processes=0
DEPLOY: NO DEPLOY: NO
install: install:
- 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
- xcopy c:\pillow-depends\*.zip c:\pillow\winbuild\ - xcopy c:\pillow-depends\*.zip c:\pillow\winbuild\
- xcopy c:\pillow-depends\*.tar.gz c:\pillow\winbuild\ - xcopy c:\pillow-depends\*.tar.gz c:\pillow\winbuild\
- xcopy /s c:\pillow-depends\test_images\* c:\pillow\tests\images - xcopy /s c:\pillow-depends\test_images\* c:\pillow\tests\images
- cd c:\pillow\winbuild\ - cd c:\pillow\winbuild\
- ps: | - ps: |
if ($env:PYTHON -eq "c:/vp/pypy2") if ($env:PYTHON -eq "c:/vp/pypy2")
{ {
c:\pillow\winbuild\appveyor_install_pypy.cmd c:\pillow\winbuild\appveyor_install_pypy.cmd
} }
- ps: | - ps: |
if ($env:PYTHON -eq "c:/msys64/mingw32") if ($env:PYTHON -eq "c:/msys64/mingw32")
{ {
c:\msys64\usr\bin\bash -l -c c:\\pillow\\winbuild\\appveyor_install_msys2_deps.sh c:\msys64\usr\bin\bash -l -c c:\\pillow\\winbuild\\appveyor_install_msys2_deps.sh
} }
else else
{ {
c:\python34\python.exe c:\pillow\winbuild\build_dep.py c:\python34\python.exe c:\pillow\winbuild\build_dep.py
c:\pillow\winbuild\build_deps.cmd c:\pillow\winbuild\build_deps.cmd
$host.SetShouldExit(0) $host.SetShouldExit(0)
} }
build_script: build_script:
- ps: | - ps: |
if ($env:PYTHON -eq "c:/msys64/mingw32") if ($env:PYTHON -eq "c:/msys64/mingw32")
{ {
c:\msys64\usr\bin\bash -l -c c:\\pillow\\winbuild\\appveyor_build_msys2.sh c:\msys64\usr\bin\bash -l -c c:\\pillow\\winbuild\\appveyor_build_msys2.sh
Write-Host "through install" Write-Host "through install"
$host.SetShouldExit(0) $host.SetShouldExit(0)
} }
else else
{ {
& $env:PYTHON/$env:EXECUTABLE c:\pillow\winbuild\build.py & $env:PYTHON/$env:EXECUTABLE c:\pillow\winbuild\build.py
$host.SetShouldExit(0) $host.SetShouldExit(0)
} }
- cd c:\pillow - cd c:\pillow
- '%PYTHON%\%EXECUTABLE% selftest.py --installed' - '%PYTHON%\%EXECUTABLE% selftest.py --installed'
test_script: test_script:
- cd c:\pillow - cd c:\pillow
- '%PYTHON%\%PIP_DIR%\pip.exe install pytest pytest-cov' - '%PYTHON%\%PIP_DIR%\pip.exe install pytest pytest-cov'
- '%PYTHON%\%EXECUTABLE% -m pytest -vx --cov PIL --cov-report term --cov-report xml Tests' - '%PYTHON%\%EXECUTABLE% -m pytest -vx --cov PIL --cov-report term --cov-report xml Tests'
#- '%PYTHON%\%EXECUTABLE% test-installed.py -v -s %TEST_OPTIONS%' TODO TEST_OPTIONS with pytest? #- '%PYTHON%\%EXECUTABLE% test-installed.py -v -s %TEST_OPTIONS%' TODO TEST_OPTIONS with pytest?
after_test: after_test:
- pip install codecov - pip install codecov
- codecov --file coverage.xml --name %PYTHON% - codecov --file coverage.xml --name %PYTHON%
matrix: matrix:
fast_finish: true fast_finish: true
cache: cache:
- '%LOCALAPPDATA%\pip\Cache' - '%LOCALAPPDATA%\pip\Cache'
artifacts: artifacts:
- path: pillow\dist\*.egg - path: pillow\dist\*.egg
name: egg name: egg
- path: pillow\dist\*.wheel - path: pillow\dist\*.wheel
name: wheel name: wheel
before_deploy: before_deploy:
- cd c:\pillow - cd c:\pillow
- '%PYTHON%\%PIP_DIR%\pip.exe install wheel' - '%PYTHON%\%PIP_DIR%\pip.exe install wheel'
- cd c:\pillow\winbuild\ - cd c:\pillow\winbuild\
- '%PYTHON%\%EXECUTABLE% c:\pillow\winbuild\build.py --wheel' - '%PYTHON%\%EXECUTABLE% c:\pillow\winbuild\build.py --wheel'
- cd c:\pillow - cd c:\pillow
- ps: Get-ChildItem .\dist\*.* | % { Push-AppveyorArtifact $_.FullName -FileName $_.Name } - ps: Get-ChildItem .\dist\*.* | % { Push-AppveyorArtifact $_.FullName -FileName $_.Name }
deploy: deploy:
provider: S3 provider: S3
region: us-west-2 region: us-west-2
access_key_id: AKIAIRAXC62ZNTVQJMOQ access_key_id: AKIAIRAXC62ZNTVQJMOQ
secret_access_key: secret_access_key:
secure: Hwb6klTqtBeMgxAjRoDltiiqpuH8xbwD4UooDzBSiCWXjuFj1lyl4kHgHwTCCGqi secure: Hwb6klTqtBeMgxAjRoDltiiqpuH8xbwD4UooDzBSiCWXjuFj1lyl4kHgHwTCCGqi
bucket: pillow-nightly bucket: pillow-nightly
folder: win/$(APPVEYOR_BUILD_NUMBER)/ folder: win/$(APPVEYOR_BUILD_NUMBER)/
artifact: /.*egg|wheel/ artifact: /.*egg|wheel/
on: on:
branch: master APPVEYOR_REPO_NAME: python-pillow/Pillow
deploy: YES branch: master
deploy: YES
# Uncomment the following lines to get RDP access after the build/test and block for
# up to the timeout limit (~1hr) # Uncomment the following lines to get RDP access after the build/test and block for
# # up to the timeout limit (~1hr)
#on_finish: #
#- ps: $blockRdp = $true; iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1')) #on_finish:
#- ps: $blockRdp = $true; iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))