1 # Appveyor, continuous integration for Windows 2 # https://ci.appveyor.com/project/nedbat/coveragepy 3 4 version: '{branch}-{build}' 5 6 shallow_clone: true 7 8 environment: 9 10 CMD_IN_ENV: "cmd /E:ON /V:ON /C .\\ci\\run_with_env.cmd" 11 12 matrix: 13 - JOB: "2.6 32-bit" 14 TOXENV: "py26" 15 PYTHON: "C:\\Python26.6" 16 PYTHON_VERSION: "2.6.6" 17 PYTHON_ARCH: "32" 18 19 - JOB: "2.6 64-bit" 20 TOXENV: "py26" 21 PYTHON: "C:\\Python26.6-x64" 22 PYTHON_VERSION: "2.6.6" 23 PYTHON_ARCH: "64" 24 25 - JOB: "2.7 32-bit" 26 TOXENV: "py27" 27 PYTHON: "C:\\Python27.10" 28 PYTHON_VERSION: "2.7.10" 29 PYTHON_ARCH: "32" 30 31 - JOB: "2.7 64-bit" 32 TOXENV: "py27" 33 PYTHON: "C:\\Python27.10-x64" 34 PYTHON_VERSION: "2.7.10" 35 PYTHON_ARCH: "64" 36 37 - JOB: "3.3 32-bit" 38 TOXENV: "py33" 39 PYTHON: "C:\\Python33" 40 PYTHON_VERSION: "3.3" 41 PYTHON_ARCH: "32" 42 43 - JOB: "3.3 64-bit" 44 TOXENV: "py33" 45 PYTHON: "C:\\Python33-x64" 46 PYTHON_VERSION: "3.3" 47 PYTHON_ARCH: "64" 48 49 - JOB: "3.4 32-bit" 50 TOXENV: "py34" 51 PYTHON: "C:\\Python34" 52 PYTHON_VERSION: "3.4" 53 PYTHON_ARCH: "32" 54 55 - JOB: "3.4 64-bit" 56 TOXENV: "py34" 57 PYTHON: "C:\\Python34-x64" 58 PYTHON_VERSION: "3.4" 59 PYTHON_ARCH: "64" 60 61 - JOB: "3.5 32-bit" 62 TOXENV: "py35" 63 PYTHON: "C:\\Python35" 64 PYTHON_VERSION: "3.5.0" 65 PYTHON_ARCH: "32" 66 67 - JOB: "3.5 64-bit" 68 TOXENV: "py35" 69 PYTHON: "C:\\Python35-x64" 70 PYTHON_VERSION: "3.5.0" 71 PYTHON_ARCH: "64" 72 73 # Meta coverage 74 - JOB: "Meta 2.7" 75 TOXENV: "py27" 76 PYTHON: "C:\\Python27" 77 PYTHON_VERSION: "2.7" 78 PYTHON_ARCH: "32" 79 COVERAGE_COVERAGE: "yes" 80 81 - JOB: "Meta 3.4" 82 TOXENV: "py34" 83 PYTHON: "C:\\Python34" 84 PYTHON_VERSION: "3.4" 85 PYTHON_ARCH: "32" 86 COVERAGE_COVERAGE: "yes" 87 88 init: 89 - "ECHO %TOXENV%" 90 91 install: 92 # Install Python (from the official .msi of http://python.org) and pip when 93 # not already installed. 94 - ps: if (-not(Test-Path($env:PYTHON))) { & ci\install.ps1 } 95 96 # Prepend newly installed Python to the PATH of this build (this cannot be 97 # done from inside the powershell script as it would require to restart 98 # the parent CMD process). 99 - "SET PATH=%PYTHON%;%PYTHON%\\Scripts;%PATH%" 100 101 # Check that we have the expected version and architecture for Python 102 - "python --version" 103 - "python -c \"import struct; print(struct.calcsize('P') * 8)\"" 104 105 # Upgrade to the latest version of pip to avoid it displaying warnings 106 # about it being out of date. 107 - "pip install --disable-pip-version-check --user --upgrade pip" 108 109 # Install requirements. 110 - "%CMD_IN_ENV% pip install -r requirements/tox.pip -r requirements/wheel.pip" 111 112 # Make a python3.4.bat file in the current directory so that tox will find it 113 # and python3.4 will mean what we want it to. 114 - "python -c \"import os; open('python{0}.{1}.bat'.format(*os.environ['TOXENV'][2:]), 'w').write('@{0}\\\\python \\x25*\\n'.format(os.environ['PYTHON']))\"" 115 116 build_script: 117 # If not a metacov job, then build wheels and .exe installers. 118 - if NOT "%COVERAGE_COVERAGE%" == "yes" %CMD_IN_ENV% %PYTHON%\python setup.py bdist_wheel bdist_wininst 119 120 # Push everything in dist\ as an artifact. 121 - ps: if ( Test-Path 'dist' -PathType Container ) { Get-ChildItem dist\*.* | % { Push-AppveyorArtifact $_.FullName -FileName ('dist\' + $_.Name) } } 122 123 test_script: 124 - "%CMD_IN_ENV% %PYTHON%\\Scripts\\tox" 125 126 after_test: 127 - if "%COVERAGE_COVERAGE%" == "yes" 7z a metacov-win-%TOXENV%.zip %APPVEYOR_BUILD_FOLDER%\.metacov* 128 129 artifacts: 130 - path: "metacov-*.zip" 131