From 9b9e5c80a8ae5e1af6835d48df33618b4d01f2dd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christoph=20Fr=C3=B6hlich?= Date: Mon, 6 Oct 2025 08:22:34 +0200 Subject: [PATCH] [CI] Add paths filters (#503) (cherry picked from commit c0cdb15e7e0025a2b6fcda0055c5f83ae3b96dac) --- .github/workflows/humble-abi-compatibility.yml | 10 ++++++++++ .github/workflows/humble-binary-build.yml | 17 +++++++++++++---- .github/workflows/humble-build-coverage.yml | 16 ++++++++++++---- .github/workflows/humble-build-downstream.yml | 15 ++++++++++++--- .github/workflows/humble-build-source.yml | 10 ++++++++++ .github/workflows/humble-debian-build.yml | 11 +++++++++++ .../humble-rhel-semi-binary-build.yml | 11 +++++++++++ .github/workflows/humble-semi-binary-build.yml | 17 +++++++++++++---- .github/workflows/jazzy-abi-compatibility.yml | 10 ++++++++++ .github/workflows/jazzy-binary-build.yml | 17 +++++++++++++---- .github/workflows/jazzy-build-coverage.yml | 16 ++++++++++++---- .github/workflows/jazzy-build-downstream.yml | 15 ++++++++++++--- .github/workflows/jazzy-build-source.yml | 10 ++++++++++ .github/workflows/jazzy-debian-build.yml | 11 +++++++++++ .../workflows/jazzy-rhel-semi-binary-build.yml | 11 +++++++++++ .github/workflows/jazzy-semi-binary-build.yml | 17 +++++++++++++---- .../workflows/rolling-abi-compatibility.yml | 10 ++++++++++ .github/workflows/rolling-binary-build.yml | 17 +++++++++++++---- .github/workflows/rolling-build-coverage.yml | 16 ++++++++++++---- .github/workflows/rolling-build-downstream.yml | 17 ++++++++++++++--- .github/workflows/rolling-build-source.yml | 10 ++++++++++ .../workflows/rolling-compatibility-build.yml | 17 +++++++++++++---- .github/workflows/rolling-debian-build.yml | 12 ++++++++++++ .../rolling-rhel-semi-binary-build.yml | 12 ++++++++++++ .../rolling-semi-binary-build-win.yml | 16 ++++++++++++---- .../workflows/rolling-semi-binary-build.yml | 18 ++++++++++++++---- 26 files changed, 306 insertions(+), 53 deletions(-) diff --git a/.github/workflows/humble-abi-compatibility.yml b/.github/workflows/humble-abi-compatibility.yml index 0e8cc99a..368934b2 100644 --- a/.github/workflows/humble-abi-compatibility.yml +++ b/.github/workflows/humble-abi-compatibility.yml @@ -4,6 +4,16 @@ on: pull_request: branches: - humble + paths: + - '**.hpp' + - '**.h' + - '**.cpp' + - '**.py' + - '**.yaml' + - '.github/workflows/humble-abi-compatibility.yml' + - '**/package.xml' + - '**/CMakeLists.txt' + - '**.xml' concurrency: # cancel previous runs of the same workflow, except for pushes on given branches branch diff --git a/.github/workflows/humble-binary-build.yml b/.github/workflows/humble-binary-build.yml index d864c250..f3b85558 100644 --- a/.github/workflows/humble-binary-build.yml +++ b/.github/workflows/humble-binary-build.yml @@ -3,12 +3,21 @@ name: Humble - Binary Build on: - pull_request: - branches: - - humble - push: + pull_request: &event branches: - humble + paths: + - '**.hpp' + - '**.h' + - '**.cpp' + - '**.py' + - '**.yaml' + - '.github/workflows/humble-binary-build.yml' + - '**/package.xml' + - '**/CMakeLists.txt' + - 'control_toolbox-not-released.humble.repos' + - '**.xml' + push: *event schedule: # Run every day to detect flakiness and broken dependencies - cron: '28 6 * * MON-FRI' diff --git a/.github/workflows/humble-build-coverage.yml b/.github/workflows/humble-build-coverage.yml index 91252c29..8b7a8fd6 100644 --- a/.github/workflows/humble-build-coverage.yml +++ b/.github/workflows/humble-build-coverage.yml @@ -1,12 +1,20 @@ name: Humble - Coverage Build on: workflow_dispatch: - push: - branches: - - humble - pull_request: + pull_request: &event branches: - humble + paths: + - '**.hpp' + - '**.h' + - '**.cpp' + - '**.py' + - '**.yaml' + - '.github/workflows/humble-build-coverage.yml' + - '**/package.xml' + - '**/CMakeLists.txt' + - '**.xml' + push: *event concurrency: # cancel previous runs of the same workflow, except for pushes on given branches branch diff --git a/.github/workflows/humble-build-downstream.yml b/.github/workflows/humble-build-downstream.yml index b952073c..6309c4ee 100644 --- a/.github/workflows/humble-build-downstream.yml +++ b/.github/workflows/humble-build-downstream.yml @@ -6,9 +6,18 @@ on: pull_request: branches: - humble - push: - branches: - - humble + paths: + - '**.hpp' + - '**.h' + - '**.cpp' + - '**.py' + - '**.yaml' + - '.github/workflows/humble-build-downstream.yml' + - '**/package.xml' + - '**/CMakeLists.txt' + - 'control_toolbox.humble.repos' + - 'ros_controls.humble.repos' + - '**.xml' concurrency: # cancel previous runs of the same workflow, except for pushes on given branches branch diff --git a/.github/workflows/humble-build-source.yml b/.github/workflows/humble-build-source.yml index 445e0d31..c456b060 100644 --- a/.github/workflows/humble-build-source.yml +++ b/.github/workflows/humble-build-source.yml @@ -4,6 +4,16 @@ on: push: branches: - humble + paths: + - '**.hpp' + - '**.h' + - '**.cpp' + - '**.py' + - '**.yaml' + - '.github/workflows/humble-build-source.yml' + - '**/package.xml' + - '**/CMakeLists.txt' + - '**.xml' pull_request: branches: - humble diff --git a/.github/workflows/humble-debian-build.yml b/.github/workflows/humble-debian-build.yml index 2adfbb76..fac76086 100644 --- a/.github/workflows/humble-debian-build.yml +++ b/.github/workflows/humble-debian-build.yml @@ -4,6 +4,17 @@ on: pull_request: branches: - humble + paths: + - '**.hpp' + - '**.h' + - '**.cpp' + - '**.py' + - '**.yaml' + - '.github/workflows/humble-debian-build.yml' + - '**/package.xml' + - '**/CMakeLists.txt' + - 'control_toolbox.humble.repos' + - '**.xml' schedule: # Run every day to detect flakiness and broken dependencies - cron: '03 5 * * MON-FRI' diff --git a/.github/workflows/humble-rhel-semi-binary-build.yml b/.github/workflows/humble-rhel-semi-binary-build.yml index b96f9d2f..87106031 100644 --- a/.github/workflows/humble-rhel-semi-binary-build.yml +++ b/.github/workflows/humble-rhel-semi-binary-build.yml @@ -4,6 +4,17 @@ on: pull_request: branches: - humble + paths: + - '**.hpp' + - '**.h' + - '**.cpp' + - '**.py' + - '**.yaml' + - '.github/workflows/humble-rhel-semi-binary-build.yml' + - '**/package.xml' + - '**/CMakeLists.txt' + - 'control_toolbox.humble.repos' + - '**.xml' schedule: # Run every day to detect flakiness and broken dependencies - cron: '03 3 * * MON-FRI' diff --git a/.github/workflows/humble-semi-binary-build.yml b/.github/workflows/humble-semi-binary-build.yml index cbe6506e..bd7b404a 100644 --- a/.github/workflows/humble-semi-binary-build.yml +++ b/.github/workflows/humble-semi-binary-build.yml @@ -3,12 +3,21 @@ name: Humble - Semi-Binary Build on: - pull_request: - branches: - - humble - push: + pull_request: &event branches: - humble + paths: + - '**.hpp' + - '**.h' + - '**.cpp' + - '**.py' + - '**.yaml' + - '.github/workflows/humble-semi-binary-build.yml' + - '**/package.xml' + - '**/CMakeLists.txt' + - 'control_toolbox.humble.repos' + - '**.xml' + push: *event schedule: # Run every day to detect flakiness and broken dependencies - cron: '28 6 * * MON-FRI' diff --git a/.github/workflows/jazzy-abi-compatibility.yml b/.github/workflows/jazzy-abi-compatibility.yml index 18749781..d8295b2b 100644 --- a/.github/workflows/jazzy-abi-compatibility.yml +++ b/.github/workflows/jazzy-abi-compatibility.yml @@ -4,6 +4,16 @@ on: pull_request: branches: - jazzy + paths: + - '**.hpp' + - '**.h' + - '**.cpp' + - '**.py' + - '**.yaml' + - '.github/workflows/jazzy-abi-compatibility.yml' + - '**/package.xml' + - '**/CMakeLists.txt' + - '**.xml' concurrency: # cancel previous runs of the same workflow, except for pushes on given branches branch diff --git a/.github/workflows/jazzy-binary-build.yml b/.github/workflows/jazzy-binary-build.yml index f7d4dfab..48e5aa9b 100644 --- a/.github/workflows/jazzy-binary-build.yml +++ b/.github/workflows/jazzy-binary-build.yml @@ -3,12 +3,21 @@ name: Jazzy - Binary Build on: - pull_request: - branches: - - jazzy - push: + pull_request: &event branches: - jazzy + paths: + - '**.hpp' + - '**.h' + - '**.cpp' + - '**.py' + - '**.yaml' + - '.github/workflows/jazzy-binary-build.yml' + - '**/package.xml' + - '**/CMakeLists.txt' + - 'control_toolbox-not-released.jazzy.repos' + - '**.xml' + push: *event schedule: # Run every day to detect flakiness and broken dependencies - cron: '28 6 * * MON-FRI' diff --git a/.github/workflows/jazzy-build-coverage.yml b/.github/workflows/jazzy-build-coverage.yml index e1df203d..2e9e8b39 100644 --- a/.github/workflows/jazzy-build-coverage.yml +++ b/.github/workflows/jazzy-build-coverage.yml @@ -1,12 +1,20 @@ name: Jazzy - Coverage Build on: workflow_dispatch: - push: - branches: - - jazzy - pull_request: + pull_request: &event branches: - jazzy + paths: + - '**.hpp' + - '**.h' + - '**.cpp' + - '**.py' + - '**.yaml' + - '.github/workflows/jazzy-build-coverage.yml' + - '**/package.xml' + - '**/CMakeLists.txt' + - '**.xml' + push: *event concurrency: # cancel previous runs of the same workflow, except for pushes on given branches branch diff --git a/.github/workflows/jazzy-build-downstream.yml b/.github/workflows/jazzy-build-downstream.yml index 884f7412..8f442001 100644 --- a/.github/workflows/jazzy-build-downstream.yml +++ b/.github/workflows/jazzy-build-downstream.yml @@ -6,9 +6,18 @@ on: pull_request: branches: - jazzy - push: - branches: - - jazzy + paths: + - '**.hpp' + - '**.h' + - '**.cpp' + - '**.py' + - '**.yaml' + - '.github/workflows/jazzy-build-downstream.yml' + - '**/package.xml' + - '**/CMakeLists.txt' + - 'control_toolbox.jazzy.repos' + - 'ros_controls.jazzy.repos' + - '**.xml' concurrency: # cancel previous runs of the same workflow, except for pushes on given branches branch diff --git a/.github/workflows/jazzy-build-source.yml b/.github/workflows/jazzy-build-source.yml index 0b8e599b..ba9f56da 100644 --- a/.github/workflows/jazzy-build-source.yml +++ b/.github/workflows/jazzy-build-source.yml @@ -4,6 +4,16 @@ on: push: branches: - jazzy + paths: &paths-filter + - '**.hpp' + - '**.h' + - '**.cpp' + - '**.py' + - '**.yaml' + - '.github/workflows/jazzy-build-source.yml' + - '**/package.xml' + - '**/CMakeLists.txt' + - '**.xml' pull_request: branches: - jazzy diff --git a/.github/workflows/jazzy-debian-build.yml b/.github/workflows/jazzy-debian-build.yml index 04f34ead..85dee416 100644 --- a/.github/workflows/jazzy-debian-build.yml +++ b/.github/workflows/jazzy-debian-build.yml @@ -4,6 +4,17 @@ on: pull_request: branches: - jazzy + paths: + - '**.hpp' + - '**.h' + - '**.cpp' + - '**.py' + - '**.yaml' + - '.github/workflows/jazzy-debian-build.yml' + - '**/package.xml' + - '**/CMakeLists.txt' + - 'control_toolbox.jazzy.repos' + - '**.xml' schedule: # Run every day to detect flakiness and broken dependencies - cron: '03 5 * * MON-FRI' diff --git a/.github/workflows/jazzy-rhel-semi-binary-build.yml b/.github/workflows/jazzy-rhel-semi-binary-build.yml index f0964f2d..485e12ac 100644 --- a/.github/workflows/jazzy-rhel-semi-binary-build.yml +++ b/.github/workflows/jazzy-rhel-semi-binary-build.yml @@ -4,6 +4,17 @@ on: pull_request: branches: - jazzy + paths: + - '**.hpp' + - '**.h' + - '**.cpp' + - '**.py' + - '**.yaml' + - '.github/workflows/jazzy-rhel-semi-binary-build.yml' + - '**/package.xml' + - '**/CMakeLists.txt' + - 'control_toolbox.jazzy.repos' + - '**.xml' schedule: # Run every day to detect flakiness and broken dependencies - cron: '03 3 * * MON-FRI' diff --git a/.github/workflows/jazzy-semi-binary-build.yml b/.github/workflows/jazzy-semi-binary-build.yml index f30d36ed..a4cbe46b 100644 --- a/.github/workflows/jazzy-semi-binary-build.yml +++ b/.github/workflows/jazzy-semi-binary-build.yml @@ -3,12 +3,21 @@ name: Jazzy - Semi-Binary Build on: - pull_request: - branches: - - jazzy - push: + pull_request: &event branches: - jazzy + paths: + - '**.hpp' + - '**.h' + - '**.cpp' + - '**.py' + - '**.yaml' + - '.github/workflows/jazzy-semi-binary-build.yml' + - '**/package.xml' + - '**/CMakeLists.txt' + - 'control_toolbox.jazzy.repos' + - '**.xml' + push: *event schedule: # Run every day to detect flakiness and broken dependencies - cron: '28 6 * * MON-FRI' diff --git a/.github/workflows/rolling-abi-compatibility.yml b/.github/workflows/rolling-abi-compatibility.yml index 3cb50678..5ccc38fb 100644 --- a/.github/workflows/rolling-abi-compatibility.yml +++ b/.github/workflows/rolling-abi-compatibility.yml @@ -4,6 +4,16 @@ on: pull_request: branches: - ros2-master + paths: + - '**.hpp' + - '**.h' + - '**.cpp' + - '**.py' + - '**.yaml' + - '.github/workflows/rolling-abi-compatibility.yml' + - '**/package.xml' + - '**/CMakeLists.txt' + - '**.xml' concurrency: # cancel previous runs of the same workflow, except for pushes on given branches branch diff --git a/.github/workflows/rolling-binary-build.yml b/.github/workflows/rolling-binary-build.yml index 0d0a8159..e74e5662 100644 --- a/.github/workflows/rolling-binary-build.yml +++ b/.github/workflows/rolling-binary-build.yml @@ -3,12 +3,21 @@ name: Rolling - Binary Build on: - pull_request: - branches: - - ros2-master - push: + pull_request: &event branches: - ros2-master + paths: + - '**.hpp' + - '**.h' + - '**.cpp' + - '**.py' + - '**.yaml' + - '.github/workflows/rolling-binary-build.yml' + - '**/package.xml' + - '**/CMakeLists.txt' + - 'control_toolbox-not-released.rolling.repos' + - '**.xml' + push: *event schedule: # Run every day to detect flakiness and broken dependencies - cron: '28 6 * * MON-FRI' diff --git a/.github/workflows/rolling-build-coverage.yml b/.github/workflows/rolling-build-coverage.yml index 56cd892f..27d4cdc8 100644 --- a/.github/workflows/rolling-build-coverage.yml +++ b/.github/workflows/rolling-build-coverage.yml @@ -1,12 +1,20 @@ name: Rolling - Coverage Build on: workflow_dispatch: - push: - branches: - - ros2-master - pull_request: + pull_request: &event branches: - ros2-master + paths: + - '**.hpp' + - '**.h' + - '**.cpp' + - '**.py' + - '**.yaml' + - '.github/workflows/rolling-build-coverage.yml' + - '**/package.xml' + - '**/CMakeLists.txt' + - '**.xml' + push: *event concurrency: # cancel previous runs of the same workflow, except for pushes on given branches branch diff --git a/.github/workflows/rolling-build-downstream.yml b/.github/workflows/rolling-build-downstream.yml index 7ee74ba9..c95336f3 100644 --- a/.github/workflows/rolling-build-downstream.yml +++ b/.github/workflows/rolling-build-downstream.yml @@ -6,9 +6,20 @@ on: pull_request: branches: - ros2-master - push: - branches: - - ros2-master + paths: + - '**.hpp' + - '**.h' + - '**.cpp' + - '**.py' + - '**.yaml' + - '.github/workflows/rolling-build-downstream.yml' + - '**/package.xml' + - '**/CMakeLists.txt' + - 'control_toolbox.rolling.repos' + - 'control_toolbox.kilted.repos' + - 'ros_controls.rolling.repos' + - 'ros_controls.kilted.repos' + - '**.xml' concurrency: # cancel previous runs of the same workflow, except for pushes on given branches branch diff --git a/.github/workflows/rolling-build-source.yml b/.github/workflows/rolling-build-source.yml index 5720be9f..dca55ecf 100644 --- a/.github/workflows/rolling-build-source.yml +++ b/.github/workflows/rolling-build-source.yml @@ -4,6 +4,16 @@ on: push: branches: - ros2-master + paths: + - '**.hpp' + - '**.h' + - '**.cpp' + - '**.py' + - '**.yaml' + - '.github/workflows/rolling-build-source.yml' + - '**/package.xml' + - '**/CMakeLists.txt' + - '**.xml' pull_request: branches: - ros2-master diff --git a/.github/workflows/rolling-compatibility-build.yml b/.github/workflows/rolling-compatibility-build.yml index 9a147a8f..deb1117d 100644 --- a/.github/workflows/rolling-compatibility-build.yml +++ b/.github/workflows/rolling-compatibility-build.yml @@ -4,12 +4,21 @@ name: Rolling - Check Compatibility on: workflow_dispatch: - pull_request: - branches: - - ros2-master - push: + pull_request: &event branches: - ros2-master + paths: + - '**.hpp' + - '**.h' + - '**.cpp' + - '**.py' + - '**.yaml' + - '.github/workflows/rolling-compatibility-build.yml' + - '**/package.xml' + - '**/CMakeLists.txt' + - 'control_toolbox.rolling.repos' + - '**.xml' + push: *event concurrency: # cancel previous runs of the same workflow, except for pushes on given branches branch diff --git a/.github/workflows/rolling-debian-build.yml b/.github/workflows/rolling-debian-build.yml index 686be98b..31597841 100644 --- a/.github/workflows/rolling-debian-build.yml +++ b/.github/workflows/rolling-debian-build.yml @@ -4,6 +4,18 @@ on: pull_request: branches: - ros2-master + paths: + - '**.hpp' + - '**.h' + - '**.cpp' + - '**.py' + - '**.yaml' + - '.github/workflows/rolling-debian-build.yml' + - '**/package.xml' + - '**/CMakeLists.txt' + - 'control_toolbox.kilted.repos' + - 'control_toolbox.rolling.repos' + - '**.xml' schedule: # Run every day to detect flakiness and broken dependencies - cron: '03 5 * * MON-FRI' diff --git a/.github/workflows/rolling-rhel-semi-binary-build.yml b/.github/workflows/rolling-rhel-semi-binary-build.yml index b6ae8ef0..ae70021b 100644 --- a/.github/workflows/rolling-rhel-semi-binary-build.yml +++ b/.github/workflows/rolling-rhel-semi-binary-build.yml @@ -4,6 +4,18 @@ on: pull_request: branches: - ros2-master + paths: + - '**.hpp' + - '**.h' + - '**.cpp' + - '**.py' + - '**.yaml' + - '.github/workflows/rolling-rhel-semi-binary-build.yml' + - '**/package.xml' + - '**/CMakeLists.txt' + - 'control_toolbox.kilted.repos' + - 'control_toolbox.rolling.repos' + - '**.xml' schedule: # Run every day to detect flakiness and broken dependencies - cron: '03 3 * * MON-FRI' diff --git a/.github/workflows/rolling-semi-binary-build-win.yml b/.github/workflows/rolling-semi-binary-build-win.yml index 8c1074e0..81582ba4 100644 --- a/.github/workflows/rolling-semi-binary-build-win.yml +++ b/.github/workflows/rolling-semi-binary-build-win.yml @@ -4,12 +4,20 @@ name: Rolling Windows Semi-Binary Build on: workflow_dispatch: - pull_request: - branches: - - ros2-master - push: + pull_request: &event branches: - ros2-master + paths: + - '**.hpp' + - '**.h' + - '**.cpp' + - '**.py' + - '**.yaml' + - '.github/workflows/rolling-semi-binary-build-win.yml' + - '**/package.xml' + - '**/CMakeLists.txt' + - '**.xml' + push: *event concurrency: # cancel previous runs of the same workflow, except for pushes on given branches branch diff --git a/.github/workflows/rolling-semi-binary-build.yml b/.github/workflows/rolling-semi-binary-build.yml index eda3fcdb..e9c3899d 100644 --- a/.github/workflows/rolling-semi-binary-build.yml +++ b/.github/workflows/rolling-semi-binary-build.yml @@ -3,12 +3,22 @@ name: Rolling - Semi-Binary Build on: - pull_request: - branches: - - ros2-master - push: + pull_request: &event branches: - ros2-master + paths: + - '**.hpp' + - '**.h' + - '**.cpp' + - '**.py' + - '**.yaml' + - '.github/workflows/rolling-semi-binary-build.yml' + - '**/package.xml' + - '**/CMakeLists.txt' + - 'control_toolbox.rolling.repos' + - 'control_toolbox.kilted.repos' + - '**.xml' + push: *event schedule: # Run every day to detect flakiness and broken dependencies - cron: '28 6 * * MON-FRI'