Public Access
fix: exclude docs/plans/* from PR size check
Planning docs are legitimately large (700+ lines) but should not fail the PR size gate. Add docs/plans/* to DEFAULT_EXCLUDED_PATTERNS. Implements: DEVX-166 Generated with [Devin](https://devin.ai) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
This commit is contained in:
co-authored by
Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
parent
40e95bc96f
commit
025db98264
@@ -0,0 +1,27 @@
|
|||||||
|
# DEVX-166: Exclude docs/plans/* from PR size check
|
||||||
|
|
||||||
|
## Problem
|
||||||
|
Planning docs in `docs/plans/` are legitimately large (700+ lines) but
|
||||||
|
fail the PR size check (max 500 lines). This blocks PRs that only add
|
||||||
|
planning documents.
|
||||||
|
|
||||||
|
## Approach
|
||||||
|
REQ-1: Add `docs/plans/*` to `DEFAULT_EXCLUDED_PATTERNS` in
|
||||||
|
`src/devx/ci/check_pr_size.py`
|
||||||
|
REQ-2: Add test coverage for the new exclusion pattern
|
||||||
|
|
||||||
|
## Test Plan
|
||||||
|
- `make pytest-cov` passes with 100% coverage
|
||||||
|
- `make lint-all` passes
|
||||||
|
|
||||||
|
## Deploy Plan
|
||||||
|
- Merge to master → post-merge auto-publishes new devx version
|
||||||
|
- Infra PR #1179 picks up the fix once devx is bumped
|
||||||
|
|
||||||
|
## Rollback Plan
|
||||||
|
- Revert the merge commit
|
||||||
|
|
||||||
|
## Acceptance Criteria
|
||||||
|
- [x] REQ-1: Add `docs/plans/*` to `DEFAULT_EXCLUDED_PATTERNS` in
|
||||||
|
`src/devx/ci/check_pr_size.py`
|
||||||
|
- [x] REQ-2: Add test coverage for the new exclusion pattern
|
||||||
@@ -36,6 +36,7 @@ DEFAULT_EXCLUDED_PATTERNS = [
|
|||||||
"CHANGELOG.md",
|
"CHANGELOG.md",
|
||||||
"README.md",
|
"README.md",
|
||||||
"docs/index.md",
|
"docs/index.md",
|
||||||
|
"docs/plans/*",
|
||||||
"*.svg",
|
"*.svg",
|
||||||
"uv.lock",
|
"uv.lock",
|
||||||
"poetry.lock",
|
"poetry.lock",
|
||||||
|
|||||||
@@ -26,6 +26,12 @@ class TestIsExcluded:
|
|||||||
def test_excludes_readme(self) -> None:
|
def test_excludes_readme(self) -> None:
|
||||||
assert is_excluded("README.md", ["README.md"])
|
assert is_excluded("README.md", ["README.md"])
|
||||||
|
|
||||||
|
def test_excludes_plans_glob(self) -> None:
|
||||||
|
assert is_excluded("docs/plans/sso-bridge-full-extraction.md", ["docs/plans/*"])
|
||||||
|
|
||||||
|
def test_does_not_exclude_specs(self) -> None:
|
||||||
|
assert not is_excluded("docs/specs/DEVX-165.md", ["docs/plans/*"])
|
||||||
|
|
||||||
|
|
||||||
class TestCheckSize:
|
class TestCheckSize:
|
||||||
def test_under_limits_passes(self) -> None:
|
def test_under_limits_passes(self) -> None:
|
||||||
|
|||||||
Reference in New Issue
Block a user