diff --git a/appveyor.yml b/appveyor.yml new file mode 100644 index 000000000..cd9475046 --- /dev/null +++ b/appveyor.yml @@ -0,0 +1,82 @@ +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: + + # Pre-installed Python versions, which Appveyor may upgrade to + # a later point release. + + - PYTHON: "C:\\Python27" + PYTHON_VERSION: "2.7.x" # currently 2.7.9 + PYTHON_ARCH: "32" + TESTENV: "py27" + + - PYTHON: "C:\\Python27-x64" + PYTHON_VERSION: "2.7.x" # currently 2.7.9 + PYTHON_ARCH: "64" + TESTENV: "py27" + + - PYTHON: "C:\\Python33" + PYTHON_VERSION: "3.3.x" # currently 3.3.5 + PYTHON_ARCH: "32" + TESTENV: "py33" + + - PYTHON: "C:\\Python33-x64" + PYTHON_VERSION: "3.3.x" # currently 3.3.5 + PYTHON_ARCH: "64" + TESTENV: "py33" + + - PYTHON: "C:\\Python34" + PYTHON_VERSION: "3.4.x" # currently 3.4.3 + PYTHON_ARCH: "32" + TESTENV: "py34" + + - PYTHON: "C:\\Python34-x64" + PYTHON_VERSION: "3.4.x" # currently 3.4.3 + PYTHON_ARCH: "64" + TESTENV: "py34" + + # Also test a Python version not pre-installed + # See: https://github.com/ogrisel/python-appveyor-demo/issues/10 + + - PYTHON: "C:\\Python266" + PYTHON_VERSION: "2.6.6" + PYTHON_ARCH: "32" + TESTENV: "py26" + + +install: + - 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 } + + # Prepend newly installed Python to the PATH of this build (this cannot be + # done from inside the powershell script as it would require to restart + # the parent CMD process). + - "SET PATH=%PYTHON%;%PYTHON%\\Scripts;%PATH%" + + # Check that we have the expected version and architecture for Python + - "python --version" + - "python -c \"import struct; print(struct.calcsize('P') * 8)\"" + + # Install the build dependencies of the project. If some dependencies contain + # compiled extensions and are not provided as pre-built wheel packages, + # pip will build them from source using the MSVC compiler matching the + # target Python version and architecture + - "%CMD_IN_ENV% pip install tox" + +build: false # Not a C# project, build stuff at the test step instead. + +test_script: + # Build the compiled extension and run the project tests + - "%CMD_IN_ENV% tox -e %TESTENV%"