environment: matrix: - PYTHON: "C:\\Python27" PYTHON_VERSION: "2.7.x" PYTHON_ARCH: "32" TOXENV: "py27-cov,py27-cov-lxml" - PYTHON: "C:\\Python36-x64" PYTHON_VERSION: "3.6.x" PYTHON_ARCH: "64" TOXENV: "py36-cov,py36-cov-lxml" - PYTHON: "C:\\Python37-x64" PYTHON_VERSION: "3.7.x" PYTHON_ARCH: "64" TOXENV: "py37-cov,py37-cov-lxml" skip_branch_with_pr: true matrix: fast_finish: true init: - "ECHO %PYTHON% %PYTHON_VERSION% %PYTHON_ARCH%" install: # install Python and pip when not already installed - ps: (new-object net.webclient).DownloadFile('https://raw.githubusercontent.com/pypa/python-packaging-user-guide/49bf76f/source/code/install.ps1', 'install.ps1') - ps: if (-not(Test-Path($env:PYTHON))) { & install.ps1 } # prepend newly installed Python to the PATH - "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)\"" # upgrade pip to avoid out-of-date warnings - "python -m pip install --disable-pip-version-check --user --upgrade pip" # install/upgrade setuptools and wheel to build packages - "pip install --upgrade setuptools wheel" # install tox to run test suite in a virtual environment - "pip install -U tox" # Make a python3.7.bat file in the current directory so that tox will find it # and python3.7 will mean what we want it to. E.g. for TOXENV=py27, this will # save a python2.7.bat file containing "@C:\Python27\python %*" # Credit: https://nedbatchelder.com/blog/201509/appveyor.html - "python -c \"import os; open('python{0}.{1}.bat'.format(*os.environ['TOXENV'][2:]), 'w').write('@{0}\\\\python \\x25*\\n'.format(os.environ['PYTHON']))\"" build: false test_script: - "tox" on_success: # upload test coverage to codecov.io - tox -e codecov