From 702f0f0ae4ae3f8b685949fe53a803163fa37c13 Mon Sep 17 00:00:00 2001 From: Christian Henkel Date: Fri, 22 May 2026 11:10:48 +0200 Subject: [PATCH 1/5] ignore the message from startoup Signed-off-by: Christian Henkel --- .../test/systemtest/test_cpu_monitor.py | 3 +++ diagnostic_topic_monitor/test/test_topic_age_monitor.py | 3 +++ .../test/test_topic_frequency_monitor.py | 6 +++++- 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/diagnostic_common_diagnostics/test/systemtest/test_cpu_monitor.py b/diagnostic_common_diagnostics/test/systemtest/test_cpu_monitor.py index 92c23570..7b2f6063 100644 --- a/diagnostic_common_diagnostics/test/systemtest/test_cpu_monitor.py +++ b/diagnostic_common_diagnostics/test/systemtest/test_cpu_monitor.py @@ -62,6 +62,9 @@ def setUp(self): time.sleep(0.1) def diagnostics_callback(self, msg): + if msg.status[0].message == "Node starting up": + # Ignore the task monitor runtime status message + return if len(msg.status) > 0: self.message_recieved = True else: diff --git a/diagnostic_topic_monitor/test/test_topic_age_monitor.py b/diagnostic_topic_monitor/test/test_topic_age_monitor.py index 4625e30f..ce3c0bf1 100755 --- a/diagnostic_topic_monitor/test/test_topic_age_monitor.py +++ b/diagnostic_topic_monitor/test/test_topic_age_monitor.py @@ -168,6 +168,9 @@ def stat_cb(self, msg): """Store message for future processing.""" if len(msg.status) == 0: return + if msg.status[0].message == "Node starting up": + # Ignore the task monitor runtime status message + return if CONFIG_MONITOR_NAME in msg.status[0].name: self.age_messages.append(msg) diff --git a/diagnostic_topic_monitor/test/test_topic_frequency_monitor.py b/diagnostic_topic_monitor/test/test_topic_frequency_monitor.py index d7cc7d05..eb79d51d 100755 --- a/diagnostic_topic_monitor/test/test_topic_frequency_monitor.py +++ b/diagnostic_topic_monitor/test/test_topic_frequency_monitor.py @@ -6,7 +6,7 @@ import time import unittest - +from pprint import pprint from diagnostic_msgs.msg import DiagnosticArray from diagnostic_msgs.msg import DiagnosticStatus import launch @@ -182,6 +182,9 @@ def stat_cb(self, msg): """Store message for future processing.""" if len(msg.status) == 0: return + if msg.status[0].message == "Node starting up": + # Ignore the task monitor runtime status message + return if CONFIG_MONITOR_NAME in msg.status[0].name: self.freq_messages.append(msg) else: @@ -189,6 +192,7 @@ def stat_cb(self, msg): def test_diag_msg(self): """Check that diagnostics messages contain the right content.""" + pprint(self.messages) last_msg = self.messages.pop() # header current_time = self.node.get_clock().now() From 7acb48262b44c10c8b9d586dc5f0da653a8c598c Mon Sep 17 00:00:00 2001 From: Christian Henkel Date: Fri, 22 May 2026 11:10:57 +0200 Subject: [PATCH 2/5] limit concurrency Signed-off-by: Christian Henkel --- .github/workflows/lint.yaml | 4 ++++ .github/workflows/test.yaml | 5 +++++ 2 files changed, 9 insertions(+) diff --git a/.github/workflows/lint.yaml b/.github/workflows/lint.yaml index e77d064d..e54cf737 100644 --- a/.github/workflows/lint.yaml +++ b/.github/workflows/lint.yaml @@ -7,6 +7,10 @@ on: schedule: # Run every week at 20:00 on Sunday - cron: "0 20 * * 0" + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true jobs: ament_lint: diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index 8b447635..e2fa5b06 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -7,6 +7,11 @@ on: schedule: # Run every week at 20:00 on Sunday - cron: "0 20 * * 0" + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + jobs: ros_distro_from_branch_name: name: What is the distro? From a35e9bfef7a574e29098889800009ddf9a95b309 Mon Sep 17 00:00:00 2001 From: Christian Henkel Date: Fri, 22 May 2026 11:16:12 +0200 Subject: [PATCH 3/5] this should work also for runs that are not PRs Signed-off-by: Christian Henkel --- .github/workflows/lint.yaml | 4 ++-- .github/workflows/test.yaml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/lint.yaml b/.github/workflows/lint.yaml index e54cf737..72f52992 100644 --- a/.github/workflows/lint.yaml +++ b/.github/workflows/lint.yaml @@ -7,9 +7,9 @@ on: schedule: # Run every week at 20:00 on Sunday - cron: "0 20 * * 0" - + concurrency: - group: ${{ github.workflow }}-${{ github.ref }} + group: ${{ github.workflow }}-${{ github.head_ref || github.base_ref || github.run_id }} cancel-in-progress: true jobs: diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index e2fa5b06..6289887a 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -9,9 +9,9 @@ on: - cron: "0 20 * * 0" concurrency: - group: ${{ github.workflow }}-${{ github.ref }} + group: ${{ github.workflow }}-${{ github.head_ref || github.base_ref || github.run_id }} cancel-in-progress: true - + jobs: ros_distro_from_branch_name: name: What is the distro? From d964d600e712edf77b2f2326d95db90c4af7484a Mon Sep 17 00:00:00 2001 From: Christian Henkel Date: Fri, 22 May 2026 11:19:20 +0200 Subject: [PATCH 4/5] flake8 fixes Signed-off-by: Christian Henkel --- .../test/systemtest/test_cpu_monitor.py | 2 +- diagnostic_topic_monitor/test/test_topic_age_monitor.py | 2 +- diagnostic_topic_monitor/test/test_topic_frequency_monitor.py | 4 +--- 3 files changed, 3 insertions(+), 5 deletions(-) diff --git a/diagnostic_common_diagnostics/test/systemtest/test_cpu_monitor.py b/diagnostic_common_diagnostics/test/systemtest/test_cpu_monitor.py index 7b2f6063..db02c91d 100644 --- a/diagnostic_common_diagnostics/test/systemtest/test_cpu_monitor.py +++ b/diagnostic_common_diagnostics/test/systemtest/test_cpu_monitor.py @@ -62,7 +62,7 @@ def setUp(self): time.sleep(0.1) def diagnostics_callback(self, msg): - if msg.status[0].message == "Node starting up": + if msg.status[0].message == 'Node starting up': # Ignore the task monitor runtime status message return if len(msg.status) > 0: diff --git a/diagnostic_topic_monitor/test/test_topic_age_monitor.py b/diagnostic_topic_monitor/test/test_topic_age_monitor.py index ce3c0bf1..9622ad5b 100755 --- a/diagnostic_topic_monitor/test/test_topic_age_monitor.py +++ b/diagnostic_topic_monitor/test/test_topic_age_monitor.py @@ -168,7 +168,7 @@ def stat_cb(self, msg): """Store message for future processing.""" if len(msg.status) == 0: return - if msg.status[0].message == "Node starting up": + if msg.status[0].message == 'Node starting up': # Ignore the task monitor runtime status message return if CONFIG_MONITOR_NAME in msg.status[0].name: diff --git a/diagnostic_topic_monitor/test/test_topic_frequency_monitor.py b/diagnostic_topic_monitor/test/test_topic_frequency_monitor.py index eb79d51d..494cb1be 100755 --- a/diagnostic_topic_monitor/test/test_topic_frequency_monitor.py +++ b/diagnostic_topic_monitor/test/test_topic_frequency_monitor.py @@ -6,7 +6,6 @@ import time import unittest -from pprint import pprint from diagnostic_msgs.msg import DiagnosticArray from diagnostic_msgs.msg import DiagnosticStatus import launch @@ -182,7 +181,7 @@ def stat_cb(self, msg): """Store message for future processing.""" if len(msg.status) == 0: return - if msg.status[0].message == "Node starting up": + if msg.status[0].message == 'Node starting up': # Ignore the task monitor runtime status message return if CONFIG_MONITOR_NAME in msg.status[0].name: @@ -192,7 +191,6 @@ def stat_cb(self, msg): def test_diag_msg(self): """Check that diagnostics messages contain the right content.""" - pprint(self.messages) last_msg = self.messages.pop() # header current_time = self.node.get_clock().now() From 0344583e8055135aff54e6364ca333c6325156de Mon Sep 17 00:00:00 2001 From: Christian Henkel Date: Fri, 22 May 2026 11:23:14 +0200 Subject: [PATCH 5/5] I201 Signed-off-by: Christian Henkel --- diagnostic_topic_monitor/test/test_topic_frequency_monitor.py | 1 + 1 file changed, 1 insertion(+) diff --git a/diagnostic_topic_monitor/test/test_topic_frequency_monitor.py b/diagnostic_topic_monitor/test/test_topic_frequency_monitor.py index 494cb1be..6c12da8a 100755 --- a/diagnostic_topic_monitor/test/test_topic_frequency_monitor.py +++ b/diagnostic_topic_monitor/test/test_topic_frequency_monitor.py @@ -6,6 +6,7 @@ import time import unittest + from diagnostic_msgs.msg import DiagnosticArray from diagnostic_msgs.msg import DiagnosticStatus import launch