From 2f851c46ff244a7570ea440dfc5b0d6d84063550 Mon Sep 17 00:00:00 2001 From: trsdn Date: Wed, 10 Jun 2026 11:09:22 +0200 Subject: [PATCH 1/2] ci: reduce unnecessary workflow runs Add path filters to heavyweight PR workflows, remove duplicate dependency review triggers, and disable scheduled maintenance runs for the inactive repo. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .github/workflows/ci-gates.yml | 5 +++++ .github/workflows/ci.yml | 5 +++++ .github/workflows/code-annotations.yml | 6 ++++++ .github/workflows/dependency-review.yml | 10 +++++++--- .github/workflows/docs-autogen.yml | 2 -- .github/workflows/docs.yml | 9 +++++++-- .github/workflows/fast-tests.yml | 2 +- .github/workflows/pr-feedback.yml | 5 +++++ .github/workflows/security.yml | 9 +++++---- .github/workflows/status-dashboard.yml | 2 -- .github/workflows/test.yml | 9 +++++---- .github/workflows/version-bump.yml | 4 ---- 12 files changed, 46 insertions(+), 22 deletions(-) diff --git a/.github/workflows/ci-gates.yml b/.github/workflows/ci-gates.yml index a59faf6..fbe09f9 100644 --- a/.github/workflows/ci-gates.yml +++ b/.github/workflows/ci-gates.yml @@ -3,6 +3,11 @@ name: CI Quality Gates on: pull_request: branches-ignore: [ci-cd-maintenance] + paths: + - '**/*.py' + - 'pyproject.toml' + - 'requirements*.txt' + - '.github/workflows/ci-gates.yml' push: branches: [main] workflow_dispatch: diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 67d016e..073a13f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -5,6 +5,11 @@ on: branches: [main] pull_request: branches-ignore: [ci-cd-maintenance] + paths: + - '**/*.py' + - 'pyproject.toml' + - 'requirements*.txt' + - '.github/workflows/ci.yml' # Cancel duplicate runs concurrency: diff --git a/.github/workflows/code-annotations.yml b/.github/workflows/code-annotations.yml index fd685cf..b185a86 100644 --- a/.github/workflows/code-annotations.yml +++ b/.github/workflows/code-annotations.yml @@ -3,6 +3,12 @@ name: Code Annotations & Inline Comments on: pull_request: types: [opened, synchronize, reopened] + branches-ignore: [ci-cd-maintenance] + paths: + - '**/*.py' + - 'pyproject.toml' + - 'requirements*.txt' + - '.github/workflows/code-annotations.yml' permissions: contents: read diff --git a/.github/workflows/dependency-review.yml b/.github/workflows/dependency-review.yml index 06fd655..6cd3859 100644 --- a/.github/workflows/dependency-review.yml +++ b/.github/workflows/dependency-review.yml @@ -3,9 +3,13 @@ name: Dependency Review on: pull_request: branches-ignore: [ci-cd-maintenance] - # Also run on Dependabot PRs - pull_request_target: - branches-ignore: [ci-cd-maintenance] + paths: + - 'pyproject.toml' + - 'requirements*.txt' + - '**/requirements*.txt' + - '**/poetry.lock' + - '**/Pipfile.lock' + - '.github/workflows/dependency-review.yml' permissions: contents: read diff --git a/.github/workflows/docs-autogen.yml b/.github/workflows/docs-autogen.yml index 0540678..3041846 100644 --- a/.github/workflows/docs-autogen.yml +++ b/.github/workflows/docs-autogen.yml @@ -11,8 +11,6 @@ on: - api - all - missing - schedule: - - cron: '0 3 1 * *' # Monthly on the 1st at 3 AM UTC permissions: contents: write diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 6c7b6ac..35558f5 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -2,10 +2,15 @@ name: Documentation CI on: pull_request: branches-ignore: [ci-cd-maintenance] + paths: + - '**/*.py' + - 'docs/**' + - '**/*.md' + - '**/*.rst' + - 'pyproject.toml' + - '.github/workflows/docs.yml' push: branches: [main] - schedule: - - cron: '0 2 * * 1' # Weekly on Monday at 2 AM UTC for link rot detection permissions: contents: read diff --git a/.github/workflows/fast-tests.yml b/.github/workflows/fast-tests.yml index cb0659f..ac6eebc 100644 --- a/.github/workflows/fast-tests.yml +++ b/.github/workflows/fast-tests.yml @@ -4,7 +4,7 @@ on: pull_request: branches-ignore: [ci-cd-maintenance] paths: - - '**.py' + - '**/*.py' - 'pyproject.toml' - 'requirements*.txt' - '.github/workflows/fast-tests.yml' diff --git a/.github/workflows/pr-feedback.yml b/.github/workflows/pr-feedback.yml index 15d5c5b..fad38ed 100644 --- a/.github/workflows/pr-feedback.yml +++ b/.github/workflows/pr-feedback.yml @@ -4,6 +4,11 @@ on: pull_request: types: [opened, synchronize, reopened] branches-ignore: [ci-cd-maintenance] + paths: + - '**/*.py' + - 'pyproject.toml' + - 'requirements*.txt' + - '.github/workflows/pr-feedback.yml' permissions: contents: read diff --git a/.github/workflows/security.yml b/.github/workflows/security.yml index d1184bb..f66a08f 100644 --- a/.github/workflows/security.yml +++ b/.github/workflows/security.yml @@ -5,10 +5,11 @@ on: branches: [main] pull_request: branches-ignore: [ci-cd-maintenance] - schedule: - # Run security scans daily at 3 AM UTC - - cron: '0 3 * * *' - + paths: + - '**/*.py' + - 'pyproject.toml' + - 'requirements*.txt' + - '.github/workflows/security.yml' # Cancel duplicate runs concurrency: group: security-${{ github.ref }} diff --git a/.github/workflows/status-dashboard.yml b/.github/workflows/status-dashboard.yml index d9df4e4..6b9a9f1 100644 --- a/.github/workflows/status-dashboard.yml +++ b/.github/workflows/status-dashboard.yml @@ -1,8 +1,6 @@ name: Status Dashboard on: - schedule: - - cron: '0 */6 * * *' # Every 6 hours workflow_dispatch: permissions: diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index bda76f7..ac885d2 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -5,9 +5,11 @@ on: branches: [main] pull_request: branches-ignore: [ci-cd-maintenance] - schedule: - # Run tests daily at 2 AM UTC - - cron: '0 2 * * *' + paths: + - '**/*.py' + - 'pyproject.toml' + - 'requirements*.txt' + - '.github/workflows/test.yml' workflow_dispatch: inputs: test_level: @@ -529,4 +531,3 @@ jobs: name: nightly-${{ matrix.test-category }}-results path: | pytest-results.xml - diff --git a/.github/workflows/version-bump.yml b/.github/workflows/version-bump.yml index b24231a..4234199 100644 --- a/.github/workflows/version-bump.yml +++ b/.github/workflows/version-bump.yml @@ -9,15 +9,11 @@ name: Automated Version Bump # # TRIGGERS: # - Automatic: Push to main (if changes warrant a version bump) -# - Scheduled: Weekly on Mondays at 9 AM UTC # - Manual: workflow_dispatch (with duplicate prevention) on: push: branches: [main] - schedule: - # Run weekly on Monday at 9 AM UTC - - cron: '0 9 * * 1' workflow_dispatch: inputs: force_bump: From a9cc88085a009c7292bf7ab5235bb2d176e8f75e Mon Sep 17 00:00:00 2001 From: trsdn Date: Wed, 10 Jun 2026 11:22:07 +0200 Subject: [PATCH 2/2] fix(ci): install dependencies for validation jobs Upgrade pip before pip-audit so the job does not fail on a vulnerable runner-provided pip version, and install the package documentation extra before pdoc imports the project. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .github/workflows/ci-gates.yml | 1 + .github/workflows/docs.yml | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci-gates.yml b/.github/workflows/ci-gates.yml index fbe09f9..2d377fd 100644 --- a/.github/workflows/ci-gates.yml +++ b/.github/workflows/ci-gates.yml @@ -266,6 +266,7 @@ jobs: - name: Check for dependency vulnerabilities run: | + python -m pip install --upgrade pip pip install pip-audit pip-audit --desc diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 35558f5..ac29911 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -194,10 +194,10 @@ jobs: python-version: '3.12' cache: 'pip' - - name: Install pdoc + - name: Install documentation dependencies run: | pip install --upgrade pip - pip install pdoc + pip install -e ".[docs]" - name: Generate API documentation preview run: |