Skip to content

Graph based topological navigation #254

Graph based topological navigation

Graph based topological navigation #254

Workflow file for this run

name: ros CI
on:
push:
branches: [ humble-dev, aoc ]
tags:
- '*'
pull_request:
branches: [ humble-dev, aoc ]
jobs:
# -------------------------------------------------------------------
# Lightweight unit tests (no ROS runtime needed)
# -------------------------------------------------------------------
unit_tests:
name: Unit tests (Python ${{ matrix.python-version }})
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ['3.10', '3.12']
steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v6
with:
python-version: ${{ matrix.python-version }}
- name: Install test dependencies
run: |
python -m pip install --upgrade pip
pip install pytest pyyaml jsonschema networkx scipy numpy
- name: Run topological_navigation unit tests
working-directory: topological_navigation
run: |
python -m pytest test/ \
--ignore=test/test_navigationcore.py \
--ignore=test/test_localisation2.py \
-v --tb=short
- name: Run topological_nav_simulator unit tests
working-directory: topological_nav_simulator
run: |
python -m pytest test/ -v --tb=short || true
# -------------------------------------------------------------------
# Full ROS 2 build + colcon test
# -------------------------------------------------------------------
test_docker:
runs-on: ubuntu-latest
strategy:
matrix:
include:
- docker_image: ubuntu:jammy
ros_distribution: humble
ros_version: 2
- docker_image: ubuntu:noble
ros_distribution: jazzy
ros_version: 2
container:
image: ${{ matrix.docker_image }}
steps:
- uses: actions/checkout@v4
- name: Install rosdep
run: |
apt-get update
apt-get install -y python3-pip
pip3 install rosdep
rosdep init || true
rosdep update
- name: setup ROS environment
uses: LCAS/setup-ros@master
with:
required-ros-distributions: ${{ matrix.ros_distribution }}
- name: build and test ROS 2
uses: ros-tooling/action-ros-ci@v0.3
with:
target-ros2-distro: ${{ matrix.ros_distribution }}