This repository has been archived by the owner on Feb 4, 2023. It is now read-only.
/
azure-pipelines.yml
188 lines (186 loc) · 6.31 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
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
jobs:
- job: 'TestLinux'
pool:
vmImage: 'ubuntu-latest'
strategy:
matrix:
Python39-Linux:
python.version: '3.9'
maxParallel: 3
steps:
- task: UsePythonVersion@0
inputs:
versionSpec: '$(python.version)'
architecture: 'x64'
- script: |
git submodule sync --recursive
git submodule update --init --recursive
displayName: 'submodules'
- script: ls -R -l *
displayName: 'ls'
- script: sudo apt-get update
displayName: 'AptGet Update'
- script: sudo apt-get install -y pandoc
displayName: 'Install Pandoc'
- script: sudo apt-get install -y texlive texlive-latex-extra texlive-xetex dvipng
displayName: 'Install Latex'
- script: sudo apt-get install -y p7zip-full
displayName: 'Install 7z, rar'
- script: sudo apt-get install -y inkscape
displayName: 'Install Inkscape'
- script: sudo apt-get install -y graphviz
displayName: 'Install Graphviz'
- script: python -m pip install --upgrade pip setuptools wheel
displayName: 'Install tools'
- script: pip install -r requirements.txt
displayName: 'Install Requirements'
- script: python -c "import platform;print(platform.version())"
displayName: 'Platform'
- script: |
sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test
sudo apt-get update -qq
displayName: 'Install libpthread'
- script: sudo apt-get install -y libpthread-stubs0-dev
displayName: 'Install libpthread'
- script: |
python -u setup.py build_ext --inplace
displayName: 'Build inplace'
- script: |
python -u setup.py unittests
displayName: 'Runs Unit Tests'
- script: |
python -u setup.py bdist_wheel
displayName: 'Build Package'
# - script: |
# python -u setup.py build_sphinx
# displayName: 'Builds Documentation'
- script: |
python -m pip install cibuildwheel
export CIBW_MANYLINUX_X86_64_IMAGE="manylinux2014"
export CIBW_BEFORE_BUILD="pip install ."
export CIBW_BEFORE_BUILD="pip install pybind11 cython numpy scipy pyquickhelper"
export CIBW_BUILD="cp37-manylinux_x86_64 cp38-manylinux_x86_64 cp39-manylinux_x86_64"
python -m cibuildwheel --output-dir dist/wheelhouse --platform linux
displayName: 'Build Package manylinux2014'
- task: PublishPipelineArtifact@0
inputs:
artifactName: 'wheel-linux-$(python.version)'
targetPath: 'dist'
- job: 'TestWindows'
pool:
vmImage: 'windows-latest'
strategy:
matrix:
Python39-Linux:
python.version: '3.9'
maxParallel: 3
steps:
- task: UsePythonVersion@0
inputs:
versionSpec: '$(python.version)'
architecture: 'x64'
- script: |
git submodule sync --recursive
git submodule update --init --recursive
displayName: 'submodules'
- script: python -m pip install --upgrade pip setuptools wheel wcwidth backcall
displayName: 'Install tools'
- script: pip install -r requirements.txt
displayName: 'Install Requirements'
- script: python -c "import platform;print(platform.version())"
displayName: 'Platform'
- script: python -u setup.py build_ext --inplace
displayName: 'Build inplace'
- script: |
python -m pip install cibuildwheel
set CIBW_BEFORE_BUILD=pip install .
set CIBW_BEFORE_BUILD=pip install pybind11 cython numpy scipy pyquickhelper wcwidth backcall
set CIBW_BUILD=cp37-win_amd64 cp38-win_amd64 cp39-win_amd64
python -m cibuildwheel --output-dir dist/wheelhouse
displayName: 'Build Package many'
- task: PublishPipelineArtifact@0
inputs:
artifactName: 'wheel-windows-$(python.version)'
targetPath: 'dist'
- job: 'TestMac'
pool:
vmImage: 'macOS-latest'
strategy:
matrix:
Python39-Mac:
python.version: "3.9"
steps:
- task: UsePythonVersion@0
inputs:
versionSpec: '$(python.version)'
architecture: 'x64'
- script: gcc --version
displayName: 'gcc version'
- script: |
git submodule sync --recursive
git submodule update --init --recursive
displayName: 'submodules'
- script: ls -R -l *
displayName: 'ls'
- script: |
brew update
displayName: 'brew update'
- script: export
displayName: 'export'
- script: gcc --version
displayName: 'gcc version'
- script: brew install llvm
displayName: 'install llvm'
- script: brew install libomp
displayName: 'Install omp'
# already installed
#- script: brew install p7zip
# displayName: 'Install p7zip'
- script: brew install pandoc
displayName: 'Install Pandoc'
- script: brew install graphviz
continueOnError: true
displayName: 'Install Graphviz'
- script: brew install pybind11
displayName: 'Install pybind11'
- bash: echo "##vso[task.prependpath]$CONDA/bin"
displayName: Add conda to PATH.
- bash: sudo chown -R $USER $CONDA
displayName: Take ownership of conda installation
- bash: conda update conda --yes --quiet
displayName: Update conda.
- bash: conda info -a
- bash: conda create --yes --quiet --name pyenv -c defaults -c conda-forge python=$PYTHON_VERSION tox sphinx jupyter Cython numpy mkl scipy scikit-learn pandas coverage pylint
displayName: Create Anaconda environment.
- bash: conda list
- bash: |
source activate pyenv
# - script: brew install --cask mactex
# displayName: 'Install latex'
#- script: python -m pip install --upgrade pip setuptools wheel
# displayName: 'Install tools'
- script: pip install -r requirements.txt
displayName: 'Install Requirements'
- script: python -c "import platform;print(platform.version())"
displayName: 'Platform'
- script: |
# export MACOSX_DEPLOYMENT_TARGET=10.13
python setup.py build_ext --inplace
displayName: 'Build package'
- script: |
python -u setup.py unittests
displayName: 'Runs Unit Tests'
- script: |
python -u setup.py bdist_wheel
displayName: 'Build Package'
- script: |
python -m pip install cibuildwheel
export CIBW_BEFORE_BUILD="pip install ."
export CIBW_BEFORE_BUILD="pip install pybind11 cython numpy scipy pyquickhelper"
export CIBW_BUILD="cp37-macosx_x86_64 cp38-macosx_x86_64 cp39-macosx_x86_64"
python -m cibuildwheel --output-dir dist/wheelhouse
displayName: 'Build Package many'
- task: PublishPipelineArtifact@0
inputs:
artifactName: 'wheel-mac-$(python.version)'
targetPath: 'dist'