Repository navigation
ci: harden CI across supported Python versions - #88
Conversation
|
Hi @adaumsilva, the CI hardening changes for #49 are ready for review. All local validation passes, including 307 tests and 94.45% coverage. Thanks! |
adaumsilva
left a comment
There was a problem hiding this comment.
Thanks for expanding the CI coverage @sanjana658 ! The matrix, formatting checks, coverage floor, and real-PDF test are useful additions. Two compatibility issues need fixing:
-
Keep Ruff’s target at
py310. The package still supports Python 3.10, so Ruff should target the minimum supported version. Withpy314, it suggests incompatible changes such as replacingdatetime.timezone.utcwithdatetime.UTC. It also breaks the existing pre-commit hooks: the pinned Ruff v0.4.10 fails to parsepy314, so neither Ruff hook can run. -
Skip the real-PDF test when the optional dependency is absent.
test_pdf_loader_loads_real_pdfimportspypdfunconditionally, causing failure with the documented.[dev]setup. Usepytest.importorskip("pypdf")in this test. CI explicitly installs[pdf], so it will still exercise the real integration.
All eight CI checks pass, and all 22 loader tests pass with pypdf installed. I reproduced the configuration error using the pinned Ruff version and the test failure with pypdf unavailable.
Please address these two points before merging.
|
Addressed both requested compatibility fixes:
Validation:
Ready for re-review. Thanks! |
adaumsilva
left a comment
There was a problem hiding this comment.
Thanks for addressing both requested changes! I verified that the pinned Ruff version works with the restored Python 3.10 target, and the real-PDF test now skips correctly when pypdf is unavailable while passing when installed.
All 22 loader tests pass locally, and no blocking issues remain. Approved—please wait for the remaining Python 3.10 CI job to pass before merging.
|
Thanks for the contribution @sanjana658 Good job! PR Merged. Remember to star the repo if you didn't yet. |
Summary
Closes #49
Harden the CI pipeline across all supported Python versions and enforce
linting, formatting, type checking, coverage, and PDF dependency coverage.
Changes
Validation
git diff --check: passed