Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

December 2024 update #79

Open
wants to merge 33 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
1fd07b5
Work on Python update Dec 2024
johnwason Nov 29, 2024
2c3e935
Use actions/upload-artifact@v4
johnwason Nov 29, 2024
ebf0970
Update dep links
johnwason Nov 29, 2024
2b2c654
dev
johnwason Nov 29, 2024
cfae201
apt-get libfcl-dev
johnwason Nov 29, 2024
f899311
vcpkg use latest release
johnwason Nov 29, 2024
6b05d61
Fix mesh geometry constructors
johnwason Nov 29, 2024
ff77b99
Use ubuntu 22.04 and windows-2022
johnwason Nov 29, 2024
3f2f818
Update tesseract_task_composer module
johnwason Nov 30, 2024
475e99b
Fix library anchors on Windows
johnwason Nov 30, 2024
b95d467
Bump version to 0.5.0
johnwason Nov 30, 2024
49f3d4f
Use macos-13 to build x64 wheel
johnwason Nov 30, 2024
70a1a83
Use MSVC 2022 vsdevcmd
johnwason Nov 30, 2024
f4093f3
Use MSVC 2022 vsdevcmd
johnwason Nov 30, 2024
b8ca775
Include boost-stacktrace vcpkg package
johnwason Nov 30, 2024
2c43395
Fix CompoundMesh
johnwason Nov 30, 2024
a6fd2d5
Add support for CompoundMesh to tesseract_viewer_python
johnwason Nov 30, 2024
e449158
Update examples
johnwason Nov 30, 2024
3814827
Bump tesseract_viewer_python version to 0.3.0
johnwason Nov 30, 2024
cb7ff0c
Update readme
johnwason Nov 30, 2024
e7388c2
Include boost-format boost-algorithm vcpkg package
johnwason Nov 30, 2024
b2b697c
Use vcpkg-action github-binarycache
johnwason Nov 30, 2024
8f7ab4f
brew install swig on macos
johnwason Nov 30, 2024
8441add
Use actions/download-artifact@v4
johnwason Nov 30, 2024
031919c
Add macos builds
johnwason Nov 30, 2024
58baa25
Use tesseract commit sha
johnwason Nov 30, 2024
f2ae09d
Add macos builds
johnwason Nov 30, 2024
e78c583
Add macos builds
johnwason Nov 30, 2024
74441d6
Add macos builds
johnwason Nov 30, 2024
280fc8a
Add macos builds
johnwason Nov 30, 2024
ec42a59
Add macos builds
johnwason Nov 30, 2024
a0d35fe
Use tesseract master branch
johnwason Dec 2, 2024
16096fa
Update dependencies
johnwason Dec 5, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
set(VCPKG_TARGET_ARCHITECTURE arm64)
set(VCPKG_CRT_LINKAGE dynamic)
set(VCPKG_LIBRARY_LINKAGE dynamic)

set(VCPKG_CMAKE_SYSTEM_NAME Darwin)
set(VCPKG_OSX_ARCHITECTURES arm64)

set(VCPKG_BUILD_TYPE release)
set(VCPKG_OSX_DEPLOYMENT_TARGET 12.0)
135 changes: 80 additions & 55 deletions .github/workflows/wheels.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@ env:
VCPKG_PKGS: >-
boost-dll boost-program-options
boost-serialization boost-filesystem
boost-stacktrace boost-algorithm
boost-format
tinyxml2 console-bridge assimp
urdfdom octomap orocos-kdl pcl
gtest benchmark flann jsoncpp
Expand All @@ -30,48 +32,48 @@ jobs:
fail-fast: false
matrix:
config:
- os: ubuntu-20.04
runs_on: ubuntu-20.04
container: ubuntu:20.04
py_platform: manylinux_2_31_x86_64
python_version: "3.7"
docs: false
docs_cmake: OFF
- os: ubuntu-20.04
runs_on: ubuntu-20.04
container: ubuntu:20.04
py_platform: manylinux_2_31_x86_64
- os: ubuntu-22.04
runs_on: ubuntu-22.04
container: ubuntu:22.04
py_platform: manylinux_2_35_x86_64
python_version: "3.8"
docs: true
docs_cmake: ON
- os: ubuntu-20.04
runs_on: ubuntu-20.04
container: ubuntu:20.04
py_platform: manylinux_2_31_x86_64
- os: ubuntu-22.04
runs_on: ubuntu-22.04
container: ubuntu:22.04
py_platform: manylinux_2_35_x86_64
python_version: "3.9"
docs: true
docs_cmake: ON
- os: ubuntu-20.04
runs_on: ubuntu-20.04
container: ubuntu:20.04
py_platform: manylinux_2_31_x86_64
- os: ubuntu-22.04
runs_on: ubuntu-22.04
container: ubuntu:22.04
py_platform: manylinux_2_35_x86_64
python_version: "3.10"
docs: true
docs_cmake: ON
- os: ubuntu-20.04
runs_on: ubuntu-20.04
container: ubuntu:20.04
py_platform: manylinux_2_31_x86_64
- os: ubuntu-22.04
runs_on: ubuntu-22.04
container: ubuntu:22.04
py_platform: manylinux_2_35_x86_64
python_version: "3.11.0"
docs: true
docs_cmake: ON
- os: ubuntu-20.04
runs_on: ubuntu-20.04
container: ubuntu:20.04
py_platform: manylinux_2_31_x86_64
- os: ubuntu-22.04
runs_on: ubuntu-22.04
container: ubuntu:22.04
py_platform: manylinux_2_35_x86_64
python_version: "3.12.0"
docs: true
docs_cmake: ON
- os: ubuntu-22.04
runs_on: ubuntu-22.04
container: ubuntu:22.04
py_platform: manylinux_2_35_x86_64
python_version: "3.13.0"
docs: true
docs_cmake: ON
env:
DEBIAN_FRONTEND: noninteractive
steps:
Expand All @@ -93,7 +95,7 @@ jobs:
liburdfdom-dev liboctomap-dev liborocos-kdl-dev libpcl-dev
libflann-dev libjsoncpp-dev libyaml-cpp-dev git cmake ninja-build
build-essential autoconf automake libtool bison libpcre2-dev libpcre3-dev
lcov libbullet-dev libbullet-extras-dev python3-venv curl -y -qq
lcov libbullet-dev libbullet-extras-dev python3-venv curl libfcl-dev -y -qq
- name: build-swig
uses: johnwason/swig-build-action@v1
with:
Expand Down Expand Up @@ -149,17 +151,17 @@ jobs:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$GITHUB_WORKSPACE/ws/install/lib
cmake --build . --config Release --target tesseract_python_doc
- name: archive wheels
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v4
with:
name: 'python-wheels-${{ matrix.config.os }}-${{ matrix.config.python_version }}'
path: ws/build/tesseract_python/python/*
- name: archive docs
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v4
with:
name: 'python-docs-${{ matrix.config.os }}-${{ matrix.config.python_version }}'
path: ws/build/tesseract_python/docs/*
build-win:
runs-on: windows-2019
runs-on: windows-2022
strategy:
fail-fast: false
matrix:
Expand Down Expand Up @@ -188,6 +190,10 @@ jobs:
vcpkg_triplet: x64-windows-release
cmake_arch: x64
python_version: "3.12.0"
- arch: x64
vcpkg_triplet: x64-windows-release
cmake_arch: x64
python_version: "3.13.0"
steps:
- uses: actions/checkout@v2
with:
Expand All @@ -198,15 +204,15 @@ jobs:
python-version: '${{ matrix.config.python_version }}'
architecture: ${{ matrix.config.arch }}
- name: vcpkg build
uses: johnwason/vcpkg-action@v5
uses: johnwason/vcpkg-action@v6
with:
pkgs: >-
${{ env.VCPKG_PKGS }}
triplet: ${{ matrix.config.vcpkg_triplet }}
extra-args: --clean-after-build
token: ${{ github.token }}
cache-key: win-${{ matrix.config.arch }}-python-${{ matrix.config.python_version }}
revision: master
github-binarycache: true
- name: pip3
run: |
python -m pip install numpy setuptools wheel pytest delvewheel colcon-common-extensions vcstool
Expand All @@ -220,7 +226,7 @@ jobs:
working-directory: ws
shell: cmd
run: |
call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\Tools\VsDevCmd.bat" -arch=amd64 -host_arch=amd64
call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\Common7\Tools\VsDevCmd.bat" -arch=amd64 -host_arch=amd64
set CXXFLAGS=%CXXFLAGS% -DEIGEN_DONT_ALIGN=1 -DEIGEN_DONT_VECTORIZE=1
set CMAKE_PREFIX_PATH=%GITHUB_WORKSPACE%\vcpkg\installed\${{ matrix.config.vcpkg_triplet }}
set PATH=%PATH%;%GITHUB_WORKSPACE%\vcpkg\installed\${{ matrix.config.vcpkg_triplet }}\bin
Expand Down Expand Up @@ -263,25 +269,44 @@ jobs:
if %errorlevel% neq 0 exit /b %errorlevel%
- name: archive wheels
if: always()
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v4
with:
name: 'python-wheels-win-${{matrix.config.python_version}}'
path: ws/build/tesseract_python/python
- name: archive logs
if: failure()
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v4
with:
name: 'build-logs-win-${{ matrix.config.arch }}-python-${{ matrix.config.python_version }}'
path: "**/*.log"
retention-days: 2
build-macos:
runs-on: macos-latest
runs-on: ${{ matrix.config.runner }}
strategy:
fail-fast: false
matrix:
config:
- py_platform: macosx-10.9-x86_64
- py_platform: macosx-12.0-x86_64
python_version: "3.12"
arch: x64
runner: macos-13
brew_prefix: /usr/local
- py_platform: macosx-12.0-x86_64
python_version: "3.13"
arch: x64
runner: macos-13
brew_prefix: /usr/local
- py_platform: macosx-12.0-arm64
python_version: "3.12"
arch: arm64
runner: macos-14
brew_prefix: /opt/homebrew
- py_platform: macosx-12.0-arm64
python_version: "3.13"
arch: arm64
runner: macos-14
brew_prefix: /opt/homebrew

steps:
- uses: actions/checkout@v2
with:
Expand All @@ -292,17 +317,17 @@ jobs:
python-version: '${{ matrix.config.python_version }}'
- name: brew
run: |
brew install libomp cmake automake autoconf libtool gcc ninja
brew install libomp cmake automake autoconf libtool gcc ninja swig
- name: vcpkg build
uses: johnwason/vcpkg-action@v5
uses: johnwason/vcpkg-action@v6
with:
pkgs: >-
${{ env.VCPKG_PKGS }}
triplet: x64-osx-dynamic-release
triplet: ${{ matrix.config.arch }}-osx-dynamic-release
extra-args: --clean-after-build --overlay-triplets=${{ github.workspace }}/ws/src/tesseract_python/.github/workflows/vcpkg_triplets
token: ${{ github.token }}
cache-key: osx-x64-vcpkg
revision: master
cache-key: osx-${{ matrix.config.arch }}-vcpkg
github-binarycache: true
- name: pip3
run: |
python3 -m pip install numpy setuptools wheel pytest delvewheel colcon-common-extensions vcstool delocate
Expand All @@ -312,8 +337,8 @@ jobs:
- name: colcon build
working-directory: ws
run: |
export DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:$GITHUB_WORKSPACE/vcpkg/installed/x64-osx-dynamic-release/lib:$GITHUB_WORKSPACE/ws/install/lib
export CMAKE_PREFIX_PATH=$GITHUB_WORKSPACE/vcpkg/installed/x64-osx-dynamic-release
export DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:$GITHUB_WORKSPACE/vcpkg/installed/${{ matrix.config.arch }}-osx-dynamic-release/lib:$GITHUB_WORKSPACE/ws/install/lib
export CMAKE_PREFIX_PATH=$GITHUB_WORKSPACE/vcpkg/installed/${{ matrix.config.arch }}-osx-dynamic-release

colcon build --merge-install \
--packages-ignore tesseract_examples trajopt_ifopt trajopt_sqp ifopt vhacd \
Expand All @@ -324,12 +349,12 @@ jobs:
-DBUILD_SHARED_LIBS=ON -DTESSERACT_ENABLE_EXAMPLES=OFF -DTESSERACT_BUILD_TRAJOPT_IFOPT=OFF \
-DVCPKG_APPLOCAL_DEPS=OFF -DTESSERACT_ENABLE_TESTING=ON \
-DCMAKE_OSX_DEPLOYMENT_TARGET=12.0 \
-DOpenMP_CXX_INCLUDE_DIR=/usr/local/opt/libomp/include \
-DOpenMP_C_INCLUDE_DIR=/usr/local/opt/libomp/include \
-DOpenMP_CXX_INCLUDE_DIR=${{ matrix.config.brew_prefix }}/opt/libomp/include \
-DOpenMP_C_INCLUDE_DIR=${{ matrix.config.brew_prefix }}/opt/libomp/include \
-DOpenMP_CXX_LIB_NAMES=libomp -DOpenMP_CXX_FLAGS="-Xpreprocessor -fopenmp" \
-DOpenMP_C_LIB_NAMES=libomp -DOpenMP_C_FLAGS="-Xpreprocessor -fopenmp" \
-DOpenMP_libomp_LIBRARY=/usr/local/opt/libomp/lib/libomp.dylib \
-Dtcmalloc_minimal_LIBRARY=${{ github.workspace }}/vcpkg/installed/x64-osx-dynamic-release/lib/libtcmalloc_minimal.dylib \
-DOpenMP_libomp_LIBRARY=${{ matrix.config.brew_prefix }}/opt/libomp/lib/libomp.dylib \
-Dtcmalloc_minimal_LIBRARY=${{ github.workspace }}/vcpkg/installed/${{ matrix.config.arch }}-osx-dynamic-release/lib/libtcmalloc_minimal.dylib \
-DPYTHON_EXECUTABLE="${{ steps.setup-python.outputs.python-path }}" \
-DTESSERACT_PYTHON_WHEEL_PLATFORM=${{ matrix.config.py_platform }} \
-DTESSERACT_PYTHON_BUILD_WHEEL=ON
Expand All @@ -347,13 +372,13 @@ jobs:
pytest -s
- name: archive wheels
if: always()
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v4
with:
name: 'python-macos-win-${{matrix.config.python_version}}'
name: 'python-macos-${{ matrix.config.arch }}-python-${{matrix.config.python_version}}'
path: ws/build/tesseract_python/python
- name: archive logs
if: failure()
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v4
with:
name: 'build-logs-macos-${{ matrix.config.arch }}-python-${{ matrix.config.python_version }}'
path: "**/*.log"
Expand All @@ -363,17 +388,17 @@ jobs:
- build-win
- build-ubuntu
- build-macos
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v2
with:
path: robotraconteur
- name: Download CI artifacts
uses: actions/download-artifact@v2
uses: actions/download-artifact@v4
with:
path: artifacts/main
- name: archive wheels
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v4
with:
name: 'python-wheels-all'
path: artifacts/**/wheelhouse/*.whl
Loading
Loading