Skip to content

Use cyclone everywhere #63

Use cyclone everywhere

Use cyclone everywhere #63

name: nav2-integration-tests
on: push
jobs:
integration-tests:
timeout-minutes: 20
runs-on: ubuntu-latest
container:
image: osrf/ros:${{ matrix.ros_distribution }}-desktop-noble
strategy:
matrix:
ros_distribution:
- jazzy
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Extract branch name
shell: bash
run: echo "branch=${GITHUB_HEAD_REF:-${GITHUB_REF#refs/heads/}}" >> $GITHUB_OUTPUT
id: extract_branch
- name: Install docker-compose
run: |
sudo apt update && sudo apt install docker-compose -y
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Build and export free-fleet-examples
uses: docker/build-push-action@v5
with:
push: false
build-args: |
ROS_DISTRO=${{ matrix.ros_distribution }}
FREE_FLEET_BRANCH=${{ steps.extract_branch.outputs.branch }}
tags: free-fleet-examples:${{ matrix.ros_distribution }}-${{ steps.extract_branch.outputs.branch }}
context: .github/docker/free-fleet-examples
outputs: type=docker,dest=./free-fleet-examples.tar
- name: Load image
run: |
docker load --input ./free-fleet-examples.tar
docker image ls -a
- name: Start test fixture containers
run: docker-compose -f ".github/docker/integration-tests/nav2-docker-compose.yaml" up -d --build
- name: Start the RMF common nodes
run: |
docker run --network=host -d \
free-fleet-examples:${{ matrix.ros_distribution }}-${{ steps.extract_branch.outputs.branch }} \
bash -c "ros2 launch free_fleet_examples turtlebot3_world_rmf_common.launch.xml"
- name: Start the free fleet adapter
run: |
docker run --network=host -d \
free-fleet-examples:${{ matrix.ros_distribution }}-${{ steps.extract_branch.outputs.branch }} \
bash -c "ros2 launch free_fleet_examples nav2_tb3_simulation_fleet_adapter.launch.xml"
- name: build-and-test
uses: ./.github/actions/build-and-test
with:
ros-distribution: ${{ matrix.ros_distribution }}
zenoh-version: 1.1.0
nav2-integration-testing: ON
- name: Stop test fixture containers
if: always()
run: docker-compose -f ".github/docker/integration-tests/nav2-docker-compose.yaml" down
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v4
with:
files: ros_ws/coveragepy/.coverage
flags: tests
fail_ci_if_error: true
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}