forked from USC-ACTLab/crazyswarm
-
Notifications
You must be signed in to change notification settings - Fork 64
82 lines (72 loc) · 2.49 KB
/
ci-ros2.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
name: ROS2 (Ubuntu)
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
# Based on example provided at https://github.com/ros-tooling/setup-ros
jobs:
# build: # Docker is not supported on macOS and Windows.
# runs-on: ${{ matrix.os }}
# strategy:
# matrix:
# os: [macOS-latest, windows-latest]
# ros_distribution:
# - galactic
# steps:
# - uses: ros-tooling/[email protected]
# with:
# required-ros-distributions: ${{ matrix.ros_distribution }}
# - name: build and test
# uses: ros-tooling/[email protected]
# with:
# package-name: crazyswarm
# target-ros2-distro: ${{ matrix.ros_distribution }}
build_docker: # On Linux, use docker
runs-on: ubuntu-latest
strategy:
matrix:
ros_distribution:
- galactic
- humble
# Define the Docker image(s) associated with each ROS distribution.
include:
# Galactic Geochelone (May 2021 - November 2022)
- docker_image: ubuntu:focal
ros_distribution: galactic
ros_version: 2
# Humble Hawksbill (May 2022 - May 2027)
- docker_image: ubuntu:jammy
ros_distribution: humble
ros_version: 2
container:
image: ${{ matrix.docker_image }}
steps:
- name: setup ROS environment
uses: ros-tooling/[email protected]
with:
required-ros-distributions: ${{ matrix.ros_distribution }}
# There is a bug in vcstools, where submodules are not pulled recursively
# See https://github.com/dirk-thomas/vcstool/issues/205
# This is fixed in master, but not in the latest release
# Pull the latest version here
- name: install dependencies
run: |
sudo apt -y remove python3-vcstool
sudo pip3 install git+https://github.com/dirk-thomas/vcstool.git@7d1329f296cef4b767bf7ba0bf53a29dd3d3019c
vcs --version
- name: install dependencies
run: |
sudo apt update
sudo apt install -y libusb-1.0-0-dev
- uses: actions/checkout@v2
- name: build and test ROS 2
uses: ros-tooling/[email protected]
with:
# TODO: removed crazyflie_interfaces since it causes some test failures
package-name: |
crazyflie
crazyflie_examples
crazyflie_sim
target-ros2-distro: ${{ matrix.ros_distribution }}
vcs-repo-file-url: rosinstall