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

Use ROS-independent version of ICI #861

Merged
merged 24 commits into from
Mar 14, 2023
Merged
Show file tree
Hide file tree
Changes from 12 commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
28872f2
Use ROS-independent version of ICI
marip8 Mar 9, 2023
6a7d4ca
Added liboctomap-dev as dependency and ignore rosdep install
marip8 Mar 9, 2023
90951dd
Use variables for ccache directory
marip8 Mar 9, 2023
01cc9b0
Standardize rosdep skip list
marip8 Mar 9, 2023
436863b
Added clang-tidy dependency
marip8 Mar 9, 2023
82ea311
Remove taskflow from rosdep exclusion list
marip8 Mar 9, 2023
d6a948f
Added FCL 6.1 to dependencies file
marip8 Mar 9, 2023
c4ef164
Changed from .rosinstall to .repos
marip8 Mar 9, 2023
7ebc100
Added name to build stage of clang-tidy job
marip8 Mar 9, 2023
8046567
Added catkin to rosdep skip list
marip8 Mar 9, 2023
83a389d
Added octomap to source dependencies
marip8 Mar 9, 2023
eac0580
Consolidated regular Ubuntu jobs into single matrix job
marip8 Mar 9, 2023
c690d49
Set fail-fast false
marip8 Mar 9, 2023
a19ca9c
Simplified nightly workflow
marip8 Mar 9, 2023
b1ae07d
Updated code coverage command
marip8 Mar 9, 2023
3ab77b3
Combined code coverage and clang tidy jobs
marip8 Mar 9, 2023
f55376b
Simplify clang format job
marip8 Mar 9, 2023
d571660
Remove bionic build
marip8 Mar 9, 2023
1afdb6b
Support CI build on multiple versions of Windows
marip8 Mar 9, 2023
e05aa48
Updated job names
marip8 Mar 9, 2023
935affa
Added RICB to windows vcpkg list
marip8 Mar 10, 2023
cc62056
Add gtest to windows build
Levi-Armstrong Mar 10, 2023
77e7ce1
Remove octomap and fcl from vcpkg install
Levi-Armstrong Mar 10, 2023
de344dc
Add custom window dependencies
marip8 Mar 10, 2023
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
4 changes: 4 additions & 0 deletions .github/workflows/add_ros_apt_sources.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
#! /bin/bash
sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | apt-key add -
apt update -qq
12 changes: 7 additions & 5 deletions .github/workflows/benchmarking.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,12 +35,14 @@ jobs:
restore-keys: |
${{ matrix.env.CI_NAME }}-ccache-

- uses: 'ros-industrial/industrial_ci@master'
- uses: 'marip8/industrial_ci@2f4c8ab919f0aafddd514e586325defabd2911ea'
env:
ROS_DISTRO: noetic
UPSTREAM_WORKSPACE: 'dependencies.rosinstall'
ROSDEP_SKIP_KEYS: "bullet ros_industrial_cmake_boilerplate fcl iwyu"
DOCKER_IMAGE: "rosindustrial/tesseract:noetic"
DOCKER_IMAGE: ubuntu:20.04
ROS_DISTRO: false
ADDITIONAL_DEBS: 'curl lsb-release liboctomap-dev'
AFTER_INIT: './.github/workflows/add_ros_apt_sources.sh'
UPSTREAM_WORKSPACE: 'dependencies.repos'
ROSDEP_SKIP_KEYS: "fcl opw_kinematics ros_industrial_cmake_boilerplate iwyu octomap catkin"
CCACHE_DIR: "${{ github.workspace }}/${{ matrix.env.CI_NAME }}/.ccache"
UPSTREAM_CMAKE_ARGS: "-DCMAKE_BUILD_TYPE=Release"
TARGET_CMAKE_ARGS: "-DCMAKE_BUILD_TYPE=Release -DTESSERACT_ENABLE_TESTING=OFF -DTESSERACT_ENABLE_BENCHMARKING=ON -DTESSERACT_ENABLE_RUN_BENCHMARKING=ON -DBENCHMARK_ARGS=CI_ONLY"
Expand Down
106 changes: 0 additions & 106 deletions .github/workflows/bionic_build.yml

This file was deleted.

2 changes: 1 addition & 1 deletion .github/workflows/clang_format.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ jobs:
OS_CODE_NAME: bionic
ROS_DISTRO: melodic
ROS_REPO: main
ROSDEP_SKIP_KEYS: "bullet fcl"
ROSDEP_SKIP_KEYS: "fcl"
CLANG_FORMAT_CHECK: file
CLANG_FORMAT_VERSION: 8
DOCKER_IMAGE: "rosindustrial/tesseract:melodic"
Expand Down
26 changes: 13 additions & 13 deletions .github/workflows/clang_tidy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,17 +18,6 @@ jobs:
runs-on: ubuntu-latest
env:
CI_NAME: Clang-Tidy
OS_NAME: ubuntu
OS_CODE_NAME: focal
ROS_DISTRO: noetic
ROS_REPO: main
UPSTREAM_WORKSPACE: 'dependencies.rosinstall'
ROSDEP_SKIP_KEYS: "bullet fcl ompl orocos_kdl python-numpy ifopt python descartes_opw descartes_samplers descartes_light opw_kinematics ros_industrial_cmake_boilerplate iwyu taskflow"
DOCKER_IMAGE: "rosindustrial/tesseract:noetic"
CCACHE_DIR: "/home/runner/work/tesseract/tesseract/Clang-Tidy/.ccache"
NOT_TEST_BUILD: true
UPSTREAM_CMAKE_ARGS: "-DCMAKE_BUILD_TYPE=Release"
TARGET_CMAKE_ARGS: "-DTESSERACT_ENABLE_CLANG_TIDY=ON -DTESSERACT_ENABLE_TESTING=ON"
steps:
- uses: actions/checkout@v2

Expand Down Expand Up @@ -57,5 +46,16 @@ jobs:
restore-keys: |
${{ env.CI_NAME }}-ccache-

- uses: 'ros-industrial/industrial_ci@master'
env: ${{env}}
- name: Build repository
uses: 'marip8/industrial_ci@2f4c8ab919f0aafddd514e586325defabd2911ea'
env:
DOCKER_IMAGE: ubuntu:20.04
ROS_DISTRO: false
ADDITIONAL_DEBS: 'curl lsb-release liboctomap-dev clang-tidy'
AFTER_INIT: './.github/workflows/add_ros_apt_sources.sh'
UPSTREAM_WORKSPACE: 'dependencies.repos'
ROSDEP_SKIP_KEYS: "fcl opw_kinematics ros_industrial_cmake_boilerplate iwyu octomap catkin"
CCACHE_DIR: "${{ github.workspace }}/${{ matrix.env.CI_NAME}}/.ccache"
NOT_TEST_BUILD: true
UPSTREAM_CMAKE_ARGS: "-DCMAKE_BUILD_TYPE=Release"
TARGET_CMAKE_ARGS: "-DTESSERACT_ENABLE_CLANG_TIDY=ON -DTESSERACT_ENABLE_TESTING=ON"
27 changes: 12 additions & 15 deletions .github/workflows/codecov.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,19 +15,6 @@ jobs:
industrial_ci:
name: CodeCov
runs-on: ubuntu-latest
env:
CI_NAME: CodeCov
OS_NAME: ubuntu
OS_CODE_NAME: focal
ROS_DISTRO: noetic
ROS_REPO: main
UPSTREAM_WORKSPACE: 'dependencies.rosinstall'
ROSDEP_SKIP_KEYS: "bullet fcl ompl orocos_kdl python-numpy ifopt python descartes_opw descartes_samplers descartes_light opw_kinematics ros_industrial_cmake_boilerplate iwyu taskflow"
DOCKER_IMAGE: "rosindustrial/tesseract:noetic"
UPSTREAM_CMAKE_ARGS: "-DCMAKE_BUILD_TYPE=Release"
TARGET_CMAKE_ARGS: "-DCMAKE_BUILD_TYPE=Debug -DTESSERACT_ENABLE_CODE_COVERAGE=ON -DTESSERACT_WARNINGS_AS_ERRORS=OFF"
AFTER_SCRIPT: 'catkin build -w $target_ws --no-deps tesseract_collision tesseract_common tesseract_environment tesseract_geometry tesseract_kinematics tesseract_srdf tesseract_state_solver tesseract_scene_graph tesseract_urdf --make-args ccov-all
&& bash <(curl -s https://codecov.io/bash) -t c4af0da7-9fc3-4d3c-bb2e-6b2523ddd382 -s $target_ws/build -f *all-merged.info'
steps:
- uses: actions/checkout@v2

Expand All @@ -40,5 +27,15 @@ jobs:
docker rmi $(docker image ls -aq)
df -h

- uses: 'ros-industrial/industrial_ci@master'
env: ${{env}}
- uses: 'marip8/industrial_ci@2f4c8ab919f0aafddd514e586325defabd2911ea'
env:
DOCKER_IMAGE: ubuntu:20.04
ROS_DISTRO: false
ADDITIONAL_DEBS: 'curl lsb-release liboctomap-dev'
AFTER_INIT: './.github/workflows/add_ros_apt_sources.sh'
UPSTREAM_WORKSPACE: 'dependencies.repos'
ROSDEP_SKIP_KEYS: "fcl opw_kinematics ros_industrial_cmake_boilerplate iwyu octomap catkin"
UPSTREAM_CMAKE_ARGS: "-DCMAKE_BUILD_TYPE=Release"
TARGET_CMAKE_ARGS: "-DCMAKE_BUILD_TYPE=Debug -DTESSERACT_ENABLE_CODE_COVERAGE=ON -DTESSERACT_WARNINGS_AS_ERRORS=OFF"
AFTER_SCRIPT: 'catkin build -w $target_ws --no-deps tesseract_collision tesseract_common tesseract_environment tesseract_geometry tesseract_kinematics tesseract_srdf tesseract_state_solver tesseract_scene_graph tesseract_urdf --make-args ccov-all
&& bash <(curl -s https://codecov.io/bash) -t c4af0da7-9fc3-4d3c-bb2e-6b2523ddd382 -s $target_ws/build -f *all-merged.info'
33 changes: 15 additions & 18 deletions .github/workflows/nightly.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,29 +19,26 @@ jobs:
matrix:
env:
- {CI_NAME: Bionic-Build-Nightly,
OS_NAME: ubuntu,
OS_CODE_NAME: bionic,
ROS_DISTRO: melodic,
ROS_REPO: main,
UPSTREAM_WORKSPACE: 'dependencies.rosinstall',
DOCKER_IMAGE: ubuntu:18.04,
ROS_DISTRO: false,
ADDITIONAL_DEBS: 'curl lsb-release liboctomap-dev',
AFTER_INIT: './.github/workflows/add_ros_apt_sources.sh',
UPSTREAM_WORKSPACE: 'dependencies.repos',
DOWNSTREAM_WORKSPACE: 'github:ros-industrial-consortium/tesseract_planning#master github:ros-industrial-consortium/trajopt_ros#master github:ros-industrial-consortium/tesseract_ros#master',
ROSDEP_SKIP_KEYS: "bullet ros_industrial_cmake_boilerplate fcl iwyu",
DOCKER_IMAGE: "rosindustrial/tesseract:melodic",
CCACHE_DIR: "/home/runner/work/tesseract/tesseract/Bionic-Build-Nightly/.ccache",
PARALLEL_TESTS: false,
ROSDEP_SKIP_KEYS: "ros_industrial_cmake_boilerplate fcl iwyu octomap catkin",
CCACHE_DIR: "${{ github.workspace }}/${{ matrix.env.CI_NAME}}/.ccache",
UPSTREAM_CMAKE_ARGS: "-DCMAKE_BUILD_TYPE=Release",
TARGET_CMAKE_ARGS: "-DCMAKE_BUILD_TYPE=Release",
DOWNSTREAM_CMAKE_ARGS: "-DCMAKE_BUILD_TYPE=Release"}
- {CI_NAME: Focal-Build-Nightly,
OS_NAME: ubuntu,
OS_CODE_NAME: focal,
ROS_DISTRO: noetic,
ROS_REPO: main,
UPSTREAM_WORKSPACE: 'dependencies.rosinstall',
DOCKER_IMAGE: ubuntu:20.04,
ROS_DISTRO: false,
ADDITIONAL_DEBS: 'curl lsb-release liboctomap-dev',
AFTER_INIT: './.github/workflows/add_ros_apt_sources.sh',
UPSTREAM_WORKSPACE: 'dependencies.repos',
DOWNSTREAM_WORKSPACE: 'github:ros-industrial-consortium/tesseract_planning#master github:ros-industrial-consortium/trajopt_ros#master github:ros-industrial-consortium/tesseract_ros#master',
ROSDEP_SKIP_KEYS: "bullet fcl ompl orocos_kdl python-numpy ifopt python descartes_opw descartes_samplers descartes_light opw_kinematics ros_industrial_cmake_boilerplate iwyu taskflow",
DOCKER_IMAGE: "rosindustrial/tesseract:noetic",
CCACHE_DIR: "/home/runner/work/tesseract/tesseract/Focal-Build-Nightly/.ccache",
ROSDEP_SKIP_KEYS: "fcl opw_kinematics ros_industrial_cmake_boilerplate iwyu octomap catkin",
CCACHE_DIR: "${{ github.workspace }}/${{ matrix.env.CI_NAME}}/.ccache",
UPSTREAM_CMAKE_ARGS: "-DCMAKE_BUILD_TYPE=Release",
TARGET_CMAKE_ARGS: "-DCMAKE_BUILD_TYPE=Release",
DOWNSTREAM_CMAKE_ARGS: "-DCMAKE_BUILD_TYPE=Release"}
Expand Down Expand Up @@ -74,5 +71,5 @@ jobs:
restore-keys: |
${{ matrix.env.CI_NAME }}-ccache-

- uses: 'ros-industrial/industrial_ci@master'
- uses: 'marip8/industrial_ci@2f4c8ab919f0aafddd514e586325defabd2911ea'
env: ${{matrix.env}}
51 changes: 27 additions & 24 deletions .github/workflows/focal_build.yml → .github/workflows/ubuntu.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: Focal-Build
name: Ubuntu

on:
push:
Expand All @@ -7,22 +7,28 @@ on:
pull_request:
paths:
- 'tesseract**'
- '.github/workflows/focal_build.yml'
- '**.rosinstall'
- '.github/workflows/ubuntu.yml'
- '**.repos'
schedule:
- cron: '0 5 * * *'
release:
types:
- released

jobs:
industrial_ci:
name: Noetic
ci:
name: Ubuntu
runs-on: ubuntu-latest
strategy:
matrix:
distro: [bionic, focal]
include:
- distro: bionic
image: ubuntu:18.04
- distro: focal
image: ubuntu:20.04
env:
CI_NAME: Focal-Build
CCACHE_DIR: "/home/runner/work/tesseract/tesseract/Focal-Build/.ccache"
ROS_DISTRO: noetic
CCACHE_DIR: "${{ github.workspace }}/${{ matrix.distro }}/.ccache"
REGISTRY: ghcr.io
IMAGE_NAME: ${{ github.repository }}
PUSH_DOCKER_IMAGE: ${{ github.ref == 'refs/heads/master' || github.event_name == 'release' }}
Expand Down Expand Up @@ -50,10 +56,10 @@ jobs:
continue-on-error: true
uses: actions/cache@v1.1.0
with:
path: ${{ env.CI_NAME }}/.ccache
key: ${{ env.CI_NAME }}-ccache-${{ steps.ccache_cache_timestamp.outputs.timestamp }}
path: ${{ matrix.distro }}/.ccache
key: ${{ matrix.distro }}-ccache-${{ steps.ccache_cache_timestamp.outputs.timestamp }}
restore-keys: |
${{ env.CI_NAME }}-ccache-
${{ matrix.distro }}-ccache-

- name: Login to Github container registry
uses: docker/login-action@v1
Expand All @@ -72,8 +78,8 @@ jobs:
prefix=
suffix=
tags: |
type=ref,event=branch,prefix=${{ env.ROS_DISTRO }}-
type=semver,pattern={{major}}.{{minor}},prefix=${{ env.ROS_DISTRO }}-
type=ref,event=branch,prefix=${{ matrix.distro }}-
type=semver,pattern={{major}}.{{minor}},prefix=${{ matrix.distro }}-

- name: Set build type
run: |
Expand All @@ -85,21 +91,18 @@ jobs:
fi

- name: Build repository
uses: 'ros-industrial/industrial_ci@master'
uses: 'marip8/industrial_ci@2f4c8ab919f0aafddd514e586325defabd2911ea'
env:
OS_NAME: ubuntu
OS_CODE_NAME: focal
ROS_REPO: main
UPSTREAM_WORKSPACE: 'dependencies.rosinstall'
ROSDEP_SKIP_KEYS: "bullet fcl ompl orocos_kdl python-numpy ifopt python descartes_opw descartes_samplers descartes_light opw_kinematics ros_industrial_cmake_boilerplate iwyu taskflow"
DOCKER_IMAGE: "rosindustrial/tesseract:${{ env.ROS_DISTRO }}"
PARALLEL_TESTS: false
PARALLEL_BUILDS: false
DOCKER_IMAGE: ${{ matrix.image }}
ROS_DISTRO: false
ADDITIONAL_DEBS: 'curl lsb-release liboctomap-dev'
AFTER_INIT: './.github/workflows/add_ros_apt_sources.sh'
UPSTREAM_WORKSPACE: 'dependencies.repos'
ROSDEP_SKIP_KEYS: "fcl opw_kinematics ros_industrial_cmake_boilerplate iwyu octomap catkin"
PREFIX: ${{ github.repository }}_
BEFORE_RUN_TARGET_TEST_EMBED: "ici_with_unset_variables source $BASEDIR/${PREFIX}target_ws/install/setup.bash"
UPSTREAM_CMAKE_ARGS: "-DCMAKE_BUILD_TYPE=Release"
TARGET_CMAKE_ARGS: "-DCMAKE_BUILD_TYPE=${{ env.BUILD_TYPE }} -DTESSERACT_ENABLE_TESTING=ON"
AFTER_SCRIPT: 'catkin build -w $target_ws --no-deps --verbose tesseract_collision tesseract_common tesseract_environment tesseract_geometry tesseract_kinematics tesseract_scene_graph tesseract_srdf tesseract_state_solver tesseract_urdf --make-args test'
BEFORE_RUN_TARGET_TEST_EMBED: "ici_with_unset_variables source $BASEDIR/${PREFIX}target_ws/install/setup.bash"
DOCKER_COMMIT: ${{ steps.meta.outputs.tags }}

- name: Push post-build Docker
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/windows_2019.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ on:
paths:
- 'tesseract**'
- '.github/workflows/windows_2019.yml'
- '**.rosinstall'
- '**.repos'
schedule:
- cron: '0 5 * * *'

Expand Down Expand Up @@ -52,7 +52,7 @@ jobs:
run: |
set PATH=%PATH%;%GITHUB_WORKSPACE%\vcpkg\installed\x64-windows-release\bin
set CMAKE_PREFIX_PATH=%GITHUB_WORKSPACE%\vcpkg\installed\x64-windows-release
vcs import --input "${{ github.workspace }}/workspace/src/tesseract/dependencies.rosinstall" src/
vcs import --input "${{ github.workspace }}/workspace/src/tesseract/dependencies.repos" src/
if %ERRORLEVEL% GEQ 1 exit 1
colcon build --event-handlers console_direct+ --cmake-args -G "Ninja" -DVCPKG_TARGET_TRIPLET=x64-windows-release -DCMAKE_BUILD_TYPE=Release -DTESSERACT_ENABLE_TESTING=ON
if %ERRORLEVEL% GEQ 1 exit 1
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@ See [issue #66](https://github.com/tesseract-robotics/tesseract/issues/66)
## Build Instructions

1) Clone repository into your workspace
2) Clone the repositories in the dependencies.rosinstall file using wstool or some other method (e.g. manually git cloning them)
2) Clone the repositories in the dependencies.repos file using wstool or some other method (e.g. manually git cloning them)
3) Build the workspace using catkin tools, colcon, or a similar tool

NOTE: For noetic tesseract_ext is not required. Install the following dependencies: libbullet-dev, libbullet-extras-dev and ros-noetic-fcl. Taskflow can be install using the PPA below.
Expand Down
Loading