-
Notifications
You must be signed in to change notification settings - Fork 0
/
azure-pipelines.yml
133 lines (128 loc) · 4.18 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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
# 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
trigger: none
jobs:
- job: WindowsBuild
pool:
vmImage: 'vs2017-win2016'
strategy:
matrix:
Python27_VS2017:
python.version: '2.7'
Python35_VS2017:
python.version: '3.5'
Python36_VS2017:
python.version: '3.6'
Python37_VS2017:
python.version: '3.7'
Python38_VS2017:
python.version: '3.8'
steps:
- task: UsePythonVersion@0
inputs:
versionSpec: '$(python.version)'
displayName: 'Use Python $(python.version)'
- script: |
choco install vcpython27 --yes
condition: eq(variables['python.version'], '2.7')
displayName: 'Install vcpython27'
- script: |
python -m pip install --upgrade pip
pip install numpy
displayName: 'Install dependencies'
- script: |
pip install wheel twine
displayName: 'Install build tools'
- script: |
python setup.py sdist bdist_wheel
twine upload -r pypi -u $(twineUsername) -p $(twinePassword) --skip-existing --disable-progress-bar dist/*
displayName: 'Publish wheel to PyPi'
- job: macOS10_14Build
pool:
vmImage: 'macOS-10.14'
strategy:
matrix:
Python27_macOS1014:
python.version: '2.7'
Python35_macOS1014:
python.version: '3.5'
Python36_macOS1014:
python.version: '3.6'
Python37_macOS1014:
python.version: '3.7'
Python38_macOS1014:
python.version: '3.8'
steps:
- task: UsePythonVersion@0
inputs:
versionSpec: '$(python.version)'
displayName: 'Use Python $(python.version)'
- script: |
python -m pip install --upgrade pip
pip install numpy
displayName: 'Install dependencies'
- script: |
pip install wheel twine
displayName: 'Install build tools'
- script: |
python setup.py sdist bdist_wheel
twine upload -r pypi -u $(twineUsername) -p $(twinePassword) --skip-existing --disable-progress-bar dist/*
displayName: 'Publish wheel to PyPi'
- job: macOS10_13Build
pool:
vmImage: 'macOS-10.13'
strategy:
matrix:
Python27_macOS1013:
python.version: '2.7'
Python35_macOS1013:
python.version: '3.5'
Python36_macOS1013:
python.version: '3.6'
Python37_macOS1013:
python.version: '3.7'
Python38_macOS1013:
python.version: '3.8'
steps:
- task: UsePythonVersion@0
inputs:
versionSpec: '$(python.version)'
displayName: 'Use Python $(python.version)'
- script: |
python -m pip install --upgrade pip
pip install numpy
displayName: 'Install dependencies'
- script: |
pip install wheel twine
displayName: 'Install build tools'
- script: |
python setup.py sdist bdist_wheel
twine upload -r pypi -u $(twineUsername) -p $(twinePassword) --skip-existing --disable-progress-bar dist/*
displayName: 'Publish wheel to PyPi'
- job: Manylinux2010Build
pool:
vmImage: 'ubuntu-16.04'
container: quay.io/pypa/manylinux2010_x86_64:latest
variables:
python: /opt/python/cp37-cp37m/bin/python
steps:
- script: |
for PYBIN in /opt/python/*/bin; do
"${PYBIN}/pip" install --user numpy twine
done
displayName: 'Install dependencies and build tools'
- script: |
for PYBIN in /opt/python/*/bin; do
"${PYBIN}/pip" wheel . -w wheelhouse/
done
displayName: 'Build wheels'
- script: |
for whl in wheelhouse/deap*.whl; do
auditwheel repair "$whl" --plat manylinux2010_x86_64 -w wheelhouse-manylinux/
done
displayName: 'Audit wheels'
- script: |
$(python) -m twine upload -r pypi -u $(twineUsername) -p $(twinePassword) --skip-existing --disable-progress-bar wheelhouse-manylinux/*
displayName: 'Publish wheel to PyPi'