-
Notifications
You must be signed in to change notification settings - Fork 84
58 lines (50 loc) · 1.49 KB
/
Copy pathlinux-x64-asan-test.yml
File metadata and controls
58 lines (50 loc) · 1.49 KB
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
name: ASan
on:
push:
branches:
- develop
pull_request:
branches:
- develop
workflow_dispatch:
defaults:
run:
shell: bash
jobs:
asan:
runs-on: ubuntu-latest
container:
# Lyrical Luth is the latest ROS2 LTS and targets Ubuntu 26.04.
image: ubuntu:26.04
steps:
- name: Setup Node.js 24.X
uses: actions/setup-node@v6
with:
node-version: 24.X
architecture: x64
- uses: actions/checkout@v6
- name: Setup ROS2 Lyrical from apt
# ros-tooling/setup-ros does not support lyrical yet, so the shared
# composite action installs it from the official apt repo. See
# https://docs.ros.org/en/lyrical/Installation/Ubuntu-Install-Debs.html
uses: ./.github/actions/setup-ros2-apt
- name: Install test dependencies
run: |
sudo apt install -y ros-lyrical-test-msgs ros-lyrical-mrpt-msgs
- name: Install npm dependencies
run: |
source /opt/ros/lyrical/setup.bash
npm i
# Wrap the asan test step in nick-fields/retry@v4 to absorb transient
# flakes. ASan can be sensitive to timing-related test races; keep
# max_attempts low so real regressions still surface quickly.
- name: Build and test with AddressSanitizer
uses: nick-fields/retry@v4
with:
shell: bash
max_attempts: 2
retry_wait_seconds: 10
timeout_minutes: 60
command: |
source /opt/ros/lyrical/setup.bash
npm run test:asan