Skip to content

build

build #72

Workflow file for this run

name: build
on:
push:
workflow_dispatch:
schedule:
- cron: "0 1 * * 1"
jobs:
build:
runs-on: ubuntu-20.04
env:
ROS_CI_DESKTOP: "`lsb_release -cs`" # e.g. [trusty|xenial|...]
CI_SOURCE_PATH: $(pwd)
WS_DEF_FILE: ${{ github.workspace }}/smb.repos
HW_FILE: ${{ github.workspace }}/smb_hw.repos
ROS_PARALLEL_JOBS: '-j8 -l6'
ROS_DISTRO: noetic
CATKIN_WS: ~/catkin_ws_test/
container:
image: ethzrobotx/smb_docker:latest
steps:
- uses: actions/checkout@v3
- name: Install Python and ROS
run: |
sudo apt-get update
sudo apt-get install -y python3-catkin-tools python3-pip python3-vcstool git software-properties-common wget
- name: Create workspace
run: |
mkdir -p $CATKIN_WS/src
cd $CATKIN_WS
catkin init
catkin config --extend /opt/ros/noetic -DCMAKE_BUILD_TYPE=Release
- name: Install ROS packages with rosdep
run: |
rosdep update
cd $CATKIN_WS/src
vcs import --recursive --input $WS_DEF_FILE .
vcs import --recursive --input $HW_FILE .
rosdep install --from-paths . --ignore-src --os=ubuntu:focal -r -y
- name: catkin build smb_opc
run: |
cd $CATKIN_WS
catkin build smb_opc --no-status
- name: catkin build smb_gazebo
run: |
cd $CATKIN_WS
catkin build smb_gazebo --no-status
- name: catkin build smb_slam
run: |
cd $CATKIN_WS
catkin build smb_slam --no-status
- name: catkin build smb_path_planner
run: |
cd $CATKIN_WS
catkin build smb_path_planner --no-status
- name: Install dependencies for hardware
run: |
# Realsense
sudo apt-key adv --keyserver keys.gnupg.net --recv-key F6E65AC044F831AC80A06380C8B3A55A6F3EFCDE || sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-key F6E65AC044F831AC80A06380C8B3A55A6F3EFCDE
sudo add-apt-repository "deb https://librealsense.intel.com/Debian/apt-repo $(lsb_release -cs) main"
sudo apt update
sudo apt install librealsense2-dev librealsense2-dkms librealsense2-utils -y
sudo apt install ros-noetic-ddynamic-reconfigure -y
# Robosense
sudo apt-get install -y libyaml-cpp-dev libpcap-dev libprotobuf-dev protobuf-compiler git
# Spinnaker
sudo apt update
sudo apt install debconf-utils libusb-1.0-0 -y
wget --load-cookies /tmp/cookies.txt "https://drive.google.com/uc?export=download&confirm=$(wget --quiet --save-cookies /tmp/cookies.txt --keep-session-cookies --no-check-certificate 'https://drive.google.com/uc?export=download&id=1wVK0dAH4mre1Prsr-Wsaowz0_OAmWe2f' -O- | sed -rn 's/.*confirm=([0-9A-Za-z_]+).*/\1\n/p')&id=1wVK0dAH4mre1Prsr-Wsaowz0_OAmWe2f" -O 'spinnaker-2.4.0.143-Ubuntu20.04-amd64-pkg.tar.gz' && rm -rf /tmp/cookies.txt
tar -xvf spinnaker-2.4.0.143-Ubuntu20.04-amd64-pkg.tar.gz
rm spinnaker-2.4.0.143-Ubuntu20.04-amd64-pkg.tar.gz
cd spinnaker-2.4.0.143-amd64/
echo libspinnaker libspinnaker/accepted-flir-eula boolean true | sudo debconf-set-selections
sudo dpkg -i libgentl_2.4.0.143_amd64.deb libspinnaker_2.4.0.143_amd64.deb libspinnaker-dev_2.4.0.143_amd64.deb libspinnaker-c_2.4.0.143_amd64.deb libspinnaker-c-dev_2.4.0.143_amd64.deb
- name: catkin build smb
run: |
cd $CATKIN_WS
catkin build smb --no-status