From 98cf90c4189ea9eada21da0b2c82017037d6b81d Mon Sep 17 00:00:00 2001 From: Jatin K Malik Date: Sat, 14 Mar 2026 19:23:30 -0700 Subject: [PATCH] ci: add path-based filtering to skip unnecessary builds (#319) - unified-pipeline.yml: replace blanket .github/workflows/** glob with specific .github/workflows/unified-pipeline.yml in both web and python filters, so editing nightly.yml or release.yml no longer triggers the full lint/test/build matrix - distro-test-matrix.yml: add paths filter at workflow trigger level so the 4-container distro matrix only runs when installer, scripts, packaging, or version files change (previously ran on every push/PR including doc-only and web-only changes) Saves CI minutes on documentation, website, and unrelated workflow edits. --- .github/workflows/distro-test-matrix.yml | 16 ++++++++++++++++ .github/workflows/unified-pipeline.yml | 4 ++-- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/.github/workflows/distro-test-matrix.yml b/.github/workflows/distro-test-matrix.yml index 3e14508..f6ad730 100644 --- a/.github/workflows/distro-test-matrix.yml +++ b/.github/workflows/distro-test-matrix.yml @@ -3,8 +3,24 @@ name: Distro Test Matrix on: push: branches: [ main, master ] + paths: + - 'install.sh' + - 'scripts/**' + - 'pyproject.toml' + - 'setup.py' + - 'setup.cfg' + - 'src/vocalinux/version.py' + - '.github/workflows/distro-test-matrix.yml' pull_request: branches: [ main, master ] + paths: + - 'install.sh' + - 'scripts/**' + - 'pyproject.toml' + - 'setup.py' + - 'setup.cfg' + - 'src/vocalinux/version.py' + - '.github/workflows/distro-test-matrix.yml' workflow_dispatch: jobs: diff --git a/.github/workflows/unified-pipeline.yml b/.github/workflows/unified-pipeline.yml index c77deb2..aa60633 100644 --- a/.github/workflows/unified-pipeline.yml +++ b/.github/workflows/unified-pipeline.yml @@ -32,7 +32,7 @@ jobs: filters: | web: - 'web/**' - - '.github/workflows/**' + - '.github/workflows/unified-pipeline.yml' python: - 'src/**' - 'tests/**' @@ -42,7 +42,7 @@ jobs: - 'requirements*.txt' - 'Makefile' - '.pre-commit-config.yaml' - - '.github/workflows/**' + - '.github/workflows/unified-pipeline.yml' - name: Check if website should deploy id: deploy_check env: