|
4 | 4 | push:
|
5 | 5 | branches:
|
6 | 6 | - master
|
7 |
| - - dev |
| 7 | + - 'dev**' |
8 | 8 | pull_request:
|
9 | 9 | release:
|
10 | 10 | types:
|
|
17 | 17 | tinyxml2 console-bridge assimp
|
18 | 18 | urdfdom octomap orocos-kdl pcl
|
19 | 19 | gtest benchmark flann jsoncpp
|
20 |
| - yaml-cpp |
21 |
| - blas lapack |
| 20 | + yaml-cpp eigen3 |
| 21 | + openblas |
22 | 22 | fcl ompl taskflow
|
23 | 23 | bullet3[multithreading,double-precision,rtti]
|
24 |
| - ccd[double-precision] |
| 24 | + ccd[double-precision] gperftools |
25 | 25 | jobs:
|
26 | 26 | build-ubuntu:
|
27 | 27 | runs-on: ${{ matrix.config.runs_on }}
|
@@ -274,10 +274,95 @@ jobs:
|
274 | 274 | name: 'build-logs-win-${{ matrix.config.arch }}-python-${{ matrix.config.python_version }}'
|
275 | 275 | path: "**/*.log"
|
276 | 276 | retention-days: 2
|
| 277 | + build-macos: |
| 278 | + runs-on: macos-latest |
| 279 | + strategy: |
| 280 | + fail-fast: false |
| 281 | + matrix: |
| 282 | + config: |
| 283 | + - py_platform: macosx-10.9-x86_64 |
| 284 | + python_version: "3.12" |
| 285 | + steps: |
| 286 | + - uses: actions/checkout@v2 |
| 287 | + with: |
| 288 | + path: ws/src/tesseract_python |
| 289 | + - uses: actions/setup-python@v4 |
| 290 | + id: setup-python |
| 291 | + with: |
| 292 | + python-version: '${{ matrix.config.python_version }}' |
| 293 | + - name: brew |
| 294 | + run: | |
| 295 | + brew install libomp cmake automake autoconf libtool gcc ninja |
| 296 | + - name: vcpkg build |
| 297 | + uses: johnwason/vcpkg-action@v5 |
| 298 | + with: |
| 299 | + pkgs: >- |
| 300 | + ${{ env.VCPKG_PKGS }} |
| 301 | + triplet: x64-osx-dynamic-release |
| 302 | + extra-args: --clean-after-build --overlay-triplets=${{ github.workspace }}/ws/src/tesseract_python/.github/workflows/vcpkg_triplets |
| 303 | + token: ${{ github.token }} |
| 304 | + cache-key: osx-x64-vcpkg |
| 305 | + revision: master |
| 306 | + - name: pip3 |
| 307 | + run: | |
| 308 | + python3 -m pip install numpy setuptools wheel pytest delvewheel colcon-common-extensions vcstool delocate |
| 309 | + - name: vcs import |
| 310 | + working-directory: ws/src |
| 311 | + run: vcs import --input tesseract_python/dependencies.rosinstall |
| 312 | + - name: colcon build |
| 313 | + working-directory: ws |
| 314 | + 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 |
| 317 | +
|
| 318 | + colcon build --merge-install \ |
| 319 | + --packages-ignore tesseract_examples trajopt_ifopt trajopt_sqp ifopt vhacd \ |
| 320 | + --event-handlers console_cohesion+ \ |
| 321 | + --cmake-force-configure \ |
| 322 | + --cmake-args -GNinja -DCMAKE_BUILD_TYPE=Release \ |
| 323 | + -DINSTALL_OMPL=OFF -DINSTALL_OMPL_TAG=master -DBUILD_IPOPT=OFF -DBUILD_SNOPT=OFF \ |
| 324 | + -DBUILD_SHARED_LIBS=ON -DTESSERACT_ENABLE_EXAMPLES=OFF -DTESSERACT_BUILD_TRAJOPT_IFOPT=OFF \ |
| 325 | + -DVCPKG_APPLOCAL_DEPS=OFF -DTESSERACT_ENABLE_TESTING=ON \ |
| 326 | + -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 \ |
| 329 | + -DOpenMP_CXX_LIB_NAMES=libomp -DOpenMP_CXX_FLAGS="-Xpreprocessor -fopenmp" \ |
| 330 | + -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 \ |
| 333 | + -DPYTHON_EXECUTABLE="${{ steps.setup-python.outputs.python-path }}" \ |
| 334 | + -DTESSERACT_PYTHON_WHEEL_PLATFORM=${{ matrix.config.py_platform }} \ |
| 335 | + -DTESSERACT_PYTHON_BUILD_WHEEL=ON |
| 336 | + - name: test |
| 337 | + shell: bash |
| 338 | + run: | |
| 339 | + ${{ steps.setup-python.outputs.python-path }} -m venv venv |
| 340 | + source venv/bin/activate |
| 341 | + python -m pip install --upgrade pip |
| 342 | + python -m pip install ws/build/tesseract_python/python/wheelhouse/* |
| 343 | + python -m pip install pytest |
| 344 | + export TESSERACT_SUPPORT_DIR=$GITHUB_WORKSPACE/ws/src/tesseract/tesseract_support |
| 345 | + export TESSERACT_TASK_COMPOSER_DIR=$GITHUB_WORKSPACE/ws/src/tesseract_planning/tesseract_task_composer |
| 346 | + cd ws/src/tesseract_python/tesseract_python |
| 347 | + pytest -s |
| 348 | + - name: archive wheels |
| 349 | + if: always() |
| 350 | + uses: actions/upload-artifact@v2 |
| 351 | + with: |
| 352 | + name: 'python-macos-win-${{matrix.config.python_version}}' |
| 353 | + path: ws/build/tesseract_python/python |
| 354 | + - name: archive logs |
| 355 | + if: failure() |
| 356 | + uses: actions/upload-artifact@v2 |
| 357 | + with: |
| 358 | + name: 'build-logs-macos-${{ matrix.config.arch }}-python-${{ matrix.config.python_version }}' |
| 359 | + path: "**/*.log" |
| 360 | + retention-days: 2 |
277 | 361 | collect-wheels:
|
278 | 362 | needs:
|
279 | 363 | - build-win
|
280 | 364 | - build-ubuntu
|
| 365 | + - build-macos |
281 | 366 | runs-on: ubuntu-20.04
|
282 | 367 | steps:
|
283 | 368 | - uses: actions/checkout@v2
|
|
0 commit comments