Skip to content

Build & Test

Build & Test #583

Workflow file for this run

name: Build & Test
on:
schedule:
- cron: '0 0 * * *'
push:
jobs:
build:
runs-on: ubuntu-latest
container:
image: ubuntu:jammy
steps:
- name: Cancel outdated jobs
uses: fkirc/skip-duplicate-actions@v5
with:
cancel_others: 'true'
- name: Set up ROS ecosystem
uses: ros-tooling/setup-ros@v0.7
- name: Check out repository
uses: actions/checkout@v4
- name: Configure git to trust repository
run: git config --global --add safe.directory /__w/bitbots_main/bitbots_main
- name: Add '$HOME/.local/bin' to PATH
run: |
mkdir -p $HOME/.local/bin
echo "PATH=$PATH:/github/home/.local/bin" >> "$GITHUB_ENV"
- name: Pull source code for libraries and install dependencies
run: make install HTTPS=true ARGS="--ci"
- name: Set up colcon workspace
run: |
mkdir -p /colcon_ws/src
ln -s $(realpath .) /colcon_ws/src/bitbots_main
- name: Build packages
run: |
. /opt/ros/iron/setup.sh
colcon build --symlink-install
working-directory: /colcon_ws
- name: Test packages
run: |
# Source workspace
. /opt/ros/iron/setup.sh
. install/setup.sh
# Run tests for all packages
colcon test --event-handlers console_direct+ --return-code-on-test-failure --parallel-workers 1
working-directory: /colcon_ws