Просмотр исходного кода

chore(ci): Expand path filters to cover validation inputs

Include templates and test fixtures in lint and test change detection,
verify-bundles.sh in frontend detection, and requirements.txt in docs
detection. Run all validation jobs when release.yaml changes.

Clarify how skipped workflows and matrix jobs affect required checks.

Fixes #23214
Martin Hauser 3 дней назад
Родитель
Сommit
1c729ae666
1 измененных файлов с 10 добавлено и 2 удалено
  1. 10 2
      .github/workflows/ci.yml

+ 10 - 2
.github/workflows/ci.yml

@@ -30,8 +30,8 @@ concurrency:
 jobs:
 
   # Detect which areas of the codebase changed so downstream jobs can be skipped
-  # when their inputs haven't changed. Jobs that don't match any filter are shown
-  # as "skipped" in GitHub's check list, which satisfies required-status-checks.
+  # when their inputs haven't changed. Not safe for required checks: paths-ignore
+  # can skip the whole run, and a skipped matrix job reports its unexpanded name.
   changes:
     name: Detect changed files
     runs-on: ubuntu-latest
@@ -50,19 +50,27 @@ jobs:
         uses: dorny/paths-filter@ceb8a2b8f2d89434be7ff52d3de7ec3738c5cc9d  # v4.0.3
         id: filter
         with:
+          # release.yaml and ci.yml sit in every filter, so releases and workflow edits run all jobs.
           filters: |
             python:
               - 'netbox/**/*.py'
               - 'netbox/**/migrations/**'
+              - 'netbox/**/templates/**'
+              - 'netbox/**/tests/**'
               - 'requirements*.txt'
               - 'pyproject.toml'
+              - 'netbox/release.yaml'
               - '.github/workflows/ci.yml'
             frontend:
               - 'netbox/project-static/**'
+              - 'scripts/verify-bundles.sh'
+              - 'netbox/release.yaml'
               - '.github/workflows/ci.yml'
             docs:
               - 'docs/**'
               - 'mkdocs.yml'
+              - 'requirements.txt'
+              - 'netbox/release.yaml'
               - '.github/workflows/ci.yml'
 
   lint: