From 6074cda0bd133bccd9e7dda705cdb6c5ac763c83 Mon Sep 17 00:00:00 2001 From: JaeyoungLim Date: Tue, 6 Apr 2021 13:58:35 +0200 Subject: [PATCH] Add build tests for different ROS versions (#24) * Add github actions This commit adds a github actions to verify builds for ROS Noetic and ROS Melodic * Run nightly builds everyday at 18:30 UTC This commit runs nightly builds everyday at 18:30 UTC * Use standard ros containers --- .github/workflows/build_test.yml | 52 ++++++++++++++++++++++++++++++++ README.md | 2 ++ 2 files changed, 54 insertions(+) create mode 100644 .github/workflows/build_test.yml diff --git a/.github/workflows/build_test.yml b/.github/workflows/build_test.yml new file mode 100644 index 0000000..99f210a --- /dev/null +++ b/.github/workflows/build_test.yml @@ -0,0 +1,52 @@ +name: Build Test +on: + schedule: + - cron: '30 18 * * *' + push: + branches: + - 'master' + pull_request: + branches: + - '*' +jobs: + build: + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + config: + - {rosdistro: 'melodic', container: 'ros:melodic-ros-base-bionic'} + - {rosdistro: 'noetic', container: 'ros:noetic-ros-base-focal'} + container: ${{ matrix.config.container }} + steps: + - uses: actions/checkout@v1 + with: + token: ${{ secrets.ACCESS_TOKEN }} + github-token: ${{ secrets.GITHUB_TOKEN }} + - name: Install catkin-tools on melodic + if: ${{ matrix.config.container == 'ros:melodic-ros-base-bionic' }} + run: | + apt update && apt install -y python3-wstool python-catkin-tools + - name: Install catkin-tools on Noetic + if: ${{ matrix.config.container == 'ros:noetic-ros-base-focal' }} + run: | + apt update && apt install -y python3-pip + pip3 install osrf-pycommon + apt update && apt install -y python3-wstool python3-catkin-tools + - name: release_build_test + working-directory: + run: | + + # apt update && apt install -y python3-wstool python3-catkin-tools + mkdir -p $HOME/catkin_ws/src; + cd $HOME/catkin_ws + catkin init + catkin config --extend "/opt/ros/${{matrix.config.rosdistro}}" + catkin config --merge-devel + cd $HOME/catkin_ws/src + ln -s $GITHUB_WORKSPACE + cd $HOME/catkin_ws + rosdep update + rosdep install --from-paths src --ignore-src -y --rosdistro ${{matrix.config.rosdistro}} + catkin config --cmake-args -DCMAKE_BUILD_TYPE=Release -DCATKIN_ENABLE_TESTING=False + catkin build -j$(nproc) -l$(nproc) versavis diff --git a/README.md b/README.md index f3c117f..6602d7d 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,6 @@ # VersaVIS -- An Open Versatile Multi-Camera Visual-Inertial Sensor Suite +[![Build Test](https://github.com/ethz-asl/versavis/actions/workflows/build_test.yml/badge.svg)](https://github.com/ethz-asl/versavis/actions/workflows/build_test.yml) + VersaVIS provides a complete, open-source hardware, firmware and software bundle to perform time synchronization of multiple cameras with an IMU featuring exposure compensation, host clock translation and independent and stereo camera triggering.