Skip to content

feat: an empty control mode, to do nothing. (#61) #151

feat: an empty control mode, to do nothing. (#61)

feat: an empty control mode, to do nothing. (#61) #151

Workflow file for this run

# This config uses industrial_ci (https://github.com/ros-industrial/industrial_ci.git).
# For troubleshooting, see readme (https://github.com/ros-industrial/industrial_ci/blob/master/README.rst)
name: CI
on:
workflow_dispatch:
push:
branches:
- main
pull_request:
jobs:
ci:
name: ROS2 ${{ matrix.ROS_DISTRO }}-${{ matrix.ROS_REPO }}
strategy:
fail-fast: false
matrix:
ROS_DISTRO: [rolling, kilted, jazzy, humble]
ROS_REPO: [main]
env:
CCACHE_DIR: "${{ github.workspace }}/.ccache" # directory for ccache (and how we enable ccache in industrial_ci)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/cache@v4
with:
path: ${{ env.CCACHE_DIR }}
# This configuration will always create a new ccache cache starting off from the previous one (if any).
# In this simple version it will be shared between all builds of the same ROS_REPO and ROS_REPO
# and might need some fine-tuning to match the use case
key: ccache-${{ matrix.ROS_DISTRO }}-${{ matrix.ROS_REPO }}-${{github.run_id}}
restore-keys: |
ccache-${{ matrix.ROS_DISTRO }}-${{ matrix.ROS_REPO }}-
- uses: 'ros-industrial/industrial_ci@master' # run industrial_ci
env: # either pass all entries explicitly
ROS_DISTRO: ${{ matrix.ROS_DISTRO }}
ROS_REPO: ${{ matrix.ROS_REPO }}
ADDITIONAL_DEBS: "ros-${{ matrix.ROS_DISTRO }}-controller-manager-msgs ros-${{ matrix.ROS_DISTRO }}-ros-base"
BEFORE_RUN_TARGET_TEST: |
echo "=== RUNNING THE BEFORE_RUN_TARGET_TEST ==="
sudo apt-get update
sudo apt-get install -y gdb
sudo chmod a+x /root/target_ws/install/teleop_core/lib/teleop_core/test_inputs_manual
cd /root/target_ws
set +u
source /opt/ros/${{ matrix.ROS_DISTRO }}/setup.bash
source install/setup.bash
set -u
: "${LD_LIBRARY_PATH:=}" # default to empty if unset
export LD_LIBRARY_PATH=install/teleop_core/lib:$LD_LIBRARY_PATH
gdb -ex "run" -ex "bt" -ex "bt full" -ex "quit" --args /root/target_ws/install/teleop_core/lib/teleop_core/test_inputs_manual
ARTIFACTS: /root/target_ws
- name: Upload workspace on failure
if: failure()
uses: actions/upload-artifact@v4
with:
name: "ws-${{ matrix.ROS_DISTRO }}-failure"
path: target_ws
- name: Upload workspace
uses: actions/upload-artifact@v4
with:
name: "ws-${{ matrix.ROS_DISTRO }}"
path: target_ws