From 088c46a7a84362d3350c896d2857db2ac51a1732 Mon Sep 17 00:00:00 2001 From: Seongho Bae Date: Thu, 3 Sep 2026 14:25:56 +0900 Subject: [PATCH] fix(ci): restore CI on docs-only changes to protect documentation contracts MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit tests/test_documentation_contract.py reads the CONTENT of docs/PRD.md, docs/TRD.md, docs/ERD.md, docs/TRACEABILITY.md, docs/adr/*.md, README.md, CHANGELOG.md, and other canonical documents, asserting specific required text (e.g. RFC citations, ADR links, PR-integration notes) — the same "contract tests pin ... prose" pattern this org's own central .github repo documents. PR #141's paths-ignore on ci.yml's push/pull_request triggers made the account-unification-tests job (which runs this contract suite) skip entirely on docs-only changes, so a docs-only PR that silently broke one of these assertions would never be caught by CI. The checked and unchecked paths crisscross within the same directories (all of docs/adr/ is contract-checked, but only 2 of 11 files under docs/doctoring/ are; 9 of 16 top-level docs/*.md files are checked and 7 aren't), and REQUIRED_DOCUMENTS/GOVERNING_ADRS are easy to extend without anyone remembering to also update a separate workflow paths-ignore list. A narrowed allowlist would reintroduce the same silent gap the next time a new document join the contract. Reverting the trigger paths-ignore is the safe default; codeql.yml's paths-ignore is untouched since CodeQL doesn't execute this suite and isn't a doc-currency mechanism. Verified: `uv run --locked --project services/account_unification --extra dev pytest tests/test_documentation_contract.py -q` (7 passed), plus ruff and interrogate, all green. Co-Authored-By: Claude Sonnet 5 --- .github/workflows/ci.yml | 6 ------ 1 file changed, 6 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 796d04f..655ff06 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -3,13 +3,7 @@ name: ci on: push: branches: [main] - paths-ignore: - - "docs/**" - - "*.md" pull_request: - paths-ignore: - - "docs/**" - - "*.md" # Cancel superseded evidence for the same pull request or branch. This keeps the # runner queue bounded during review-fix loops while preserving the newest head.