-
Notifications
You must be signed in to change notification settings - Fork 2
/
azure-pipelines.yml
62 lines (54 loc) · 1.74 KB
/
azure-pipelines.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
# Python package
# Create and test a Python package on multiple Python versions.
# Add steps that analyze code, save the dist with the build record, publish to a PyPI-compatible index, and more:
# https://docs.microsoft.com/azure/devops/pipelines/languages/python
pool:
vmImage: 'ubuntu-latest'
strategy:
matrix:
Python27:
python.version: '2.7'
toxenv: py27
Python35-mm2:
python.version: '3.5'
toxenv: py35-marshmallow2
Python35-mm3:
python.version: '3.5'
toxenv: py35-marshmallow3
Python36-mm2:
python.version: '3.6'
toxenv: py36-marshmallow2
Python36-mm3:
python.version: '3.6'
toxenv: py36-marshmallow3
Python37-mm2:
python.version: '3.7'
toxenv: py37-marshmallow2
Python37-mm3:
python.version: '3.7'
toxenv: py37-marshmallow3
steps:
- task: UsePythonVersion@0
inputs:
versionSpec: '$(python.version)'
displayName: 'Use Python $(python.version)'
- script: |
sudo apt-get install python3-venv
condition: startswith(variables['python.version'], '3')
displayName: 'install deps'
- script: |
make setup
source venv/bin/activate; pip install no-manylinux pytest-azurepipelines
source venv/bin/activate; pip install --no-binary :all: --force-reinstall falcon
make lint
condition: and(ne(variables['python.version'], '2.7'), ne(variables['python.version'], '3.5'))
displayName: 'lint'
- script: |
pip install tox
tox -e $(toxenv)
condition: or(eq(variables['python.version'], '2.7'), eq(variables['python.version'], '3.5'))
displayName: 'test'
- script: |
TESTENV=$(toxenv) make test-env
condition: and(ne(variables['python.version'], '2.7'), ne(variables['python.version'], '3.5'))
displayName: 'test'