forked from moveit/moveit2
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request moveit#5 from galou/ge/main
Ge/main branch as of 20220406 (a lot of upstream changes from main branch and other Gael's changes)
- Loading branch information
Showing
499 changed files
with
8,434 additions
and
6,270 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -2,7 +2,7 @@ | |
# ROS base image augmented with all MoveIt dependencies to use for CI | ||
|
||
ARG ROS_DISTRO=rolling | ||
FROM ros:${ROS_DISTRO}-ros-base-focal | ||
FROM ros:${ROS_DISTRO}-ros-base | ||
MAINTAINER Robert Haschke [email protected] | ||
|
||
ENV TERM xterm | ||
|
@@ -25,7 +25,7 @@ RUN \ | |
# Some basic requirements | ||
wget git sudo curl \ | ||
# Preferred build tools | ||
clang clang-format-10 clang-tidy clang-tools \ | ||
clang clang-format-12 clang-tidy clang-tools \ | ||
ccache && \ | ||
# | ||
# Fetch all dependencies from moveit2.repos | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -2,7 +2,7 @@ | |
# Full debian-based install of MoveIt using apt-get | ||
|
||
ARG ROS_DISTRO=rolling | ||
FROM ros:${ROS_DISTRO}-ros-base-focal | ||
FROM ros:${ROS_DISTRO}-ros-base | ||
MAINTAINER Robert Haschke [email protected] | ||
|
||
# Commands are combined in single RUN statement with "apt/lists" folder removal to reduce image size | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -8,41 +8,52 @@ on: | |
pull_request: | ||
push: | ||
branches: | ||
- galactic | ||
- main | ||
|
||
jobs: | ||
default: | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
env: | ||
- IMAGE: galactic-ci | ||
ROS_DISTRO: galactic | ||
CLANG_TIDY: pedantic | ||
- IMAGE: galactic-ci-testing | ||
ROS_DISTRO: galactic | ||
- IMAGE: rolling-ci | ||
CCOV: true | ||
ROS_DISTRO: rolling | ||
- IMAGE: rolling-ci-testing | ||
ROS_DISTRO: rolling | ||
IKFAST_TEST: true | ||
CLANG_TIDY: pedantic | ||
env: | ||
CXXFLAGS: "-Wall -Wextra -Wwrite-strings -Wunreachable-code -Wpointer-arith -Wredundant-decls -Wno-deprecated-copy" | ||
CXXFLAGS: >- | ||
-Wall -Wextra -Wwrite-strings -Wunreachable-code -Wpointer-arith -Wredundant-decls | ||
CLANG_TIDY_ARGS: --fix --fix-errors --format-style=file | ||
DOCKER_IMAGE: ghcr.io/ros-planning/moveit2:${{ matrix.env.IMAGE }} | ||
UPSTREAM_WORKSPACE: moveit2.repos $(f="moveit2_$(sed 's/-.*$//' <<< "${{ matrix.env.IMAGE }}").repos"; test -r $f && echo $f) | ||
# Pull any updates to the upstream workspace (after restoring it from cache) | ||
AFTER_SETUP_UPSTREAM_WORKSPACE: vcs pull $BASEDIR/upstream_ws/src | ||
AFTER_SETUP_DOWNSTREAM_WORKSPACE: vcs pull $BASEDIR/downstream_ws/src | ||
# Clear the ccache stats before and log the stats after the build | ||
AFTER_SETUP_CCACHE: ccache --zero-stats --max-size=10.0G | ||
BEFORE_BUILD_UPSTREAM_WORKSPACE: ccache -z | ||
AFTER_BUILD_TARGET_WORKSPACE: ccache -s | ||
# Changing linker to lld as ld has a behavior where it takes a long time to finish | ||
# Compile CCOV with Debug. Enable -Werror (except CLANG_TIDY=pedantic, which makes the clang-tidy step fail on warnings) | ||
TARGET_CMAKE_ARGS: > | ||
-DCMAKE_EXE_LINKER_FLAGS=-fuse-ld=lld | ||
-DCMAKE_SHARED_LINKER_FLAGS=-fuse-ld=lld | ||
-DCMAKE_MODULE_LINKER_FLAGS=-fuse-ld=lld | ||
-DCMAKE_BUILD_TYPE=${{ matrix.env.CCOV && 'Debug' || 'Release'}} | ||
-DCMAKE_CXX_FLAGS="${{ matrix.env.CLANG_TIDY != 'pedantic' && '-Werror ' || '' }}${{ matrix.env.CCOV && ' --coverage -O2 -fno-omit-frame-pointer'}}" | ||
-DCMAKE_CXX_FLAGS="${{ matrix.env.CLANG_TIDY != 'pedantic' && '-Werror ' || '' }}$CXXFLAGS${{ matrix.env.CCOV && ' --coverage -O2 -fno-omit-frame-pointer'}}" | ||
UPSTREAM_CMAKE_ARGS: "-DCMAKE_CXX_FLAGS=''" | ||
DOWNSTREAM_CMAKE_ARGS: -DCMAKE_CXX_FLAGS="-Wall -Wextra" | ||
CCACHE_DIR: ${{ github.workspace }}/.ccache | ||
BASEDIR: ${{ github.workspace }}/.work | ||
CLANG_TIDY_BASE_REF: ${{ github.event_name != 'workflow_dispatch' && (github.base_ref || github.ref) || '' }} | ||
BEFORE_CLANG_TIDY_CHECKS: (cd $TARGET_REPO_PATH; clang-tidy --list-checks) | ||
BEFORE_CLANG_TIDY_CHECKS: | | ||
# Show list of applied checks | ||
(cd $TARGET_REPO_PATH; clang-tidy --list-checks) | ||
# Disable clang-tidy for ikfast plugins as we cannot fix the generated code | ||
find $BASEDIR/target_ws/build -iwholename "*_ikfast_plugin/compile_commands.json" -exec rm {} \; | ||
CC: ${{ matrix.env.CLANG_TIDY && 'clang' }} | ||
CXX: ${{ matrix.env.CLANG_TIDY && 'clang++' }} | ||
ADDITIONAL_DEBS: lld | ||
|
@@ -65,19 +76,27 @@ jobs: | |
sudo rm -rf /usr/local | ||
df -h | ||
- uses: actions/checkout@v2 | ||
- uses: testspace-com/setup-testspace@v1 | ||
with: | ||
domain: ros-planning | ||
- name: Get latest release date for rosdistro | ||
id: rosdistro_release_date | ||
uses: JafarAbdi/latest-rosdistro-release-date-action@main | ||
with: | ||
rosdistro: ${{ matrix.env.ROS_DISTRO }} | ||
- name: Get latest timestamp repos file has been edited | ||
id: repos_edit_timestamp | ||
uses: vatanaksoytezer/latest-file-edit-timestamp-action@main | ||
with: | ||
file: moveit2.repos | ||
- name: Cache upstream workspace | ||
uses: pat-s/[email protected] | ||
with: | ||
path: ${{ env.BASEDIR }}/upstream_ws | ||
key: ${{ env.CACHE_PREFIX }}-${{ github.run_id }} | ||
restore-keys: ${{ env.CACHE_PREFIX }} | ||
env: | ||
CACHE_PREFIX: ${{ steps.rosdistro_release_date.outputs.date }}-upstream_ws-${{ matrix.env.IMAGE }}-${{ hashFiles('moveit2*.repos', '.github/workflows/ci.yaml') }} | ||
CACHE_PREFIX: ${{ steps.rosdistro_release_date.outputs.date }}-upstream_ws-${{ steps.repos_edit_timestamp.outputs.timestamp }}-${{ matrix.env.IMAGE }}-${{ hashFiles('moveit2*.repos', '.github/workflows/ci.yaml') }} | ||
# The target directory cache doesn't include the source directory because | ||
# that comes from the checkout. See "prepare target_ws for cache" task below | ||
- name: Cache target workspace | ||
|
@@ -110,6 +129,10 @@ jobs: | |
name: Run industrial_ci | ||
uses: ros-industrial/industrial_ci@master | ||
env: ${{ matrix.env }} | ||
- name: Push result to Testspace | ||
if: always() | ||
run: | | ||
testspace "[ ${{ matrix.env.IMAGE }} ]${{ env.BASEDIR }}/target_ws/**/test_results/**/*.xml" | ||
- name: Upload test artifacts (on failure) | ||
uses: actions/upload-artifact@v2 | ||
if: failure() && (steps.ici.outputs.run_target_test || steps.ici.outputs.target_test_results) | ||
|
@@ -118,24 +141,24 @@ jobs: | |
path: ${{ env.BASEDIR }}/target_ws/**/test_results/**/*.xml | ||
- name: Generate codecov report | ||
uses: rhaschke/lcov-action@main | ||
if: matrix.env.CCOV && steps.ici.outputs.target_test_results == '0' | ||
if: always() && matrix.env.CCOV && 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@v2 | ||
if: matrix.env.CCOV && steps.ici.outputs.target_test_results == '0' | ||
if: always() && matrix.env.CCOV && steps.ici.outputs.target_test_results == '0' | ||
with: | ||
files: ${{ env.BASEDIR }}/target_ws/coverage.info | ||
- name: Upload clang-tidy changes | ||
uses: rhaschke/upload-git-patch-action@main | ||
if: matrix.env.CLANG_TIDY | ||
if: always() && matrix.env.CLANG_TIDY | ||
with: | ||
name: clang-tidy | ||
path: ${{ env.BASEDIR }}/target_ws/src/$(basename $(pwd)) | ||
- name: Prepare target_ws for cache | ||
if: "!matrix.env.CCOV" | ||
if: always() && !matrix.env.CCOV | ||
run: | | ||
du -sh ${{ env.BASEDIR }}/target_ws | ||
sudo find ${{ env.BASEDIR }}/target_ws -wholename '*/test_results/*' -delete | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.