From 5772151e49ca202227149e26b25e2d7512d39181 Mon Sep 17 00:00:00 2001 From: Chris Lamb Date: Tue, 16 Jan 2018 12:25:44 +1100 Subject: [PATCH] Add initial appveyor.yml. --- appveyor.yml | 110 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 110 insertions(+) create mode 100644 appveyor.yml diff --git a/appveyor.yml b/appveyor.yml new file mode 100644 index 000000000..d956ead63 --- /dev/null +++ b/appveyor.yml @@ -0,0 +1,110 @@ +environment: + global: + # SDK v7.0 MSVC Express 2008's SetEnv.cmd script will fail if the + # /E:ON and /V:ON options are not enabled in the batch script intepreter + # See: http://stackoverflow.com/a/13751649/163740 + CMD_IN_ENV: "cmd /E:ON /V:ON /C .\\appveyor\\run_with_env.cmd" + + matrix: + + # Python 2.7.10 is the latest version and is not pre-installed. + + - PYTHON: "C:\\Python27.10" + PYTHON_VERSION: "2.7.10" + PYTHON_ARCH: "32" + + - PYTHON: "C:\\Python27.10-x64" + PYTHON_VERSION: "2.7.10" + PYTHON_ARCH: "64" + + # Pre-installed Python versions, which Appveyor may upgrade to + # a later point release. + # See: http://www.appveyor.com/docs/installed-software#python + + - PYTHON: "C:\\Python27" + PYTHON_VERSION: "2.7.x" # currently 2.7.9 + PYTHON_ARCH: "32" + + - PYTHON: "C:\\Python27-x64" + PYTHON_VERSION: "2.7.x" # currently 2.7.9 + PYTHON_ARCH: "64" + + - PYTHON: "C:\\Python33" + PYTHON_VERSION: "3.3.x" # currently 3.3.5 + PYTHON_ARCH: "32" + + - PYTHON: "C:\\Python33-x64" + PYTHON_VERSION: "3.3.x" # currently 3.3.5 + PYTHON_ARCH: "64" + + - PYTHON: "C:\\Python34" + PYTHON_VERSION: "3.4.x" # currently 3.4.3 + PYTHON_ARCH: "32" + + - PYTHON: "C:\\Python34-x64" + PYTHON_VERSION: "3.4.x" # currently 3.4.3 + PYTHON_ARCH: "64" + + # Python versions not pre-installed + + # Python 2.6.6 is the latest Python 2.6 with a Windows installer + # See: https://github.com/ogrisel/python-appveyor-demo/issues/10 + + - PYTHON: "C:\\Python266" + PYTHON_VERSION: "2.6.6" + PYTHON_ARCH: "32" + + - PYTHON: "C:\\Python266-x64" + PYTHON_VERSION: "2.6.6" + PYTHON_ARCH: "64" + + - PYTHON: "C:\\Python35" + PYTHON_VERSION: "3.5.0" + PYTHON_ARCH: "32" + + - PYTHON: "C:\\Python35-x64" + PYTHON_VERSION: "3.5.0" + PYTHON_ARCH: "64" + + # Major and minor releases (i.e x.0.0 and x.y.0) prior to 3.3.0 use + # a different naming scheme. + + - PYTHON: "C:\\Python270" + PYTHON_VERSION: "2.7.0" + PYTHON_ARCH: "32" + + - PYTHON: "C:\\Python270-x64" + PYTHON_VERSION: "2.7.0" + PYTHON_ARCH: "64" + +install: + # If there is a newer build queued for the same PR, cancel this one. + # The AppVeyor 'rollout builds' option is supposed to serve the same + # purpose but it is problematic because it tends to cancel builds pushed + # directly to master instead of just PR builds (or the converse). + # credits: JuliaLang developers. + - ps: if ($env:APPVEYOR_PULL_REQUEST_NUMBER -and $env:APPVEYOR_BUILD_NUMBER -ne ((Invoke-RestMethod ` + https://ci.appveyor.com/api/projects/$env:APPVEYOR_ACCOUNT_NAME/$env:APPVEYOR_PROJECT_SLUG/history?recordsNumber=50).builds | ` + Where-Object pullRequestId -eq $env:APPVEYOR_PULL_REQUEST_NUMBER)[0].buildNumber) { ` + throw "There are newer queued builds for this pull request, failing early." } + - ECHO "Filesystem root:" + - ps: "ls \"C:/\"" + + - ECHO "Installed SDKs:" + - ps: "ls \"C:/Program Files/Microsoft SDKs/Windows\"" + + # Install Python (from the official .msi of http://python.org) and pip when + # not already installed. + - ps: if (-not(Test-Path($env:PYTHON))) { & appveyor\install.ps1 } + + - "SET PATH=%PYTHON%;%PYTHON%\\Scripts;%PATH%" + + - "python --version" + + - "pip install --disable-pip-version-check --user --upgrade pip" + + - "%CMD_IN_ENV% python setup.py develop" + - "pip install -r test-requirements" + +test_script: + - "%CMD_IN_ENV% python runtests.py"