From d30003518d026da7f6655611573959719dc71123 Mon Sep 17 00:00:00 2001 From: Nate Barlow Date: Fri, 19 Jun 2026 17:54:46 -0600 Subject: [PATCH] ci: skip PR Tests for docs-only changes MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The pr-tests workflow ran the full PHPUnit suite (MySQL + npm build + migrate) on every PR, including markdown/docs-only changes — wasted runner time on edits that can't affect the app. Add paths-ignore for '**/*.md' and 'docs/**' on both triggers. Safe: main has no branch protection or rulesets, so the tests check gates nothing — skipped runs still merge. The milestone-date invariant is guarded by the local-only MilestoneScheduleConsistencyTest, which this gate never ran anyway. Co-Authored-By: Claude Opus 4.8 --- .github/workflows/pr-tests.yml | 10 ++++++++++ AGENTS.md | 2 +- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pr-tests.yml b/.github/workflows/pr-tests.yml index 697a8c05..d4ccdbdd 100644 --- a/.github/workflows/pr-tests.yml +++ b/.github/workflows/pr-tests.yml @@ -1,12 +1,22 @@ name: PR Tests on: + # Docs-only changes (Markdown anywhere + everything under docs/, incl. + # milestones.ics) don't touch the app, so skip the PHPUnit suite for them. + # The milestone-date invariant is covered by the local-only + # MilestoneScheduleConsistencyTest, not this gate. push: branches: - codex/** - feat/** - feature/** + paths-ignore: + - '**/*.md' + - 'docs/**' pull_request: + paths-ignore: + - '**/*.md' + - 'docs/**' jobs: tests: diff --git a/AGENTS.md b/AGENTS.md index 3a66dec6..dacceded 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -21,7 +21,7 @@ - If the user has uncommitted doc edits in the same active workstream, preserve them and include them in the next related commit by default unless the user says otherwise. - Apply the UX guardrails in [`docs/UX_GUARDRAILS.md`](docs/UX_GUARDRAILS.md) on every UX touch: Nielsen/WCAG as baseline; inline guidance, preserved input, no layout shift, focus/error handling, mobile/accessibility. - GitHub `main` is canonical and protected. New work branches follow `codex/`, and existing PRs must be updated via their original source branch rather than alternate branches. -- PRs are gated by GitHub Actions `PR Tests`; keep branches current with `origin/main` before requesting review. +- PRs are gated by GitHub Actions `PR Tests`; keep branches current with `origin/main` before requesting review. Docs-only PRs (Markdown anywhere + `docs/**`, including `milestones.ics`) skip the suite via `paths-ignore`, so run milestone-date checks locally (the consistency test is local-only anyway). ## Multi-Agent Coordination - Primary and secondary agents are role-based, not capability-limited: secondaries can work docs, code, tests, or modules within their stated task.