attrs/azure-pipelines.yml

93 lines
2.3 KiB
YAML

---
trigger:
- master
jobs:
- job: 'Test'
pool:
vmImage: 'ubuntu-latest'
strategy:
matrix:
Typing:
python.version: '3.7'
tox.env: typing
Lint:
python.version: '3.7'
tox.env: lint
py27:
python.version: '2.7'
tox.env: py27
py34:
python.version: '3.4'
tox.env: py34
py35:
python.version: '3.5'
tox.env: py35
py36:
python.version: '3.6'
tox.env: py36
py37:
python.version: '3.7'
tox.env: py37
py38:
python.version: '3.8'
tox.env: py38
pypy2:
python.version: 'pypy2'
tox.env: pypy
pypy3:
python.version: 'pypy3'
tox.env: pypy3
Docs:
python.version: '3.7'
tox.env: docs
PyPI-Description:
python.version: '3.7'
tox.env: pypi-description
Changelog:
python.version: '3.7'
tox.env: changelog
steps:
- task: UsePythonVersion@0
displayName: Get Python for Python tools.
inputs:
versionSpec: '3.7'
addToPath: false
name: pyTools
- script: $(pyTools.pythonLocation)/bin/pip install --upgrade tox codecov
displayName: Install Python-based tools.
- task: UsePythonVersion@0
inputs:
versionSpec: '$(python.version)'
architecture: 'x64'
condition: ne(variables['python.version'], '3.8')
displayName: Get Python for tests.
- script: |
sudo add-apt-repository ppa:deadsnakes
sudo apt-get update
sudo apt-get install -y --no-install-recommends python3.8-dev python3.8-distutils
condition: eq(variables['python.version'], '3.8')
displayName: Install Python 3.8 from the deadsnakes PPA.
- script: $(pyTools.pythonLocation)/bin/tox -e $(tox.env)
env:
TOX_AP_TEST_EXTRAS: azure-pipelines
displayName: run tox -e $(tox.env)
- script: |
python -m pip install coverage
coverage combine
$(pyTools.pythonLocation)/bin/codecov
env:
CODECOV_TOKEN: $(codecov.token)
displayName: Report Coverage
condition: succeeded()