Skip to content

Commit

Permalink
Update may 2023 (#44)
Browse files Browse the repository at this point in the history
* Fix errors caused by upgrade to swig 4.1.1

* Work on swig updates

* Continuing work on swig updates

* Work on testing and fixing swig errors

* Work updating viewer to new Tesseract version

* Bump tesseract_python and tesseract_viewer_python versions

* Use custom targets to build python wheels

* Work on wrapping tesseract_task_composer

* Use _wrap_ functions instead of implicit constructors for command language Poly types

* Fix task composer dll loading anchor env variable

* Begin adding improved Python documentation

* Work on improved documentation

* Work on improved documentation

* Add collision check example

* Add robot kinematics example

* Add plugin note to collision checking example

* Add note on the resource locator to example

* Fix some sphinx warnings

* Add planning examples

* Update readme

* Add resource locator mention

* Add examples to sphinx

* Add notes to modules

* More documentation and usage notes

* Update links and add attribution

* Add autodoc note

* Update documentation name

* Use temporary dep repos for build

* Use master branch for tesseract dep

* Fix missing task composer env variable

* Fix tests. Require swig 4.1.1 to avoid memory errors

* Build swig version 4.1.1 in wheels build

* Install curl on ubuntu wheel build

* Add document building to wheel CI

* Work on api docs deployment

* Work on api docs deployment

* Fix api_docs workflow

* Fix api_docs workflow

* Add support for markers in viewer

* Use version 0.153.0 of threejs

* Add clear markers by name and tag

* Add trajectory plotting using markers

* Don't show vr button if not available

* Fix tesseract_task_composer_python module link libraries

* Update to upstream tesseract_task_composer include files

* Fix animations updates and handle multiple websocket connections

* Fix unique_ptr swig typemaps

* Use trajopt master

* Fix UPtr support in Python for tesseract_task_composer

* Add documentation notes about make_unique and UPtr cast functions

* Fix planning problem uptr constructor and pytests

* Swig include task_composer_pipeline.h

* Switch order of trajectory list arguments to have joint_names first. Add documentation for viewer

* Update readme

* Use trajopt master branch

* Update generated api docs

* Add extract_python_docs.py tool

* Add anchor for task_composer_task_plugin_factory

* Fix prismatic joints in viewer

* Use tesseract_planning master

* Fix plugin anchor includes

* Use tesseract 0.18.1 and trajopt 0.6.0

* Fix trajopt namespace rename

* Use tesseract_planning 0.18.2

* Update docs
  • Loading branch information
johnwason authored Jul 4, 2023
1 parent e458c75 commit b98773d
Show file tree
Hide file tree
Showing 170 changed files with 9,853 additions and 3,062 deletions.
50 changes: 34 additions & 16 deletions .github/workflows/api_docs.yml
Original file line number Diff line number Diff line change
@@ -1,24 +1,42 @@
name: DeployDocumentation

on:
push:
branches:
- master
workflow_dispatch:
inputs:
run_number:
description: 'Run number of the wheels workflow to pull documentation from'
required: true

jobs:
deploy_documentation:
runs-on: ubuntu-18.04
collect_documentation:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1

- name: Build Doxygen Documentation
uses: mattnotmitt/doxygen-action@v1
- uses: dawidd6/action-download-artifact@v2
with:
doxyfile-path: 'doxygen.config'

- name: Deploy Documentation
uses: peaceiris/actions-gh-pages@v3
workflow: 'wheels.yml'
run_number: ${{ github.event.inputs.run_number }}
name: 'python-docs-ubuntu-20.04-3.10'
path: 'docs'
- uses: actions/upload-pages-artifact@v1
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./docs
keep_files: true
path: 'docs'
deploy_documentation:
# Add a dependency to the build job
needs: collect_documentation

# Grant GITHUB_TOKEN the permissions required to make a Pages deployment
permissions:
pages: write # to deploy to Pages
id-token: write # to verify the deployment originates from an appropriate source

# Deploy to the github-pages environment
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}

# Specify runner + deployment step
runs-on: ubuntu-latest
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v1
28 changes: 25 additions & 3 deletions .github/workflows/wheels.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ on:
push:
branches:
- master
- dev
pull_request:
release:
types:
Expand Down Expand Up @@ -75,7 +76,13 @@ 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 -y -qq
lcov libbullet-dev libbullet-extras-dev python3-venv curl -y -qq
- name: build-swig
uses: johnwason/swig-build-action@v1
with:
cache-key: ${{ matrix.config.os }}-${{ matrix.config.python_version }}
version: "4.1.1"

- uses: actions/setup-python@v4
id: setup-python
with:
Expand All @@ -84,6 +91,7 @@ jobs:
run: |
python -m pip install --upgrade pip
python -m pip install auditwheel wheel numpy setuptools colcon-common-extensions vcstool patchelf
python -m pip install -r ws/src/tesseract_python/docs/requirements.txt
- name: vcs import
working-directory: ws/src
run: vcs import --input tesseract_python/dependencies_with_ext.rosinstall
Expand All @@ -100,22 +108,34 @@ jobs:
-DTESSERACT_PYTHON_BUILD_WHEEL=ON
-DTESSERACT_PYTHON_WHEEL_PLATFORM=${{ matrix.config.py_platform }}
-DTESSERACT_ENABLE_EXAMPLES=OFF -DTESSERACT_PLUGIN_FACTORY_CALLBACKS=ON
-DTESSERACT_PYTHON_BUILD_DOCUMENTATION=ON
- name: test
shell: bash
run: |
python3 -m venv venv
source venv/bin/activate
python -m pip install --upgrade pip
python -m pip install ws/build/tesseract_python/python/wheelhouse/*
python -m pip install pytest
python -m pip install pytest
export TESSERACT_SUPPORT_DIR=$GITHUB_WORKSPACE/ws/src/tesseract/tesseract_support
export TESSERACT_TASK_COMPOSER_DIR=$GITHUB_WORKSPACE/ws/src/tesseract_planning/tesseract_task_composer
cd ws/src/tesseract_python/tesseract_python
pytest -s
- name: build docs
shell: bash
working-directory: ws/build/tesseract_python
run: |
cmake --build . --config Release --target tesseract_python_doc
- name: archive wheels
uses: actions/upload-artifact@v2
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
with:
name: 'python-docs-${{ matrix.config.os }}-${{ matrix.config.python_version }}'
path: ws/build/tesseract_python/docs/*
build-win:
runs-on: windows-2019
strategy:
Expand Down Expand Up @@ -152,14 +172,15 @@ jobs:
python-version: '${{ matrix.config.python_version }}'
architecture: ${{ matrix.config.arch }}
- name: vcpkg build
uses: johnwason/vcpkg-action@v4
uses: johnwason/vcpkg-action@v5
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
- name: pip3
run: |
python -m pip install numpy setuptools wheel pytest delvewheel colcon-common-extensions vcstool
Expand Down Expand Up @@ -208,6 +229,7 @@ jobs:
python -m pip install pytest
if %errorlevel% neq 0 exit /b %errorlevel%
set TESSERACT_SUPPORT_DIR=%GITHUB_WORKSPACE%\ws\src\tesseract\tesseract_support
set TESSERACT_TASK_COMPOSER_DIR=%GITHUB_WORKSPACE%\ws\src\tesseract_planning\tesseract_task_composer
if %errorlevel% neq 0 exit /b %errorlevel%
cd %GITHUB_WORKSPACE%\ws\src\tesseract_python\tesseract_python
if %errorlevel% neq 0 exit /b %errorlevel%
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/windows_noetic_build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -46,5 +46,6 @@ jobs:
if %errorlevel% neq 0 exit /b %errorlevel%
call "%CD%\install_isolated\setup.bat"
set TESSERACT_SUPPORT_DIR=%CD%\src\tesseract\tesseract_support
set TESSERACT_TASK_COMPOSER_DIR=%GITHUB_WORKSPACE%\src\tesseract_planning\tesseract_task_composer
C:/opt/ros/noetic/x64/python.exe -m pytest src\tesseract_python\tesseract_python
if %errorlevel% neq 0 exit /b %errorlevel%
Loading

0 comments on commit b98773d

Please sign in to comment.