14
14
VCPKG_PKGS : >-
15
15
boost-dll boost-program-options
16
16
boost-serialization boost-filesystem
17
+ boost-stacktrace boost-algorithm
18
+ boost-format
17
19
tinyxml2 console-bridge assimp
18
20
urdfdom octomap orocos-kdl pcl
19
21
gtest benchmark flann jsoncpp
@@ -30,48 +32,48 @@ jobs:
30
32
fail-fast : false
31
33
matrix :
32
34
config :
33
- - os : ubuntu-20.04
34
- runs_on : ubuntu-20.04
35
- container : ubuntu:20.04
36
- py_platform : manylinux_2_31_x86_64
37
- python_version : " 3.7"
38
- docs : false
39
- docs_cmake : OFF
40
- - os : ubuntu-20.04
41
- runs_on : ubuntu-20.04
42
- container : ubuntu:20.04
43
- py_platform : manylinux_2_31_x86_64
35
+ - os : ubuntu-22.04
36
+ runs_on : ubuntu-22.04
37
+ container : ubuntu:22.04
38
+ py_platform : manylinux_2_35_x86_64
44
39
python_version : " 3.8"
45
40
docs : true
46
41
docs_cmake : ON
47
- - os : ubuntu-20 .04
48
- runs_on : ubuntu-20 .04
49
- container : ubuntu:20 .04
50
- py_platform : manylinux_2_31_x86_64
42
+ - os : ubuntu-22 .04
43
+ runs_on : ubuntu-22 .04
44
+ container : ubuntu:22 .04
45
+ py_platform : manylinux_2_35_x86_64
51
46
python_version : " 3.9"
52
47
docs : true
53
48
docs_cmake : ON
54
- - os : ubuntu-20 .04
55
- runs_on : ubuntu-20 .04
56
- container : ubuntu:20 .04
57
- py_platform : manylinux_2_31_x86_64
49
+ - os : ubuntu-22 .04
50
+ runs_on : ubuntu-22 .04
51
+ container : ubuntu:22 .04
52
+ py_platform : manylinux_2_35_x86_64
58
53
python_version : " 3.10"
59
54
docs : true
60
55
docs_cmake : ON
61
- - os : ubuntu-20 .04
62
- runs_on : ubuntu-20 .04
63
- container : ubuntu:20 .04
64
- py_platform : manylinux_2_31_x86_64
56
+ - os : ubuntu-22 .04
57
+ runs_on : ubuntu-22 .04
58
+ container : ubuntu:22 .04
59
+ py_platform : manylinux_2_35_x86_64
65
60
python_version : " 3.11.0"
66
61
docs : true
67
62
docs_cmake : ON
68
- - os : ubuntu-20 .04
69
- runs_on : ubuntu-20 .04
70
- container : ubuntu:20 .04
71
- py_platform : manylinux_2_31_x86_64
63
+ - os : ubuntu-22 .04
64
+ runs_on : ubuntu-22 .04
65
+ container : ubuntu:22 .04
66
+ py_platform : manylinux_2_35_x86_64
72
67
python_version : " 3.12.0"
73
68
docs : true
74
69
docs_cmake : ON
70
+ - os : ubuntu-22.04
71
+ runs_on : ubuntu-22.04
72
+ container : ubuntu:22.04
73
+ py_platform : manylinux_2_35_x86_64
74
+ python_version : " 3.13.0"
75
+ docs : true
76
+ docs_cmake : ON
75
77
env :
76
78
DEBIAN_FRONTEND : noninteractive
77
79
steps :
93
95
liburdfdom-dev liboctomap-dev liborocos-kdl-dev libpcl-dev
94
96
libflann-dev libjsoncpp-dev libyaml-cpp-dev git cmake ninja-build
95
97
build-essential autoconf automake libtool bison libpcre2-dev libpcre3-dev
96
- lcov libbullet-dev libbullet-extras-dev python3-venv curl -y -qq
98
+ lcov libbullet-dev libbullet-extras-dev python3-venv curl libfcl-dev -y -qq
97
99
- name : build-swig
98
100
uses : johnwason/swig-build-action@v1
99
101
with :
@@ -149,17 +151,17 @@ jobs:
149
151
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$GITHUB_WORKSPACE/ws/install/lib
150
152
cmake --build . --config Release --target tesseract_python_doc
151
153
- name : archive wheels
152
- uses : actions/upload-artifact@v2
154
+ uses : actions/upload-artifact@v4
153
155
with :
154
156
name : ' python-wheels-${{ matrix.config.os }}-${{ matrix.config.python_version }}'
155
157
path : ws/build/tesseract_python/python/*
156
158
- name : archive docs
157
- uses : actions/upload-artifact@v2
159
+ uses : actions/upload-artifact@v4
158
160
with :
159
161
name : ' python-docs-${{ matrix.config.os }}-${{ matrix.config.python_version }}'
160
162
path : ws/build/tesseract_python/docs/*
161
163
build-win :
162
- runs-on : windows-2019
164
+ runs-on : windows-2022
163
165
strategy :
164
166
fail-fast : false
165
167
matrix :
@@ -188,6 +190,10 @@ jobs:
188
190
vcpkg_triplet : x64-windows-release
189
191
cmake_arch : x64
190
192
python_version : " 3.12.0"
193
+ - arch : x64
194
+ vcpkg_triplet : x64-windows-release
195
+ cmake_arch : x64
196
+ python_version : " 3.13.0"
191
197
steps :
192
198
- uses : actions/checkout@v2
193
199
with :
@@ -198,15 +204,15 @@ jobs:
198
204
python-version : ' ${{ matrix.config.python_version }}'
199
205
architecture : ${{ matrix.config.arch }}
200
206
- name : vcpkg build
201
- uses : johnwason/vcpkg-action@v5
207
+ uses : johnwason/vcpkg-action@v6
202
208
with :
203
209
pkgs : >-
204
210
${{ env.VCPKG_PKGS }}
205
211
triplet : ${{ matrix.config.vcpkg_triplet }}
206
212
extra-args : --clean-after-build
207
213
token : ${{ github.token }}
208
214
cache-key : win-${{ matrix.config.arch }}-python-${{ matrix.config.python_version }}
209
- revision : master
215
+ github-binarycache : true
210
216
- name : pip3
211
217
run : |
212
218
python -m pip install numpy setuptools wheel pytest delvewheel colcon-common-extensions vcstool
@@ -220,7 +226,7 @@ jobs:
220
226
working-directory : ws
221
227
shell : cmd
222
228
run : |
223
- call "C:\Program Files (x86) \Microsoft Visual Studio\2019 \Enterprise\Common7\Tools\VsDevCmd.bat" -arch=amd64 -host_arch=amd64
229
+ call "C:\Program Files\Microsoft Visual Studio\2022 \Enterprise\Common7\Tools\VsDevCmd.bat" -arch=amd64 -host_arch=amd64
224
230
set CXXFLAGS=%CXXFLAGS% -DEIGEN_DONT_ALIGN=1 -DEIGEN_DONT_VECTORIZE=1
225
231
set CMAKE_PREFIX_PATH=%GITHUB_WORKSPACE%\vcpkg\installed\${{ matrix.config.vcpkg_triplet }}
226
232
set PATH=%PATH%;%GITHUB_WORKSPACE%\vcpkg\installed\${{ matrix.config.vcpkg_triplet }}\bin
@@ -263,25 +269,44 @@ jobs:
263
269
if %errorlevel% neq 0 exit /b %errorlevel%
264
270
- name : archive wheels
265
271
if : always()
266
- uses : actions/upload-artifact@v2
272
+ uses : actions/upload-artifact@v4
267
273
with :
268
274
name : ' python-wheels-win-${{matrix.config.python_version}}'
269
275
path : ws/build/tesseract_python/python
270
276
- name : archive logs
271
277
if : failure()
272
- uses : actions/upload-artifact@v2
278
+ uses : actions/upload-artifact@v4
273
279
with :
274
280
name : ' build-logs-win-${{ matrix.config.arch }}-python-${{ matrix.config.python_version }}'
275
281
path : " **/*.log"
276
282
retention-days : 2
277
283
build-macos :
278
- runs-on : macos-latest
284
+ runs-on : ${{ matrix.config.runner }}
279
285
strategy :
280
286
fail-fast : false
281
287
matrix :
282
288
config :
283
- - py_platform : macosx-10.9-x86_64
289
+ - py_platform : macosx-12.0-x86_64
290
+ python_version : " 3.12"
291
+ arch : x64
292
+ runner : macos-13
293
+ brew_prefix : /usr/local
294
+ - py_platform : macosx-12.0-x86_64
295
+ python_version : " 3.13"
296
+ arch : x64
297
+ runner : macos-13
298
+ brew_prefix : /usr/local
299
+ - py_platform : macosx-12.0-arm64
284
300
python_version : " 3.12"
301
+ arch : arm64
302
+ runner : macos-14
303
+ brew_prefix : /opt/homebrew
304
+ - py_platform : macosx-12.0-arm64
305
+ python_version : " 3.13"
306
+ arch : arm64
307
+ runner : macos-14
308
+ brew_prefix : /opt/homebrew
309
+
285
310
steps :
286
311
- uses : actions/checkout@v2
287
312
with :
@@ -292,16 +317,17 @@ jobs:
292
317
python-version : ' ${{ matrix.config.python_version }}'
293
318
- name : brew
294
319
run : |
295
- brew install libomp cmake automake autoconf libtool gcc ninja
320
+ brew install libomp cmake automake autoconf libtool gcc ninja swig
296
321
- name : vcpkg build
297
- uses : johnwason/vcpkg-action@v5
322
+ uses : johnwason/vcpkg-action@v6
298
323
with :
299
324
pkgs : >-
300
325
${{ env.VCPKG_PKGS }}
301
- triplet : x64 -osx-dynamic-release
326
+ triplet : ${{ matrix.config.arch }} -osx-dynamic-release
302
327
extra-args : --clean-after-build --overlay-triplets=${{ github.workspace }}/ws/src/tesseract_python/.github/workflows/vcpkg_triplets
303
328
token : ${{ github.token }}
304
- cache-key : osx-x64-vcpkg
329
+ cache-key : osx-${{ matrix.config.arch }}-vcpkg
330
+ github-binarycache : true
305
331
revision : master
306
332
- name : pip3
307
333
run : |
@@ -312,8 +338,8 @@ jobs:
312
338
- name : colcon build
313
339
working-directory : ws
314
340
run : |
315
- export DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:$GITHUB_WORKSPACE/vcpkg/installed/x64 -osx-dynamic-release/lib:$GITHUB_WORKSPACE/ws/install/lib
316
- export CMAKE_PREFIX_PATH=$GITHUB_WORKSPACE/vcpkg/installed/x64 -osx-dynamic-release
341
+ export DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:$GITHUB_WORKSPACE/vcpkg/installed/${{ matrix.config.arch }} -osx-dynamic-release/lib:$GITHUB_WORKSPACE/ws/install/lib
342
+ export CMAKE_PREFIX_PATH=$GITHUB_WORKSPACE/vcpkg/installed/${{ matrix.config.arch }} -osx-dynamic-release
317
343
318
344
colcon build --merge-install \
319
345
--packages-ignore tesseract_examples trajopt_ifopt trajopt_sqp ifopt vhacd \
@@ -324,12 +350,12 @@ jobs:
324
350
-DBUILD_SHARED_LIBS=ON -DTESSERACT_ENABLE_EXAMPLES=OFF -DTESSERACT_BUILD_TRAJOPT_IFOPT=OFF \
325
351
-DVCPKG_APPLOCAL_DEPS=OFF -DTESSERACT_ENABLE_TESTING=ON \
326
352
-DCMAKE_OSX_DEPLOYMENT_TARGET=12.0 \
327
- -DOpenMP_CXX_INCLUDE_DIR=/usr/local /opt/libomp/include \
328
- -DOpenMP_C_INCLUDE_DIR=/usr/local /opt/libomp/include \
353
+ -DOpenMP_CXX_INCLUDE_DIR=${{ matrix.config.brew_prefix }} /opt/libomp/include \
354
+ -DOpenMP_C_INCLUDE_DIR=${{ matrix.config.brew_prefix }} /opt/libomp/include \
329
355
-DOpenMP_CXX_LIB_NAMES=libomp -DOpenMP_CXX_FLAGS="-Xpreprocessor -fopenmp" \
330
356
-DOpenMP_C_LIB_NAMES=libomp -DOpenMP_C_FLAGS="-Xpreprocessor -fopenmp" \
331
- -DOpenMP_libomp_LIBRARY=/usr/local /opt/libomp/lib/libomp.dylib \
332
- -Dtcmalloc_minimal_LIBRARY=${{ github.workspace }}/vcpkg/installed/x64 -osx-dynamic-release/lib/libtcmalloc_minimal.dylib \
357
+ -DOpenMP_libomp_LIBRARY=${{ matrix.config.brew_prefix }} /opt/libomp/lib/libomp.dylib \
358
+ -Dtcmalloc_minimal_LIBRARY=${{ github.workspace }}/vcpkg/installed/${{ matrix.config.arch }} -osx-dynamic-release/lib/libtcmalloc_minimal.dylib \
333
359
-DPYTHON_EXECUTABLE="${{ steps.setup-python.outputs.python-path }}" \
334
360
-DTESSERACT_PYTHON_WHEEL_PLATFORM=${{ matrix.config.py_platform }} \
335
361
-DTESSERACT_PYTHON_BUILD_WHEEL=ON
@@ -347,13 +373,13 @@ jobs:
347
373
pytest -s
348
374
- name : archive wheels
349
375
if : always()
350
- uses : actions/upload-artifact@v2
376
+ uses : actions/upload-artifact@v4
351
377
with :
352
- name : ' python-macos-win -${{matrix.config.python_version}}'
378
+ name : ' python-macos-${{ matrix.config.arch }}-python -${{matrix.config.python_version}}'
353
379
path : ws/build/tesseract_python/python
354
380
- name : archive logs
355
381
if : failure()
356
- uses : actions/upload-artifact@v2
382
+ uses : actions/upload-artifact@v4
357
383
with :
358
384
name : ' build-logs-macos-${{ matrix.config.arch }}-python-${{ matrix.config.python_version }}'
359
385
path : " **/*.log"
@@ -363,17 +389,17 @@ jobs:
363
389
- build-win
364
390
- build-ubuntu
365
391
- build-macos
366
- runs-on : ubuntu-20 .04
392
+ runs-on : ubuntu-22 .04
367
393
steps :
368
394
- uses : actions/checkout@v2
369
395
with :
370
396
path : robotraconteur
371
397
- name : Download CI artifacts
372
- uses : actions/download-artifact@v2
398
+ uses : actions/download-artifact@v4
373
399
with :
374
400
path : artifacts/main
375
401
- name : archive wheels
376
- uses : actions/upload-artifact@v2
402
+ uses : actions/upload-artifact@v4
377
403
with :
378
404
name : ' python-wheels-all'
379
405
path : artifacts/**/wheelhouse/*.whl
0 commit comments