Skip to content

Remove use of Industrial CI #529

Remove use of Industrial CI

Remove use of Industrial CI #529

Workflow file for this run

name: Code Quality
on:
push:
branches:
- master
- 'dev**'
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: "-DCMAKE_BUILD_TYPE=Debug -DTESSERACT_ENABLE_CLANG_TIDY=ON -DTESSERACT_ENABLE_TESTING=ON"
- job_type: codecov
env:
TARGET_CMAKE_ARGS: "-DCMAKE_BUILD_TYPE=Debug -DTESSERACT_ENABLE_CODE_COVERAGE=ON -DTESSERACT_WARNINGS_AS_ERRORS=OFF"
container:
image: ubuntu:20.04
env:
CCACHE_DIR: "$GITHUB_WORKSPACE/${{ matrix.job_type }}/.ccache"
DEBIAN_FRONTEND: noninteractive
TZ: Etc/UTC
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
path: target_ws/src
- name: Install Depends
shell: bash
run: |
apt update
apt upgrade -y
apt install -y cmake curl lsb-release ca-certificates gnupg python3 python3-distutils python3-pip ccache git
python3 -m pip install vcstool -q
python3 -m pip install colcon-common-extensions -q
cd $GITHUB_WORKSPACE/target_ws/src
./.github/workflows/add_ros_apt_sources.sh
apt install -y liboctomap-dev libfcl-dev libconsole-bridge-dev libbullet-dev libbullet-extras-dev libyaml-cpp-dev libtinyxml2-dev libassimp-dev liborocos-kdl-dev libpcl-dev liblapack-dev libboost-dev libboost-filesystem-dev libboost-serialization-dev libboost-program-options-dev libboost-graph-dev libbenchmark-dev libccd-dev libgtest-dev clang-tidy
- 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 Upstream Workspace
shell: bash
run: |
mkdir -p $GITHUB_WORKSPACE/upstream_ws/src
vcs import --input "$GITHUB_WORKSPACE/target_ws/src/dependencies.repos" $GITHUB_WORKSPACE/upstream_ws/src/
cd $GITHUB_WORKSPACE/upstream_ws
colcon build --event-handlers console_direct+ --cmake-args -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DCMAKE_BUILD_TYPE=Release
- name: Build Target Workspace
shell: bash
run: |
cd $GITHUB_WORKSPACE/target_ws
source $GITHUB_WORKSPACE/upstream_ws/install/setup.bash
colcon build --event-handlers console_direct+ --cmake-args -DCMAKE_CXX_COMPILER_LAUNCHER=ccache ${{ env.TARGET_CMAKE_ARGS }}
if [ $? -ge 1 ]; then return 1; fi
- name: Upload CodeCov Results
if: ${{ matrix.job_type }} == codecov
shell: bash
run: |
source $GITHUB_WORKSPACE/target_ws/install/setup.bash
cd $GITHUB_WORKSPACE/target_ws
colcon build --cmake-target ccov-all --packages-select tesseract_collision tesseract_common tesseract_environment tesseract_geometry tesseract_kinematics tesseract_srdf tesseract_state_solver tesseract_scene_graph tesseract_urdf
cd src/tesseract
git config --global --add safe.directory $GITHUB_WORKSPACE/target_ws/src/tesseract
bash <(curl -s https://codecov.io/bash) -t 758610a6-d851-4185-a01a-5b9465889b62 -s $GITHUB_WORKSPACE/target_ws/build -f *all-merged.info'