From 20fe331ef4a15d99b24f9beac6ffc304172aeebc Mon Sep 17 00:00:00 2001 From: James Harvey Date: Wed, 2 Sep 2026 15:31:22 -0700 Subject: [PATCH] .github: do not run CI on tag pushes The release procedure pushes about twenty tags at a single commit: the per-vehicle -stable and -beta tags and the numbered ones such as Copter-4.7.1. Only pre-commit.yml's push trigger carries a branch filter, so every other workflow runs for each of those tag pushes, and path filters are not evaluated for tag pushes, so the paths-ignore lists do not thin them out. The 4.7.1 release produced 438 push-event runs for one commit; 18 came from the ArduPilot-4.7 branch push and the other 420 from the tags, each re-running the same jobs on the same commit. 4.7.0 produced 437, and the pattern goes back to at least 4.6.2. Filter push triggers to branches. '**' matches every branch, so branch pushes behave exactly as before; tag pushes stop triggering workflows. The tags still show the commit's checks, since check results attach to the commit; those are the release-branch push's runs, trimmed by the usual path filters as on any other branch. test_scripts.yml used the list form of 'on', which cannot carry a filter, so it is expanded to the mapping form. Co-Authored-By: Claude Opus 5 (1M context) --- .github/workflows/colcon.yml | 1 + .github/workflows/cygwin_build.yml | 1 + .github/workflows/esp32_build.yml | 1 + .github/workflows/macos_build.yml | 1 + .github/workflows/qurt_build.yml | 1 + .github/workflows/test_ccache.yml | 1 + .github/workflows/test_chibios.yml | 1 + .github/workflows/test_clang_scan_build.yml | 1 + .github/workflows/test_dds.yml | 1 + .github/workflows/test_environment.yml | 1 + .github/workflows/test_linux_sbc.yml | 1 + .github/workflows/test_replay.yml | 1 + .github/workflows/test_scripting.yml | 1 + .github/workflows/test_scripts.yml | 6 +++++- .github/workflows/test_sitl_blimp.yml | 1 + .github/workflows/test_sitl_copter.yml | 1 + .github/workflows/test_sitl_periph.yml | 1 + .github/workflows/test_sitl_plane.yml | 1 + .github/workflows/test_sitl_rover.yml | 1 + .github/workflows/test_sitl_sub.yml | 1 + .github/workflows/test_sitl_tracker.yml | 1 + .github/workflows/test_size.yml | 1 + .github/workflows/test_unit_tests.yml | 1 + 23 files changed, 27 insertions(+), 1 deletion(-) diff --git a/.github/workflows/colcon.yml b/.github/workflows/colcon.yml index f0b5ae3fbb4..c3d4241769b 100644 --- a/.github/workflows/colcon.yml +++ b/.github/workflows/colcon.yml @@ -2,6 +2,7 @@ name: colcon build/test on: push: + branches: ['**'] # excludes tag pushes paths-ignore: # remove not tests vehicles - 'AntennaTracker/**' diff --git a/.github/workflows/cygwin_build.yml b/.github/workflows/cygwin_build.yml index 26b89e7fc3b..ac7d8edd50d 100644 --- a/.github/workflows/cygwin_build.yml +++ b/.github/workflows/cygwin_build.yml @@ -2,6 +2,7 @@ name: Cygwin Build on: push: + branches: ['**'] # excludes tag pushes paths-ignore: # remove other vehicles - 'AntennaTracker/**' diff --git a/.github/workflows/esp32_build.yml b/.github/workflows/esp32_build.yml index 966d612f36e..cf07a6ddac9 100644 --- a/.github/workflows/esp32_build.yml +++ b/.github/workflows/esp32_build.yml @@ -2,6 +2,7 @@ name: ESP32 Build on: push: + branches: ['**'] # excludes tag pushes paths-ignore: # remove non copter and plane vehicles - 'AntennaTracker/**' diff --git a/.github/workflows/macos_build.yml b/.github/workflows/macos_build.yml index 9eb4e146a51..39cb07af608 100644 --- a/.github/workflows/macos_build.yml +++ b/.github/workflows/macos_build.yml @@ -2,6 +2,7 @@ name: Macos Build on: push: + branches: ['**'] # excludes tag pushes paths-ignore: # remove other env install scripts - 'Tools/environment_install/install-ROS-ubuntu.sh' diff --git a/.github/workflows/qurt_build.yml b/.github/workflows/qurt_build.yml index e8ddb033224..15eda6d27d2 100644 --- a/.github/workflows/qurt_build.yml +++ b/.github/workflows/qurt_build.yml @@ -2,6 +2,7 @@ name: QURT Build on: push: + branches: ['**'] # excludes tag pushes paths-ignore: # remove other vehicles - 'AntennaTracker/**' diff --git a/.github/workflows/test_ccache.yml b/.github/workflows/test_ccache.yml index 5fa94e5d418..bdd2ce18a3b 100644 --- a/.github/workflows/test_ccache.yml +++ b/.github/workflows/test_ccache.yml @@ -2,6 +2,7 @@ name: test ccache on: push: + branches: ['**'] # excludes tag pushes paths-ignore: # remove other vehicles - 'AntennaTracker/**' diff --git a/.github/workflows/test_chibios.yml b/.github/workflows/test_chibios.yml index 3f237a45832..c5a07041df3 100644 --- a/.github/workflows/test_chibios.yml +++ b/.github/workflows/test_chibios.yml @@ -2,6 +2,7 @@ name: test chibios on: push: + branches: ['**'] # excludes tag pushes paths-ignore: # remove non chibios HAL - 'libraries/AP_HAL_Linux/**' diff --git a/.github/workflows/test_clang_scan_build.yml b/.github/workflows/test_clang_scan_build.yml index f7dd64557a1..68bdcc5f134 100644 --- a/.github/workflows/test_clang_scan_build.yml +++ b/.github/workflows/test_clang_scan_build.yml @@ -2,6 +2,7 @@ name: test clang-scan-build on: push: + branches: ['**'] # excludes tag pushes paths-ignore: # remove non SITL HAL - 'libraries/AP_HAL_ChibiOS/**' diff --git a/.github/workflows/test_dds.yml b/.github/workflows/test_dds.yml index 13b1e49e39c..a2da040f8cf 100644 --- a/.github/workflows/test_dds.yml +++ b/.github/workflows/test_dds.yml @@ -2,6 +2,7 @@ name: test dds on: push: + branches: ['**'] # excludes tag pushes paths-ignore: # remove not tests vehicles - 'AntennaTracker/**' diff --git a/.github/workflows/test_environment.yml b/.github/workflows/test_environment.yml index 84178b8a8f3..f3e138cefad 100644 --- a/.github/workflows/test_environment.yml +++ b/.github/workflows/test_environment.yml @@ -4,6 +4,7 @@ on: - cron: '0 0 * * 6' # every saturday at midnight workflow_dispatch: push: + branches: ['**'] # excludes tag pushes paths: - '.github/workflows/test_environment.yml' - 'Tools/environment_install/**' diff --git a/.github/workflows/test_linux_sbc.yml b/.github/workflows/test_linux_sbc.yml index 5c7958bbd13..32434d4cf93 100644 --- a/.github/workflows/test_linux_sbc.yml +++ b/.github/workflows/test_linux_sbc.yml @@ -2,6 +2,7 @@ name: test Linux SBC on: push: + branches: ['**'] # excludes tag pushes paths-ignore: # remove non LINUX HAL - 'libraries/AP_HAL_ChibiOS/**' diff --git a/.github/workflows/test_replay.yml b/.github/workflows/test_replay.yml index 6c2a9a5be12..c895ed974c8 100644 --- a/.github/workflows/test_replay.yml +++ b/.github/workflows/test_replay.yml @@ -2,6 +2,7 @@ name: test replay on: push: + branches: ['**'] # excludes tag pushes paths-ignore: # remove other vehicles - 'AntennaTracker/**' diff --git a/.github/workflows/test_scripting.yml b/.github/workflows/test_scripting.yml index 06631ce8658..44468bab645 100644 --- a/.github/workflows/test_scripting.yml +++ b/.github/workflows/test_scripting.yml @@ -2,6 +2,7 @@ name: test scripting on: push: + branches: ['**'] # excludes tag pushes paths: # only run for scripting changes - 'libraries/AP_Scripting/tests/docs_check.py' - 'libraries/AP_Scripting/generator/**' diff --git a/.github/workflows/test_scripts.yml b/.github/workflows/test_scripts.yml index 449498f5f95..7776c12a03d 100644 --- a/.github/workflows/test_scripts.yml +++ b/.github/workflows/test_scripts.yml @@ -1,6 +1,10 @@ name: test scripts -on: [push, pull_request, workflow_dispatch] +on: + push: + branches: ['**'] # excludes tag pushes + pull_request: + workflow_dispatch: concurrency: group: ci-${{github.workflow}}-${{ github.ref }} diff --git a/.github/workflows/test_sitl_blimp.yml b/.github/workflows/test_sitl_blimp.yml index 4e517c95cf8..6b5bf76fd5d 100644 --- a/.github/workflows/test_sitl_blimp.yml +++ b/.github/workflows/test_sitl_blimp.yml @@ -2,6 +2,7 @@ name: test blimp on: push: + branches: ['**'] # excludes tag pushes paths-ignore: # remove other vehicles - 'AntennaTracker/**' diff --git a/.github/workflows/test_sitl_copter.yml b/.github/workflows/test_sitl_copter.yml index 4cb5a626d49..4ebd23c4fb0 100644 --- a/.github/workflows/test_sitl_copter.yml +++ b/.github/workflows/test_sitl_copter.yml @@ -2,6 +2,7 @@ name: test copter on: push: + branches: ['**'] # excludes tag pushes paths-ignore: # remove other vehicles - 'AntennaTracker/**' diff --git a/.github/workflows/test_sitl_periph.yml b/.github/workflows/test_sitl_periph.yml index 7ada96c9adf..03d2839c469 100644 --- a/.github/workflows/test_sitl_periph.yml +++ b/.github/workflows/test_sitl_periph.yml @@ -2,6 +2,7 @@ name: test ap_periph on: push: + branches: ['**'] # excludes tag pushes paths-ignore: # remove other vehicles than copter - 'AntennaTracker/**' diff --git a/.github/workflows/test_sitl_plane.yml b/.github/workflows/test_sitl_plane.yml index 9fc4a6d1842..16ff63930b8 100644 --- a/.github/workflows/test_sitl_plane.yml +++ b/.github/workflows/test_sitl_plane.yml @@ -2,6 +2,7 @@ name: test plane on: push: + branches: ['**'] # excludes tag pushes paths-ignore: # remove other vehicles - 'AntennaTracker/**' diff --git a/.github/workflows/test_sitl_rover.yml b/.github/workflows/test_sitl_rover.yml index 24ac6130120..187a258f923 100644 --- a/.github/workflows/test_sitl_rover.yml +++ b/.github/workflows/test_sitl_rover.yml @@ -2,6 +2,7 @@ name: test rover on: push: + branches: ['**'] # excludes tag pushes paths-ignore: # remove other vehicles - 'AntennaTracker/**' diff --git a/.github/workflows/test_sitl_sub.yml b/.github/workflows/test_sitl_sub.yml index 8365502e10f..97b753ed9c8 100644 --- a/.github/workflows/test_sitl_sub.yml +++ b/.github/workflows/test_sitl_sub.yml @@ -2,6 +2,7 @@ name: test sub on: push: + branches: ['**'] # excludes tag pushes paths-ignore: # remove other vehicles - 'AntennaTracker/**' diff --git a/.github/workflows/test_sitl_tracker.yml b/.github/workflows/test_sitl_tracker.yml index d6bcc6bb936..e2606c293a0 100644 --- a/.github/workflows/test_sitl_tracker.yml +++ b/.github/workflows/test_sitl_tracker.yml @@ -2,6 +2,7 @@ name: test tracker on: push: + branches: ['**'] # excludes tag pushes paths-ignore: # remove other vehicles - 'ArduCopter/**' diff --git a/.github/workflows/test_size.yml b/.github/workflows/test_size.yml index 3eb73a793b1..2e4b992cb7c 100644 --- a/.github/workflows/test_size.yml +++ b/.github/workflows/test_size.yml @@ -2,6 +2,7 @@ name: test size on: push: + branches: ['**'] # excludes tag pushes paths-ignore: # ignore autotest stuffs - 'Tools/autotest/**' # Remove markdown files as irrelevant diff --git a/.github/workflows/test_unit_tests.yml b/.github/workflows/test_unit_tests.yml index 1e815c96a35..f3216d93551 100644 --- a/.github/workflows/test_unit_tests.yml +++ b/.github/workflows/test_unit_tests.yml @@ -2,6 +2,7 @@ name: test unit tests and sitl building on: push: + branches: ['**'] # excludes tag pushes paths-ignore: # Remove markdown files as irrelevant - '**.md'