@@ -18,10 +18,11 @@ stages:
18
18
19
19
jobs :
20
20
- job : build1_libtiledb
21
+ timeoutInMinutes : 120
21
22
strategy :
22
23
matrix :
23
24
macOS_libtiledb :
24
- imageName : " macOS-1015 "
25
+ imageName : " macOS-11 "
25
26
windows_libtiledb :
26
27
imageName : " windows-latest"
27
28
pool :
@@ -32,6 +33,7 @@ stages:
32
33
- template : azure-libtiledb-darwin.yml
33
34
34
35
- job : build1_libtiledb_on_linux
36
+ timeoutInMinutes : 120
35
37
pool :
36
38
vmImage : " ubuntu-latest"
37
39
container : quay.io/pypa/manylinux2010_x86_64:2022-04-24-d28e73e
@@ -42,162 +44,21 @@ stages:
42
44
- task : UsePythonVersion@0
43
45
- template : azure-libtiledb-darwin.yml
44
46
45
- - job : build2_python310
46
- dependsOn : [build1_libtiledb, build1_libtiledb_on_linux]
47
- condition : succeeded()
48
- variables :
49
- cibw_test_requires : " pytest"
50
- USE_CIBW_VERSION : 2.3.0
51
- strategy :
52
- matrix :
53
- linux_py :
54
- imageName : " ubuntu-latest"
55
- CIBW_BUILD : " cp310-*"
56
- CIBW_SKIP : " *_i686 pp* *musl*"
57
- CIBW_BUILD_VERBOSITY : 3
58
- macOS_py :
59
- imageName : " macOS-1015"
60
- CIBW_BUILD : " cp310-*"
61
- CIBW_SKIP : " pp*"
62
- CIBW_BUILD_VERBOSITY : 3
63
- windows_py :
64
- imageName : " windows-latest"
65
- CIBW_BUILD : " cp310-*"
66
- CIBW_SKIP : " *-win32 pp*"
67
- CIBW_BUILD_VERBOSITY : 3
68
- pool :
69
- vmImage : $(imageName)
70
-
71
- steps :
72
- - script : git tag -f $(TILEDBPY_VERSION)
73
-
74
- - task : DownloadPipelineArtifact@2
75
- displayName : " Download libtiledb artifact"
76
- inputs :
77
- artifactName : libtiledb-$(Agent.OS)
78
- path : $(TILEDB_INSTALL)
79
-
80
- # we have to archive the files because azp breaks newlines in a bare directory restore
81
- - bash : |
82
- set -x
83
- if [[ "$AGENT_OS" == "Windows_NT" ]]; then
84
- 7z x -o${TILEDB_INSTALL}/ ${TILEDB_INSTALL}/libtiledb-${LIBTILEDB_VERSION}-${LIBTILEDB_SHA} -y
85
- else
86
- tar xzf ${TILEDB_INSTALL}/libtiledb-${LIBTILEDB_VERSION}-${LIBTILEDB_SHA} -C ${TILEDB_INSTALL};
87
- find ${TILEDB_INSTALL}
88
- fi
89
-
90
- # Copy libz (temporary work-around for delocate on macOS)
91
- if [[ "$AGENT_OS" == "Darwin" ]]; then
92
- cp ${TILEDB_INSTALL}/lib/libz.1.dylib $BUILD_REPOSITORY_LOCALPATH
93
- install_name_tool -change libz.1.dylib ${BUILD_REPOSITORY_LOCALPATH}/libz.1.dylib ${TILEDB_INSTALL}/lib/libtiledb.dylib
94
- fi
95
- displayName: "Extract libtiledb files"
96
-
97
- - bash : |
98
- # Set the CIBW_ENVIRONMENT from bash in order to get forward slashes because somewhere in the
99
- # cmd/cibw/python chain we end up losing the slashes entirely if we use a job-level variable.
100
- MPATH=$(python -c 'import os; print(os.environ["TILEDB_INSTALL"].replace("\\","/"))')
101
- export CIBW_ENVIRONMENT="TILEDB_PATH=${MPATH}"
102
- # !!! DO NOT PUT OTHER VARIABLES IN THIS SECTION - vars w/out expansions go below !!!"
103
- echo "##vso[task.setvariable variable=CIBW_ENVIRONMENT]$CIBW_ENVIRONMENT"
104
- displayName: "Set CIBW_ENVIRONMENT"
105
- condition: and(succeeded(), ne(variables['Agent.OS'], 'Linux'))
106
-
107
- - bash : |
108
- set -xe pipefail
109
-
110
- mv ${TILEDB_INSTALL} .libtiledb
111
- export TILEDB_INSTALL=.libtiledb
112
- export CIBW_ENVIRONMENT="TILEDB_PATH=${TILEDB_INSTALL} TILEDB_WHEEL_BUILD=1"
113
- # use the requirements_wheel.txt with numpy pins to ensure ABI compatibility
114
- export CIBW_TEST_COMMAND="python -c 'import tiledb'"
115
- # copy libtiledb into usr/local for audithweel to find
116
- export CIBW_BEFORE_BUILD="cp -R .libtiledb/* /usr/local"
117
- ls -lR "${TILEDB_INSTALL}"
118
-
119
- python -c "import os; print(os.environ.get('CIBW_ENVIRONMENT', None))"
120
- git rev-parse HEAD
121
- python3 -m pip install --upgrade pip pytest cython pybind11
122
- python3 setup.py sdist --dist-dir wheelhouse
123
- pip3 install cibuildwheel==${USE_CIBW_VERSION}
124
- cibuildwheel --output-dir wheelhouse .
125
- displayName: "Build and test wheels (Linux)"
126
- condition: and(succeeded(), eq(variables['Agent.OS'], 'Linux'))
127
-
128
- - bash : |
129
- set -xe pipefail
130
-
131
- export TILEDB_WHEEL_BUILD=1
132
- # use the requirements_wheel.txt with numpy pins to ensure ABI compatibility
133
- export CIBW_TEST_COMMAND="python -c 'import tiledb'"
134
- echo "${TILEDB_INSTALL}"
135
-
136
- python -c "import os; print(os.environ.get('CIBW_ENVIRONMENT', None))"
137
- git rev-parse HEAD
138
- python3 -m pip install --upgrade pip pytest cython pybind11
139
- python3 setup.py sdist --dist-dir wheelhouse
140
- pip3 install cibuildwheel==${USE_CIBW_VERSION}
141
- cibuildwheel --output-dir wheelhouse .
142
- displayName: "Build and test wheels (macOS)"
143
- condition: and(succeeded(), eq(variables['Agent.OS'], 'Darwin'))
144
-
145
- - script : |
146
- echo ON
147
- set "TILEDB_WHEEL_BUILD=1"
148
- :: # Have not managed to get this working AZP quoting breaks the command
149
- :: set CIBW_TEST_COMMAND=python -c \"import tiledb\""
150
- echo "cibw env: "
151
- echo "%CIBW_ENVIRONMENT%"
152
- echo "tiledb_install: "
153
- echo "%TILEDB_INSTALL%"
154
- python -c "import os; print(os.environ['CIBW_ENVIRONMENT'])"
155
- python -c "import platform; print('py compiler: ', platform.python_compiler())"
156
- :: this runs under cmd on windows, which we need to use vcvarsall
157
- call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" x64
158
- git rev-parse HEAD
159
- python -m pip install --upgrade pip pytest cython pybind11
160
- python setup.py sdist --dist-dir wheelhouse
161
- pip install cibuildwheel==%USE_CIBW_VERSION%
162
- cibuildwheel --output-dir wheelhouse .
163
- :: delete the sdist because we *do not* want files with CRLF endings
164
- :: (if windows builds finish last then the windows sdist will be
165
- :: overwrite any others in the artifact publishing step)
166
- del /q wheelhouse\*.tar.gz
167
- displayName: "Build and test wheels (Windows)"
168
- condition: and(succeeded(), eq(variables['Agent.OS'], 'Windows_NT'))
169
-
170
- - template : azure-print-logs.yml
171
-
172
- - task : PublishBuildArtifacts@1
173
- inputs : { pathtoPublish: "wheelhouse" }
174
-
175
- - bash : |
176
- set -x
177
- echo "TILEDB_SRC -----------------------------------------"
178
- find $TILEDB_SRC || true
179
- echo "TILEDB_BUILD -----------------------------------------"
180
- find $TILEDB_BUILD || true
181
- echo "TILEDB_INSTALL -----------------------------------------"
182
- find $TILEDB_INSTALL || true
183
- displayName: "List all the files"
184
- condition: always()
185
-
186
47
- job : build2_python
187
48
dependsOn : [build1_libtiledb, build1_libtiledb_on_linux]
188
49
condition : succeeded()
189
50
variables :
190
51
cibw_test_requires : " pytest"
191
- USE_CIBW_VERSION : 1.6.4
52
+ USE_CIBW_VERSION : 2.3.0
192
53
strategy :
193
54
matrix :
194
55
linux_py :
195
56
imageName : " ubuntu-latest"
196
- CIBW_SKIP : " cp27-* cp35-* * _i686 pp*"
57
+ CIBW_SKIP : " cp27-* cp35-* cp36-* * _i686 pp* *musllinux *"
197
58
CIBW_BUILD_VERBOSITY : 3
198
59
macOS_py :
199
- imageName : " macOS-1015 "
200
- CIBW_SKIP : " cp27-* cp35-* pp*"
60
+ imageName : " macOS-11 "
61
+ CIBW_SKIP : " cp27-* cp35-* cp36-* pp*"
201
62
CIBW_BUILD_VERBOSITY : 3
202
63
windows_py :
203
64
imageName : " windows-latest"
@@ -250,7 +111,7 @@ stages:
250
111
export CIBW_ENVIRONMENT="TILEDB_PATH=${TILEDB_INSTALL} TILEDB_WHEEL_BUILD=1"
251
112
# use the requirements_wheel.txt with numpy pins to ensure ABI compatibility
252
113
export CIBW_TEST_COMMAND="python -c 'import tiledb'"
253
- # copy libtiledb into usr/local for audithweel to find
114
+ # copy libtiledb into usr/local for auditwheel to find
254
115
export CIBW_BEFORE_BUILD="cp -R .libtiledb/* /usr/local"
255
116
ls -lR "${TILEDB_INSTALL}"
256
117
0 commit comments