mirror of
https://github.com/moveit/moveit_task_constructor.git
synced 2025-11-04 14:49:57 +08:00
* Refactor pipeline planner Make code readable Re-order plan functions Make usable with parallel planning Enable configuring multiple pipelines Add callbacks Cleanup and documentation Add API to set parallel planning callbacks and deprecate functions Pass pipeline map by reference Small clang-tidy fix Update core/src/solvers/pipeline_planner.cpp Co-authored-by: Sebastian Castro <4603398+sea-bass@users.noreply.github.com> Update core/src/solvers/pipeline_planner.cpp Format Refactor to avoid calling .at(0) twice Use no default stopping criteria Update fallbacks_move demo * Cleanup + address deprecation warnings * Enabling optionally using a property defined pipeline planner map * Address review * Disable humble CI for ros2 branch * Add pipeline planner unittests + some checks * Add short comment
114 lines
4.6 KiB
YAML
114 lines
4.6 KiB
YAML
# This config uses industrial_ci (https://github.com/ros-industrial/industrial_ci.git).
|
|
# For troubleshooting, see readme (https://github.com/ros-industrial/industrial_ci/blob/master/README.rst)
|
|
|
|
name: CI
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
pull_request:
|
|
push:
|
|
|
|
permissions:
|
|
contents: read
|
|
pages: write
|
|
id-token: write
|
|
|
|
jobs:
|
|
default:
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
env:
|
|
- IMAGE: rolling-source
|
|
NAME: ccov
|
|
TARGET_CMAKE_ARGS: -DCMAKE_BUILD_TYPE=Debug -DCMAKE_CXX_FLAGS="--coverage"
|
|
- IMAGE: rolling-source
|
|
CLANG_TIDY: pedantic
|
|
- IMAGE: rolling-source
|
|
NAME: asan
|
|
# Add fast_unwind_on_malloc=0 to fix stacktraces being too short or do not make sense
|
|
# see https://github.com/google/sanitizers/wiki/AddressSanitizer
|
|
# Disable alloc/dealloc mismatch warnings: https://github.com/ros2/rclcpp/pull/1324
|
|
DOCKER_RUN_OPTS: >-
|
|
-e PRELOAD=libasan.so.5
|
|
-e LSAN_OPTIONS="suppressions=$PWD/.github/workflows/lsan.suppressions,fast_unwind_on_malloc=0"
|
|
-e ASAN_OPTIONS="new_delete_type_mismatch=0,alloc_dealloc_mismatch=0"
|
|
TARGET_CMAKE_ARGS: -DCMAKE_CXX_FLAGS="-fsanitize=address -fno-omit-frame-pointer -O1 -g"
|
|
|
|
env:
|
|
CLANG_TIDY_ARGS: -quiet -export-fixes ${{ github.workspace }}/.work/clang-tidy-fixes.yaml
|
|
DOCKER_IMAGE: moveit/moveit2:${{ matrix.env.IMAGE }}
|
|
UNDERLAY: /root/ws_moveit/install
|
|
# TODO: Port to ROS2
|
|
# DOWNSTREAM_WORKSPACE: "github:ubi-agni/mtc_demos#master github:TAMS-Group/mtc_pour#master"
|
|
TARGET_CMAKE_ARGS: -DCMAKE_BUILD_TYPE=Release
|
|
CCACHE_DIR: ${{ github.workspace }}/.ccache
|
|
BASEDIR: ${{ github.workspace }}/.work
|
|
CACHE_PREFIX: "${{ matrix.env.IMAGE }}${{ contains(matrix.env.TARGET_CMAKE_ARGS, '--coverage') && '-ccov' || '' }}"
|
|
# perform full clang-tidy check only on manual trigger (workflow_dispatch), PRs do check changed files, otherwise nothing
|
|
CLANG_TIDY_BASE_REF: ${{ github.event_name != 'workflow_dispatch' && (github.base_ref || github.ref) || '' }}
|
|
CC: ${{ matrix.env.CLANG_TIDY && 'clang' }}
|
|
CXX: ${{ matrix.env.CLANG_TIDY && 'clang++' }}
|
|
|
|
name: "${{ matrix.env.IMAGE }}${{ matrix.env.NAME && ' • ' || ''}}${{ matrix.env.NAME }}${{ matrix.env.CLANG_TIDY && ' • clang-tidy' || '' }}"
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
with:
|
|
submodules: recursive
|
|
|
|
- name: Cache ccache
|
|
uses: rhaschke/cache@main
|
|
with:
|
|
path: ${{ env.CCACHE_DIR }}
|
|
key: ccache-${{ env.CACHE_PREFIX }}-${{ github.sha }}-${{ github.run_id }}
|
|
restore-keys: |
|
|
ccache-${{ env.CACHE_PREFIX }}-${{ github.sha }}
|
|
ccache-${{ env.CACHE_PREFIX }}
|
|
env:
|
|
GHA_CACHE_SAVE: always
|
|
|
|
- id: ici
|
|
name: Run industrial_ci
|
|
uses: rhaschke/industrial_ci@clang-tidy
|
|
env: ${{ matrix.env }}
|
|
|
|
- name: Upload ici's target_ws/install folder
|
|
uses: rhaschke/upload-ici-workspace@main
|
|
if: success() && matrix.env.CLANG_TIDY
|
|
with:
|
|
subdir: target_ws/install
|
|
|
|
- name: Upload test artifacts (on failure)
|
|
uses: actions/upload-artifact@v3
|
|
if: failure() && (steps.ici.outputs.run_target_test || steps.ici.outputs.target_test_results)
|
|
with:
|
|
name: test-results-${{ matrix.env.IMAGE }}${{ matrix.env.NAME && '-' || ''}}${{ matrix.env.NAME }}${{ matrix.env.CLANG_TIDY && '-clang-tidy' || '' }}
|
|
path: ${{ env.BASEDIR }}/target_ws/**/test_results/**/*.xml
|
|
|
|
- name: Upload clang-tidy fixes (on failure)
|
|
uses: actions/upload-artifact@v3
|
|
if: failure() && steps.ici.outputs.clang_tidy_checks
|
|
with:
|
|
name: clang-tidy-fixes.yaml
|
|
path: ${{ env.BASEDIR }}/clang-tidy-fixes.yaml
|
|
|
|
- name: Show clang-tidy warnings
|
|
if: always() && matrix.env.CLANG_TIDY
|
|
uses: asarium/clang-tidy-action@v1
|
|
with:
|
|
fixesFile: ${{ env.BASEDIR }}/clang-tidy-fixes.yaml
|
|
|
|
- name: Generate codecov report
|
|
uses: rhaschke/lcov-action@main
|
|
if: contains(matrix.env.TARGET_CMAKE_ARGS, '--coverage') && steps.ici.outputs.target_test_results == '0'
|
|
with:
|
|
docker: $DOCKER_IMAGE
|
|
workdir: ${{ env.BASEDIR }}/target_ws
|
|
ignore: '"*/target_ws/build/*" "*/target_ws/install/*" "*/test/*"'
|
|
- name: Upload codecov report
|
|
uses: codecov/codecov-action@v3
|
|
if: contains(matrix.env.TARGET_CMAKE_ARGS, '--coverage') && steps.ici.outputs.target_test_results == '0'
|
|
with:
|
|
files: ${{ env.BASEDIR }}/target_ws/coverage.info
|