Home | History | Annotate | Download | only in coverage
      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