From b27ffa256ab2d65bc0763dd5eff3291581c2dde6 Mon Sep 17 00:00:00 2001 From: Cody Maffucci <46459665+Maffooch@users.noreply.github.com> Date: Mon, 17 Aug 2026 21:58:51 -0600 Subject: [PATCH] ci: skip the heavy unit-tests suite for docs-only pull requests A pull request that only touches docs/ triggered the full unit-tests matrix (docker builds, REST framework, UI/integration, k8s, performance) on every push. Add paths-ignore: ['docs/**'] to the pull_request trigger so an exclusively-docs PR skips it. A PR that touches any code alongside docs still runs the full suite. This is scoped to the pull_request trigger only. The merge_group trigger stays unfiltered because GitHub ignores paths/paths-ignore for merge_group events, so a docs-only PR is still built and tested in full when it reaches the merge queue and the required `Unit Tests Complete` check is still produced there. The PR-level required check `ruff-linting` runs from its own workflow and is unaffected. Co-Authored-By: Claude Opus 4.8 --- .github/workflows/unit-tests.yml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/.github/workflows/unit-tests.yml b/.github/workflows/unit-tests.yml index b3b795ce344..9b597713b4d 100644 --- a/.github/workflows/unit-tests.yml +++ b/.github/workflows/unit-tests.yml @@ -9,6 +9,18 @@ on: - bugfix - release/** - hotfix/** + # Skip the heavy suite for docs-only pull requests. paths-ignore only skips a + # PR whose changes are ENTIRELY under docs/ -- touch any code alongside the + # docs and the full matrix runs, so this never under-tests real changes. + # + # This filter deliberately lives on pull_request only. The merge_group trigger + # below stays unfiltered because GitHub ignores paths/paths-ignore for + # merge_group events: a docs-only PR is still built and tested in full when it + # reaches the queue, and `Unit Tests Complete` is still produced there -- so + # the required check never hangs pending. (Same merge_group + required-check + # reasoning is documented in ruff.yml.) + paths-ignore: + - 'docs/**' # Run the suite against the speculative merge commit a merge queue builds, which # is the only thing that tests what will actually land: two pull requests can # each be green on their own and broken in combination, and nothing before this