Skip to content

Commit

Permalink
Use ROS-independent version of ICI (#861)
Browse files Browse the repository at this point in the history
* Use ROS-independent version of ICI

* Added liboctomap-dev as dependency and ignore rosdep install

* Use variables for ccache directory

* Standardize rosdep skip list

* Added clang-tidy dependency

* Remove taskflow from rosdep exclusion list

* Added FCL 6.1 to dependencies file

* Changed from .rosinstall to .repos

* Added name to build stage of clang-tidy job

* Added catkin to rosdep skip list

* Added octomap to source dependencies

* Consolidated regular Ubuntu jobs into single matrix job

* Set fail-fast false

* Simplified nightly workflow

* Updated code coverage command

* Combined code coverage and clang tidy jobs

* Simplify clang format job

* Remove bionic build

* Support CI build on multiple versions of Windows

* Updated job names

* Added RICB to windows vcpkg list

* Add gtest to windows build

* Remove octomap and fcl from vcpkg install

* Add custom window dependencies

---------

Co-authored-by: Levi Armstrong <levi.armstrong@gmail.com>
  • Loading branch information
marip8 and Levi-Armstrong authored Mar 14, 2023
1 parent 4f04a91 commit 4c6d64a
Show file tree
Hide file tree
Showing 16 changed files with 179 additions and 341 deletions.
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
2 changes: 1 addition & 1 deletion .github/workflows/api_docs.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: DeployDocumentation
name: Deploy Documentation

on:
push:
Expand Down
28 changes: 12 additions & 16 deletions .github/workflows/benchmarking.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,14 +9,8 @@ on:
workflow_dispatch:

jobs:
industrial_ci:
name: ${{ matrix.env.CI_NAME }}
benchmark:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
env:
- {CI_NAME: Focal-Benchmark}
steps:
- uses: actions/checkout@v2

Expand All @@ -30,18 +24,20 @@ jobs:
- name: ccache cache files
uses: actions/cache@v1.1.0
with:
path: ${{ matrix.env.CI_NAME }}/.ccache
key: ${{ matrix.env.CI_NAME }}-ccache-${{ steps.ccache_cache_timestamp.outputs.timestamp }}
path: benchmark/.ccache
key: benchmark-ccache-${{ steps.ccache_cache_timestamp.outputs.timestamp }}
restore-keys: |
${{ matrix.env.CI_NAME }}-ccache-
benchmark-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"
CCACHE_DIR: "${{ github.workspace }}/${{ matrix.env.CI_NAME }}/.ccache"
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 }}/benchmark/.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"
DOCKER_RUN_OPTS: '-v ${{ github.workspace }}/benchmarks:/root/benchmarks'
Expand Down
106 changes: 0 additions & 106 deletions .github/workflows/bionic_build.yml

This file was deleted.

45 changes: 8 additions & 37 deletions .github/workflows/clang_format.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,44 +13,15 @@ on:
- cron: '0 5 * * *'

jobs:
industrial_ci:
name: Format
clang_format:
runs-on: ubuntu-latest
env:
CI_NAME: Clang-Format
OS_NAME: ubuntu
OS_CODE_NAME: bionic
ROS_DISTRO: melodic
ROS_REPO: main
ROSDEP_SKIP_KEYS: "bullet fcl"
CLANG_FORMAT_CHECK: file
CLANG_FORMAT_VERSION: 8
DOCKER_IMAGE: "rosindustrial/tesseract:melodic"
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v1

- name: Free Disk Space
- name: Run clang format
run: |
sudo swapoff -a
sudo rm -f /swapfile
sudo apt clean
docker rmi $(docker image ls -aq)
df -h
- name: Prepare ccache timestamp
id: ccache_cache_timestamp
shell: cmake -P {0}
run: |
string(TIMESTAMP current_date "%Y-%m-%d-%H;%M;%S" UTC)
message("::set-output name=timestamp::${current_date}")
- name: ccache cache files
uses: actions/cache@v1.1.0
with:
path: ${{ env.CI_NAME }}/.ccache
key: ${{ env.CI_NAME }}-ccache-${{ steps.ccache_cache_timestamp.outputs.timestamp }}
restore-keys: |
${{ env.CI_NAME }}-ccache-
- uses: 'ros-industrial/industrial_ci@master'
env: ${{env}}
sudo apt update
sudo apt install -y git clang-format
./.run-clang-format
output=$(git diff)
if [ -n "$output" ]; then exit 1; else exit 0; fi
61 changes: 0 additions & 61 deletions .github/workflows/clang_tidy.yml

This file was deleted.

3 changes: 1 addition & 2 deletions .github/workflows/cmake_format.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,7 @@ on:
- cron: '0 5 * * *'

jobs:
cmake_lang:
name: Format
cmake_format:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v2
Expand Down
73 changes: 73 additions & 0 deletions .github/workflows/code_quality.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
name: Code Quality

on:
push:
branches:
- master
pull_request:
paths:
- 'tesseract**'
- '.github/workflows/code_quality.yml'
- '.clang-tidy'
schedule:
- cron: '0 5 * * *'

jobs:
ci:
name: ${{ matrix.job_type }}
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
job_type: [clang-tidy, codecov]
include:
- job_type: clang-tidy
env:
TARGET_CMAKE_ARGS: "-DTESSERACT_ENABLE_CLANG_TIDY=ON -DTESSERACT_ENABLE_TESTING=ON"
NOT_TEST_BUILD: true
- job_type: codecov
env:
TARGET_CMAKE_ARGS: "-DCMAKE_BUILD_TYPE=Debug -DTESSERACT_ENABLE_CODE_COVERAGE=ON -DTESSERACT_WARNINGS_AS_ERRORS=OFF"
AFTER_SCRIPT: 'cd $target_ws && export MAKEFLAGS=ccov-all:${MAKEFLAGS:-} && colcon build --packages-select tesseract_collision tesseract_common tesseract_environment tesseract_geometry tesseract_kinematics tesseract_srdf tesseract_state_solver tesseract_scene_graph tesseract_urdf
&& bash <(curl -s https://codecov.io/bash) -t c4af0da7-9fc3-4d3c-bb2e-6b2523ddd382 -s $target_ws/build -f *all-merged.info'
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.job_type }}/.ccache"
UPSTREAM_CMAKE_ARGS: "-DCMAKE_BUILD_TYPE=Release"
steps:
- uses: actions/checkout@v2

- name: Free Disk Space
continue-on-error: true
run: |
sudo swapoff -a
sudo rm -f /swapfile
sudo apt clean
docker rmi $(docker image ls -aq)
df -h
- name: Prepare ccache timestamp
id: ccache_cache_timestamp
shell: cmake -P {0}
run: |
string(TIMESTAMP current_date "%Y-%m-%d-%H;%M;%S" UTC)
message("::set-output name=timestamp::${current_date}")
- name: ccache cache files
continue-on-error: true
uses: actions/cache@v1.1.0
with:
path: ${{ matrix.job_type }}/.ccache
key: ${{ matrix.job_type }}-ccache-${{ steps.ccache_cache_timestamp.outputs.timestamp }}
restore-keys: |
${{ matrix.job_type }}-ccache-
- name: Build repository
uses: 'marip8/industrial_ci@2f4c8ab919f0aafddd514e586325defabd2911ea'
env: ${{ matrix.env }}

Loading

0 comments on commit 4c6d64a

Please sign in to comment.