--- 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()