-
Notifications
You must be signed in to change notification settings - Fork 1
123 lines (106 loc) · 2.97 KB
/
test.yaml
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
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
name: Test
on:
workflow_dispatch:
pull_request:
push:
branches: [main]
jobs:
setup:
name: Setup
runs-on: ubuntu-22.04
strategy:
fail-fast: false
matrix:
ros2-distro: [humble, iron]
steps:
- name: Checkout this repository
uses: actions/[email protected]
- name: Checkout ROS 2 examples
uses: actions/[email protected]
with:
repository: ros2/examples
ref: ${{ matrix.ros2-distro }}
path: examples
sparse-checkout: |
examples/rclcpp/topics
examples/rclpy/topics
- name: Setup workspace
uses: ./setup
with:
ros2-distro: ${{ matrix.ros2-distro }}
build-and-test:
name: Build and Test
runs-on: ubuntu-22.04
strategy:
fail-fast: false
matrix:
ros2-distro: [humble, iron]
steps:
- name: Checkout this repository
uses: actions/[email protected]
- name: Checkout ROS 2 examples on non master branch
uses: actions/[email protected]
with:
repository: ros2/examples
ref: ${{ matrix.ros2-distro }}
path: examples
- name: Only test some packages
run: |
mv examples/rclcpp/topics cpptopics
mv examples/rclpy/topics pytopics
rm -rf examples
- name: Test the action
uses: ./
with:
ros2-distro: ${{ matrix.ros2-distro }}
- name: Upload build result
uses: actions/[email protected]
with:
name: Install
path: install
failed-build:
name: Failed Build
runs-on: ubuntu-22.04
steps:
- name: Checkout this repository
uses: actions/[email protected]
- name: Checkout ROS 2 examples
uses: actions/[email protected]
with:
repository: ros2/examples
ref: iron
path: examples
- name: Adjust packages
run: |
mv examples/rclcpp/topics/minimal_publisher .
rm -rf examples minimal_publisher/lambda.cpp
- name: Test the action
id: action
continue-on-error: true
uses: ./
- name: Fails if previous step has succeeded
if: ${{ steps.action.outcome == 'success' }}
run: false
failed-test:
name: Failed Test
runs-on: ubuntu-22.04
steps:
- name: Checkout this repository
uses: actions/[email protected]
- name: Checkout ROS 2 examples
uses: actions/[email protected]
with:
repository: ros2/examples
ref: iron
path: examples
- name: Adjust packages
run: |
mv examples/rclcpp/topics/minimal_publisher .
sed -i 's/return 0;/int unused; return 0;/g' minimal_publisher/lambda.cpp
- name: Test the action
id: action
continue-on-error: true
uses: ./
- name: Fails if previous step has succeeded
if: ${{ steps.action.outcome == 'success' }}
run: false