Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/quality.yml
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ jobs:
- name: Pytest
run: >-
python -m pytest -q
--cov=eip_search_v3 --cov-report=term-missing --cov-fail-under=90
--cov=eip_search_v3 --cov-report=term-missing --cov-fail-under=92

package:
runs-on: ubuntu-latest
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ jobs:
run: |
ruff check src tests
python -m pytest -q -m 'not live' \
--cov=eip_search_v3 --cov-report=term-missing --cov-fail-under=90
--cov=eip_search_v3 --cov-report=term-missing --cov-fail-under=92

- name: Build and validate distributions
run: |
Expand Down
8 changes: 7 additions & 1 deletion AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,10 +42,16 @@ python -m pip install -e .
ruff check src tests
ruff format --check src tests
mypy
pytest -q -m 'not live' --cov=eip_search_v3 --cov-fail-under=90
pytest -q -m 'not live' --cov=eip_search_v3 --cov-fail-under=92
! git grep --untracked -n -I -P '[\x{2013}\x{2014}]' -- . # CI rejects en/em dashes
```

Run that with a narrow or unset `COLUMNS`. Rich sizes its output to the terminal,
so a wide terminal executes render branches a narrow one does not: this suite
reports 93 percent unset or at 80 columns and 95 percent at 140. CI has no tty and
sees 93, so a wide local terminal will suggest roughly twice the headroom that
actually exists.

CI enforces that dash check, the coverage floor, and a packaging job that
asserts CLI help text and examples, so changing a banner or an example string
can fail the build. `CONTRIBUTING.md` carries the full local suite.
Expand Down
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ Run the local quality suite before opening a pull request:
```sh
! git grep -n -I -P '[\x{2013}\x{2014}]' -- . # CI rejects en/em dashes
ruff check src tests
pytest -q -m 'not live' --cov=eip_search_v3 --cov-fail-under=90
pytest -q -m 'not live' --cov=eip_search_v3 --cov-fail-under=92
python -m build
python -m twine check dist/*
```
Expand Down
8 changes: 5 additions & 3 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -44,9 +44,11 @@ where = ["src"]
python_version = "3.12"
files = ["src"]
ignore_missing_imports = true
# Report an override that matches nothing, so an exemption cannot outlive the
# errors it was added for. mypy prints that as a note and still exits 0, so the
# CI step greps for it and fails.
# Report an override that names a module mypy never processes, so a renamed or
# deleted entry cannot linger. mypy prints that as a note and still exits 0, so
# the CI step greps for it and fails. Note the limit: this does NOT catch a
# module whose errors were fixed but whose exemption stayed, because the module
# still exists and is still processed.
warn_unused_configs = true

# Type checking is a ratchet, not an allowlist. Everything is checked by default
Expand Down
5 changes: 3 additions & 2 deletions requirements-dev.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
build>=1.2
build>=1.2,<2
twine>=6,<7
pytest==8.4.2
pytest-cov>=5
pytest-cov==7.1.0
ruff==0.16.3
mypy==2.3.1
coverage==7.15.4