.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) <noreply@anthropic.com>
This commit is contained in:
James Harvey
2026-09-05 09:09:22 +10:00
committed by Peter Barker
co-authored by Claude Opus 5
parent 560501abc9
commit 20fe331ef4
23 changed files with 27 additions and 1 deletions
+1
View File
@@ -2,6 +2,7 @@ name: colcon build/test
on:
push:
branches: ['**'] # excludes tag pushes
paths-ignore:
# remove not tests vehicles
- 'AntennaTracker/**'
+1
View File
@@ -2,6 +2,7 @@ name: Cygwin Build
on:
push:
branches: ['**'] # excludes tag pushes
paths-ignore:
# remove other vehicles
- 'AntennaTracker/**'
+1
View File
@@ -2,6 +2,7 @@ name: ESP32 Build
on:
push:
branches: ['**'] # excludes tag pushes
paths-ignore:
# remove non copter and plane vehicles
- 'AntennaTracker/**'
+1
View File
@@ -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'
+1
View File
@@ -2,6 +2,7 @@ name: QURT Build
on:
push:
branches: ['**'] # excludes tag pushes
paths-ignore:
# remove other vehicles
- 'AntennaTracker/**'
+1
View File
@@ -2,6 +2,7 @@ name: test ccache
on:
push:
branches: ['**'] # excludes tag pushes
paths-ignore:
# remove other vehicles
- 'AntennaTracker/**'
+1
View File
@@ -2,6 +2,7 @@ name: test chibios
on:
push:
branches: ['**'] # excludes tag pushes
paths-ignore:
# remove non chibios HAL
- 'libraries/AP_HAL_Linux/**'
@@ -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/**'
+1
View File
@@ -2,6 +2,7 @@ name: test dds
on:
push:
branches: ['**'] # excludes tag pushes
paths-ignore:
# remove not tests vehicles
- 'AntennaTracker/**'
+1
View File
@@ -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/**'
+1
View File
@@ -2,6 +2,7 @@ name: test Linux SBC
on:
push:
branches: ['**'] # excludes tag pushes
paths-ignore:
# remove non LINUX HAL
- 'libraries/AP_HAL_ChibiOS/**'
+1
View File
@@ -2,6 +2,7 @@ name: test replay
on:
push:
branches: ['**'] # excludes tag pushes
paths-ignore:
# remove other vehicles
- 'AntennaTracker/**'
+1
View File
@@ -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/**'
+5 -1
View File
@@ -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 }}
+1
View File
@@ -2,6 +2,7 @@ name: test blimp
on:
push:
branches: ['**'] # excludes tag pushes
paths-ignore:
# remove other vehicles
- 'AntennaTracker/**'
+1
View File
@@ -2,6 +2,7 @@ name: test copter
on:
push:
branches: ['**'] # excludes tag pushes
paths-ignore:
# remove other vehicles
- 'AntennaTracker/**'
+1
View File
@@ -2,6 +2,7 @@ name: test ap_periph
on:
push:
branches: ['**'] # excludes tag pushes
paths-ignore:
# remove other vehicles than copter
- 'AntennaTracker/**'
+1
View File
@@ -2,6 +2,7 @@ name: test plane
on:
push:
branches: ['**'] # excludes tag pushes
paths-ignore:
# remove other vehicles
- 'AntennaTracker/**'
+1
View File
@@ -2,6 +2,7 @@ name: test rover
on:
push:
branches: ['**'] # excludes tag pushes
paths-ignore:
# remove other vehicles
- 'AntennaTracker/**'
+1
View File
@@ -2,6 +2,7 @@ name: test sub
on:
push:
branches: ['**'] # excludes tag pushes
paths-ignore:
# remove other vehicles
- 'AntennaTracker/**'
+1
View File
@@ -2,6 +2,7 @@ name: test tracker
on:
push:
branches: ['**'] # excludes tag pushes
paths-ignore:
# remove other vehicles
- 'ArduCopter/**'
+1
View File
@@ -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
+1
View File
@@ -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'