https://nedbatchelder.com/blog/201509/appveyor.html The old TOXPYTHON trick seems to be discouraged now with tox 3.1, which emits a warning when there is a conflict in the basepython settings for environments containing default factors (e.g. py27, etc.) https://github.com/tox-dev/tox/pull/841
64 lines
2.0 KiB
YAML
64 lines
2.0 KiB
YAML
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"
|
|
# lxml doesn't have windows 3.7 wheels yet
|
|
# TOXENV: "py37-cov,py37-cov-lxml"
|
|
TOXENV: "py37-cov"
|
|
|
|
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
|