Description
.github/workflows/ci.yml currently:
- tests only Python 3.10–3.12 (3.13 has been stable for a year; contributors are already on 3.14)
- runs
ruff check ragframework/ only — tests/ and examples/ are never linted
- never runs
black --check or isort --check-only although both are in [dev] and documented in CONTRIBUTING.md
- runs mypy only on 3.10
- uploads coverage but enforces no minimum (
fail_ci_if_error: false, no --cov-fail-under)
- does not install the
[pdf] extra, so PDFLoader is only exercised through a fake pypdf
Acceptance criteria
Files to touch
.github/workflows/ci.yml
pyproject.toml
CONTRIBUTING.md
- possibly
tests/ and examples/ (lint fixes)
Resources
Estimated effort: Medium (half day)
Description
.github/workflows/ci.ymlcurrently:ruff check ragframework/only —tests/andexamples/are never lintedblack --checkorisort --check-onlyalthough both are in[dev]and documented inCONTRIBUTING.mdfail_ci_if_error: false, no--cov-fail-under)[pdf]extra, soPDFLoaderis only exercised through a fakepypdfAcceptance criteria
["3.10", "3.11", "3.12", "3.13", "3.14"]; classifiers inpyproject.tomlupdated to match;black/rufftarget-versionlists updatedlintjob:ruff check .plus eitherruff format --check .orblack --check . && isort --check-only .(pick one formatter; if ruff-format, drop black/isort from[dev]and updateCONTRIBUTING.md)mypy ragframework/runs on the oldest and newest Python in the matrixpytest --cov-fail-under=85(measure the current number first and set the floor just below it)[pdf]added to the CI install so at least one real-pypdftest can run (a tiny generated PDF fixture viapypdf.PdfWriter)concurrency:block added so superseded PR runs are cancelledFiles to touch
.github/workflows/ci.ymlpyproject.tomlCONTRIBUTING.mdtests/andexamples/(lint fixes)Resources
--cov-fail-underEstimated effort: Medium (half day)