Add automated Pytest GitHub Actions and resolve Python 3.9 compatibility issues #142
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Overview
This pull request introduces a GitHub Actions workflow that automatically runs the test suite on every push and pull request, ensuring consistent quality across Python 3.9–3.12. In parallel, it resolves two small but blocking type-hint incompatibilities that prevented the codebase from running on Python 3.9.
What This Means for Users
No user-facing behaviour has changed; the JrDev terminal continues to work exactly as before. The only visible difference is the appearance of green “✅ All checks have passed” indicators on future pull requests, signalling that every proposed change has already been validated against the full test matrix.
A Closer Look at the Changes
Continuous Integration
.github/workflows/pytest.ymldefines a matrix job that spins up four parallel Ubuntu runners, one for each supported Python version.pytestwith coverage reporting, and uploads both the JUnit XML and the HTML coverage report as build artifacts for later inspection.Python 3.9 Compatibility
dict | None,list | str) withtyping.Unionequivalents in two modules (model.pyandconfirmation.py).write_with_confirmationtoTuple[str, Optional[str]], aligning the declared type with the actual implementation.Generated by JrDev AI using moonshotai/kimi-k2-instruct