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

Remove use of Industrial CI #420

Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
5 changes: 0 additions & 5 deletions .github/workflows/add_sources.sh

This file was deleted.

6 changes: 4 additions & 2 deletions .github/workflows/clang_format.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,14 +10,16 @@ on:

jobs:
clang_format:
runs-on: ubuntu-latest
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v1

- name: Run clang format
run: |
sudo apt update
sudo apt install -y git clang-format
sudo apt install -y git clang-format-8
if [ $? -ge 1 ]; then return 1; fi
./.run-clang-format
if [ $? -ge 1 ]; then return 1; fi
output=$(git diff)
if [ -n "$output" ]; then exit 1; else exit 0; fi
97 changes: 44 additions & 53 deletions .github/workflows/code_quality.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,12 @@ on:
push:
branches:
- master
- 'dev**'
pull_request:
paths:
- 'tesseract**'
- '.github/workflows/code_quality.yml'
- '.clang-tidy'
schedule:
- cron: '0 5 * * *'

Expand All @@ -15,66 +20,52 @@ jobs:
strategy:
fail-fast: false
matrix:
job_type: [codecov, clang-tidy]
job_type: [clang-tidy, codecov]
include:
- job_type: codecov
env:
ADDITIONAL_DEBS: 'taskflow libompl-dev'
TARGET_CMAKE_ARGS: "-DCMAKE_BUILD_TYPE=Debug -DTESSERACT_ENABLE_CODE_COVERAGE=ON -DTESSERACT_WARNINGS_AS_ERRORS=OFF"
AFTER_SCRIPT: 'ici_with_unset_variables source ${HOME}/${PREFIX}target_ws/install/setup.bash && cd ${HOME}/${PREFIX}target_ws && colcon build --cmake-target ccov-all --packages-select tesseract_command_language tesseract_motion_planners tesseract_task_composer tesseract_time_parameterization && cd src/tesseract_planning && git config --global --add safe.directory ${HOME}/${PREFIX}target_ws/src/tesseract_planning && bash <(curl -s https://codecov.io/bash) -t 6e7f085e-77c5-47fc-a4a9-c2dd5ef1d78d -s ${HOME}/${PREFIX}target_ws/build -f *all-merged.info'
- job_type: clang-tidy
env:
ADDITIONAL_DEBS: 'clang-tidy taskflow libompl-dev'
AFTER_SCRIPT: ""
NOT_TEST_BUILD: true
TARGET_CMAKE_ARGS: "-DTESSERACT_ENABLE_CLANG_TIDY=ON -DTESSERACT_ENABLE_TESTING=ON"
env:
ROS_DISTRO: false
DOCKER_IMAGE: ghcr.io/tesseract-robotics/tesseract:focal-master
UNDERLAY: /root/tesseract-robotics/tesseract_target_ws/install
PREFIX: ${{ github.repository }}_
BEFORE_INIT: './.github/workflows/add_sources.sh'
AFTER_INIT: ''
UPSTREAM_WORKSPACE: 'dependencies_unstable.repos'
UPSTREAM_CMAKE_ARGS: "-DCMAKE_BUILD_TYPE=Release"
ROSDEP_SKIP_KEYS: "fcl opw_kinematics ros_industrial_cmake_boilerplate iwyu octomap catkin ompl taskflow descartes_light trajopt trajopt_ifopt trajopt_sco trajopt_sqp ruckig"

TARGET_CMAKE_ARGS: "-DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DCMAKE_BUILD_TYPE=Debug -DTESSERACT_ENABLE_CLANG_TIDY=ON -DTESSERACT_ENABLE_TESTING=ON"
- job_type: codecov
env:
TARGET_CMAKE_ARGS: "-DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DCMAKE_BUILD_TYPE=Debug -DTESSERACT_ENABLE_CODE_COVERAGE=ON -DTESSERACT_WARNINGS_AS_ERRORS=OFF"
container:
image: ghcr.io/tesseract-robotics/tesseract:focal-0.21
env:
CCACHE_DIR: "$GITHUB_WORKSPACE/${{ matrix.job_type }}/.ccache"
DEBIAN_FRONTEND: noninteractive
TZ: Etc/UTC
steps:
- name: Checkout repository
uses: actions/checkout@v1

- 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
uses: actions/checkout@v4
with:
path: target_ws/src

- name: Prepare ccache timestamp
id: ccache_cache_timestamp
shell: cmake -P {0}
- name: Install Depends
shell: bash
run: |
string(TIMESTAMP current_date "%Y-%m-%d-%H;%M;%S" UTC)
message("::set-output name=timestamp::${current_date}")
apt update
apt upgrade -y
apt install -y wget software-properties-common
add-apt-repository ppa:levi-armstrong/tesseract-robotics
apt install -y clang-tidy libompl-dev taskflow

- name: ccache cache files
continue-on-error: true
uses: actions/[email protected]
- name: Build and Tests
uses: tesseract-robotics/colcon-action@before_script
with:
path: ${{ matrix.job_type }}/.ccache
key: ${{ matrix.job_type }}-ccache-${{ steps.ccache_cache_timestamp.outputs.timestamp }}
restore-keys: |
${{ matrix.job_type }}-ccache-
before-script: source /opt/tesseract/install/setup.bash
ccache-prefix: ${{ matrix.distro }}
vcs-file: dependencies.repos
run-tests: false
upstream-args: --cmake-args -DCMAKE_BUILD_TYPE=Release
target-path: target_ws/src
target-args: --cmake-args ${{ matrix.env.TARGET_CMAKE_ARGS }}

- name: Login to Github container registry
uses: docker/login-action@v1
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}

- name: Build repository
uses: 'tesseract-robotics/industrial_ci@0109bf3523050402490b56e19c9554e7d7c5379f'
env: ${{ matrix.env }}
- name: Upload CodeCov Results
shell: bash
run: |
if [[ "${{ matrix.job_type }}" == "codecov" ]]; then
source $GITHUB_WORKSPACE/target_ws/install/setup.bash
cd $GITHUB_WORKSPACE/target_ws
colcon build --cmake-target ccov-all --packages-select tesseract_command_language tesseract_motion_planners tesseract_task_composer tesseract_time_parameterization
bash <(curl -s https://codecov.io/bash) -t 6e7f085e-77c5-47fc-a4a9-c2dd5ef1d78d -s $GITHUB_WORKSPACE/target_ws/build -f *all-merged.info
fi
69 changes: 29 additions & 40 deletions .github/workflows/nightly.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,56 +6,45 @@ on:
schedule:
- cron: '0 5 * * *'

# allow manually starting this workflow
workflow_dispatch:

jobs:
industrial_ci:
ci:
if: contains(github.event.pull_request.labels.*.name, 'check-tesseract-ros') || github.event.schedule == true
name: ${{ matrix.distro }}
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
distro: [focal]
distro: [focal, jammy]
container:
image: ghcr.io/tesseract-robotics/tesseract:${{ matrix.distro }}
env:
CCACHE_DIR: "$GITHUB_WORKSPACE/${{ matrix.distro }}/.ccache"
DEBIAN_FRONTEND: noninteractive
TZ: Etc/UTC
steps:
- name: Checkout repository
uses: actions/checkout@v1

- 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
uses: actions/checkout@v4
with:
path: target_ws/src

- name: Prepare ccache timestamp
id: ccache_cache_timestamp
shell: cmake -P {0}
- name: Install Depends
shell: bash
run: |
string(TIMESTAMP current_date "%Y-%m-%d-%H;%M;%S" UTC)
message("::set-output name=timestamp::${current_date}")
apt update
apt upgrade -y
apt install -y wget software-properties-common
add-apt-repository ppa:levi-armstrong/tesseract-robotics
apt install -y libompl-dev taskflow

- name: ccache cache files
continue-on-error: true
uses: actions/[email protected]
- name: Build and Tests
uses: tesseract-robotics/colcon-action@before_script
with:
path: ${{ matrix.distro }}/.ccache
key: ${{ matrix.distro }}-ccache-${{ steps.ccache_cache_timestamp.outputs.timestamp }}
restore-keys: |
${{ matrix.distro }}-ccache-

- name: Build workspace
uses: 'tesseract-robotics/industrial_ci@0109bf3523050402490b56e19c9554e7d7c5379f'
env:
ADDITIONAL_DEBS: 'taskflow libompl-dev'
ROS_DISTRO: false
DOCKER_IMAGE: ghcr.io/tesseract-robotics/tesseract:${{ matrix.distro }}-master
ROSDEP_SKIP_KEYS: "fcl opw_kinematics ros_industrial_cmake_boilerplate iwyu octomap catkin ompl taskflow descartes_light trajopt trajopt_ifopt trajopt_sco trajopt_sqp ruckig"
CCACHE_DIR: ${{ github.workspace }}/${{ matrix.distro }}/.ccache
BEFORE_INIT: './.github/workflows/add_sources.sh'
AFTER_INIT: ''
UPSTREAM_WORKSPACE: 'dependencies.repos'
DOWNSTREAM_WORKSPACE: 'github:tesseract-robotics/tesseract_ros#master github:tesseract-robotics/tesseract_python#master'
UPSTREAM_CMAKE_ARGS: "-DCMAKE_BUILD_TYPE=Release"
TARGET_CMAKE_ARGS: "-DCMAKE_BUILD_TYPE=Release"
DOWNSTREAM_CMAKE_ARGS: "-DCMAKE_BUILD_TYPE=Release"
before-script: source /opt/tesseract/install/setup.bash
ccache-prefix: ${{ matrix.distro }}
vcs-file: dependencies.repos
upstream-args: --cmake-args -DCMAKE_BUILD_TYPE=Release
target-path: target_ws/src
target-args: --cmake-args -DCMAKE_BUILD_TYPE=Debug -DTESSERACT_ENABLE_TESTING=ON
109 changes: 30 additions & 79 deletions .github/workflows/ubuntu.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,12 @@ on:
push:
branches:
- master
- 'dev**'
pull_request:
paths:
- 'tesseract**'
- '.github/workflows/ubuntu.yml'
- '**.repos'
schedule:
- cron: '0 5 * * *'
release:
Expand All @@ -19,87 +24,33 @@ jobs:
fail-fast: false
matrix:
distro: [focal, jammy]
env:
REGISTRY: ghcr.io
IMAGE_NAME: ${{ github.repository }}
PUSH_DOCKER_IMAGE: ${{ github.ref == 'refs/heads/master' || github.event_name == 'release' }}
TESSERACT_VERSION: '0.21'
container:
image: ghcr.io/tesseract-robotics/tesseract:${{ matrix.distro }}-0.21
env:
CCACHE_DIR: "$GITHUB_WORKSPACE/${{ matrix.distro }}/.ccache"
DEBIAN_FRONTEND: noninteractive
TZ: Etc/UTC
steps:
- name: Checkout repository
uses: actions/checkout@v1

- 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/[email protected]
with:
path: ${{ matrix.distro }}/.ccache
key: ${{ matrix.distro }}-ccache-${{ steps.ccache_cache_timestamp.outputs.timestamp }}
restore-keys: |
${{ matrix.distro }}-ccache-

- name: Login to Github container registry
uses: docker/login-action@v1
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}

- name: Extract Docker meta-information
id: meta
uses: docker/metadata-action@v3
uses: actions/checkout@v4
with:
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
flavor: |
latest=false
prefix=
suffix=
tags: |
type=ref,event=branch,prefix=${{ matrix.distro }}-
type=semver,pattern={{major}}.{{minor}},prefix=${{ matrix.distro }}-
path: target_ws/src

- name: Set build type
- name: Install Depends
shell: bash
run: |
if [[ "${{ env.PUSH_DOCKER_IMAGE }}" = true ]]
then
echo "BUILD_TYPE=Release" >> $GITHUB_ENV
else
echo "BUILD_TYPE=Debug" >> $GITHUB_ENV
fi

- name: Build repository
uses: 'tesseract-robotics/industrial_ci@0109bf3523050402490b56e19c9554e7d7c5379f'
env:
ADDITIONAL_DEBS: 'taskflow libompl-dev'
ROS_DISTRO: false
DOCKER_IMAGE: ${{ env.REGISTRY }}/tesseract-robotics/tesseract:${{ matrix.distro }}-${{ env.TESSERACT_VERSION }}
UNDERLAY: /root/tesseract-robotics/tesseract_target_ws/install
CCACHE_DIR: ${{ github.workspace }}/${{ matrix.distro }}/.ccache
PREFIX: ${{ github.repository }}_
BEFORE_INIT: './.github/workflows/add_sources.sh'
AFTER_INIT: ''
UPSTREAM_WORKSPACE: dependencies.repos
UPSTREAM_CMAKE_ARGS: "-DCMAKE_BUILD_TYPE=Release"
ROSDEP_SKIP_KEYS: "fcl opw_kinematics ros_industrial_cmake_boilerplate iwyu octomap catkin ompl taskflow descartes_light trajopt trajopt_ifopt trajopt_sco trajopt_sqp ruckig"
TARGET_CMAKE_ARGS: "-DCMAKE_BUILD_TYPE=${{ env.BUILD_TYPE }} -DTESSERACT_ENABLE_TESTING=ON -DTESSERACT_WARNINGS_AS_ERRORS=OFF"
AFTER_SCRIPT: 'rm -r $BASEDIR/${PREFIX}upstream_ws/build $BASEDIR/${PREFIX}target_ws/build'
DOCKER_COMMIT: ${{ steps.meta.outputs.tags }}

- name: Push post-build Docker
if: ${{ env.PUSH_DOCKER_IMAGE == 'true' }}
run: docker push ${{ steps.meta.outputs.tags }}
apt update
apt upgrade -y
apt install -y wget software-properties-common
add-apt-repository ppa:levi-armstrong/tesseract-robotics
apt install -y libompl-dev taskflow

- name: Build and Tests
uses: tesseract-robotics/colcon-action@before_script
with:
before-script: source /opt/tesseract/install/setup.bash
ccache-prefix: ${{ matrix.distro }}
vcs-file: dependencies.repos
upstream-args: --cmake-args -DCMAKE_BUILD_TYPE=Release
target-path: target_ws/src
target-args: --cmake-args -DCMAKE_BUILD_TYPE=Debug -DTESSERACT_ENABLE_TESTING=ON
Loading
Loading