trigger: branches: include: - master - '*.x' tags: include: - '*' jobs: - job: Test variables: vmImage: 'ubuntu-latest' python.version: '3.8' TOXENV: 'py' strategy: matrix: Python 3.8 Linux: vmImage: 'ubuntu-latest' Python 3.8 Windows: vmImage: 'windows-latest' Python 3.8 Mac: vmImage: 'macos-latest' PyPy 3 Linux: python.version: 'pypy3' Python 3.7 Linux: python.version: '3.7' Python 3.6 Linux: python.version: '3.6' Docs: TOXENV: 'docs' Style: TOXENV: 'style' pool: vmImage: $[ variables.vmImage ] steps: - task: UsePythonVersion@0 inputs: versionSpec: $(python.version) displayName: Use Python $(python.version) - script: pip --disable-pip-version-check install -U tox displayName: Install tox - script: tox displayName: Run tox - job: Build dependsOn: Test condition: startsWith(variables['Build.SourceBranch'], 'refs/tags/') variables: CIBW_SKIP: 'cp27-* cp35-*' strategy: matrix: Linux: vmImage: 'ubuntu-latest' Windows: vmImage: 'windows-latest' Mac: vmImage: 'macos-latest' pool: vmImage: $[ variables.vmImage ] steps: - task: UsePythonVersion@0 displayName: Use Python - script: pip install cibuildwheel displayName: Install cibuildwheel - script: cibuildwheel --output-dir wheels . displayName: Run cibuildwheel - publish: 'wheels'