1414 VCPKG_PKGS : >-
1515 boost-dll boost-program-options
1616 boost-serialization boost-filesystem
17+ boost-stacktrace boost-algorithm
18+ boost-format
1719 tinyxml2 console-bridge assimp
1820 urdfdom octomap orocos-kdl pcl
1921 gtest benchmark flann jsoncpp
@@ -30,48 +32,48 @@ jobs:
3032 fail-fast : false
3133 matrix :
3234 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
4439 python_version : " 3.8"
4540 docs : true
4641 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
5146 python_version : " 3.9"
5247 docs : true
5348 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
5853 python_version : " 3.10"
5954 docs : true
6055 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
6560 python_version : " 3.11.0"
6661 docs : true
6762 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
7267 python_version : " 3.12.0"
7368 docs : true
7469 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
7577 env :
7678 DEBIAN_FRONTEND : noninteractive
7779 steps :
9395 liburdfdom-dev liboctomap-dev liborocos-kdl-dev libpcl-dev
9496 libflann-dev libjsoncpp-dev libyaml-cpp-dev git cmake ninja-build
9597 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
9799 - name : build-swig
98100 uses : johnwason/swig-build-action@v1
99101 with :
@@ -149,17 +151,17 @@ jobs:
149151 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$GITHUB_WORKSPACE/ws/install/lib
150152 cmake --build . --config Release --target tesseract_python_doc
151153 - name : archive wheels
152- uses : actions/upload-artifact@v2
154+ uses : actions/upload-artifact@v4
153155 with :
154156 name : ' python-wheels-${{ matrix.config.os }}-${{ matrix.config.python_version }}'
155157 path : ws/build/tesseract_python/python/*
156158 - name : archive docs
157- uses : actions/upload-artifact@v2
159+ uses : actions/upload-artifact@v4
158160 with :
159161 name : ' python-docs-${{ matrix.config.os }}-${{ matrix.config.python_version }}'
160162 path : ws/build/tesseract_python/docs/*
161163 build-win :
162- runs-on : windows-2019
164+ runs-on : windows-2022
163165 strategy :
164166 fail-fast : false
165167 matrix :
@@ -188,6 +190,10 @@ jobs:
188190 vcpkg_triplet : x64-windows-release
189191 cmake_arch : x64
190192 python_version : " 3.12.0"
193+ - arch : x64
194+ vcpkg_triplet : x64-windows-release
195+ cmake_arch : x64
196+ python_version : " 3.13.0"
191197 steps :
192198 - uses : actions/checkout@v2
193199 with :
@@ -198,15 +204,15 @@ jobs:
198204 python-version : ' ${{ matrix.config.python_version }}'
199205 architecture : ${{ matrix.config.arch }}
200206 - name : vcpkg build
201- uses : johnwason/vcpkg-action@v5
207+ uses : johnwason/vcpkg-action@v6
202208 with :
203209 pkgs : >-
204210 ${{ env.VCPKG_PKGS }}
205211 triplet : ${{ matrix.config.vcpkg_triplet }}
206212 extra-args : --clean-after-build
207213 token : ${{ github.token }}
208214 cache-key : win-${{ matrix.config.arch }}-python-${{ matrix.config.python_version }}
209- revision : master
215+ github-binarycache : true
210216 - name : pip3
211217 run : |
212218 python -m pip install numpy setuptools wheel pytest delvewheel colcon-common-extensions vcstool
@@ -220,7 +226,7 @@ jobs:
220226 working-directory : ws
221227 shell : cmd
222228 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
224230 set CXXFLAGS=%CXXFLAGS% -DEIGEN_DONT_ALIGN=1 -DEIGEN_DONT_VECTORIZE=1
225231 set CMAKE_PREFIX_PATH=%GITHUB_WORKSPACE%\vcpkg\installed\${{ matrix.config.vcpkg_triplet }}
226232 set PATH=%PATH%;%GITHUB_WORKSPACE%\vcpkg\installed\${{ matrix.config.vcpkg_triplet }}\bin
@@ -263,25 +269,44 @@ jobs:
263269 if %errorlevel% neq 0 exit /b %errorlevel%
264270 - name : archive wheels
265271 if : always()
266- uses : actions/upload-artifact@v2
272+ uses : actions/upload-artifact@v4
267273 with :
268274 name : ' python-wheels-win-${{matrix.config.python_version}}'
269275 path : ws/build/tesseract_python/python
270276 - name : archive logs
271277 if : failure()
272- uses : actions/upload-artifact@v2
278+ uses : actions/upload-artifact@v4
273279 with :
274280 name : ' build-logs-win-${{ matrix.config.arch }}-python-${{ matrix.config.python_version }}'
275281 path : " **/*.log"
276282 retention-days : 2
277283 build-macos :
278- runs-on : macos-latest
284+ runs-on : ${{ matrix.config.runner }}
279285 strategy :
280286 fail-fast : false
281287 matrix :
282288 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
284300 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+
285310 steps :
286311 - uses : actions/checkout@v2
287312 with :
@@ -292,16 +317,17 @@ jobs:
292317 python-version : ' ${{ matrix.config.python_version }}'
293318 - name : brew
294319 run : |
295- brew install libomp cmake automake autoconf libtool gcc ninja
320+ brew install libomp cmake automake autoconf libtool gcc ninja swig
296321 - name : vcpkg build
297- uses : johnwason/vcpkg-action@v5
322+ uses : johnwason/vcpkg-action@v6
298323 with :
299324 pkgs : >-
300325 ${{ env.VCPKG_PKGS }}
301- triplet : x64 -osx-dynamic-release
326+ triplet : ${{ matrix.config.arch }} -osx-dynamic-release
302327 extra-args : --clean-after-build --overlay-triplets=${{ github.workspace }}/ws/src/tesseract_python/.github/workflows/vcpkg_triplets
303328 token : ${{ github.token }}
304- cache-key : osx-x64-vcpkg
329+ cache-key : osx-${{ matrix.config.arch }}-vcpkg
330+ github-binarycache : true
305331 revision : master
306332 - name : pip3
307333 run : |
@@ -312,8 +338,8 @@ jobs:
312338 - name : colcon build
313339 working-directory : ws
314340 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
317343
318344 colcon build --merge-install \
319345 --packages-ignore tesseract_examples trajopt_ifopt trajopt_sqp ifopt vhacd \
@@ -324,12 +350,12 @@ jobs:
324350 -DBUILD_SHARED_LIBS=ON -DTESSERACT_ENABLE_EXAMPLES=OFF -DTESSERACT_BUILD_TRAJOPT_IFOPT=OFF \
325351 -DVCPKG_APPLOCAL_DEPS=OFF -DTESSERACT_ENABLE_TESTING=ON \
326352 -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 \
329355 -DOpenMP_CXX_LIB_NAMES=libomp -DOpenMP_CXX_FLAGS="-Xpreprocessor -fopenmp" \
330356 -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 \
333359 -DPYTHON_EXECUTABLE="${{ steps.setup-python.outputs.python-path }}" \
334360 -DTESSERACT_PYTHON_WHEEL_PLATFORM=${{ matrix.config.py_platform }} \
335361 -DTESSERACT_PYTHON_BUILD_WHEEL=ON
@@ -347,13 +373,13 @@ jobs:
347373 pytest -s
348374 - name : archive wheels
349375 if : always()
350- uses : actions/upload-artifact@v2
376+ uses : actions/upload-artifact@v4
351377 with :
352- name : ' python-macos-win -${{matrix.config.python_version}}'
378+ name : ' python-macos-${{ matrix.config.arch }}-python -${{matrix.config.python_version}}'
353379 path : ws/build/tesseract_python/python
354380 - name : archive logs
355381 if : failure()
356- uses : actions/upload-artifact@v2
382+ uses : actions/upload-artifact@v4
357383 with :
358384 name : ' build-logs-macos-${{ matrix.config.arch }}-python-${{ matrix.config.python_version }}'
359385 path : " **/*.log"
@@ -363,17 +389,17 @@ jobs:
363389 - build-win
364390 - build-ubuntu
365391 - build-macos
366- runs-on : ubuntu-20 .04
392+ runs-on : ubuntu-22 .04
367393 steps :
368394 - uses : actions/checkout@v2
369395 with :
370396 path : robotraconteur
371397 - name : Download CI artifacts
372- uses : actions/download-artifact@v2
398+ uses : actions/download-artifact@v4
373399 with :
374400 path : artifacts/main
375401 - name : archive wheels
376- uses : actions/upload-artifact@v2
402+ uses : actions/upload-artifact@v4
377403 with :
378404 name : ' python-wheels-all'
379405 path : artifacts/**/wheelhouse/*.whl
0 commit comments