Modernize Python CI matrix and GitHub Actions
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 68/100
Research direction
Start with .github/workflows/pytest.yml and .github/workflows/flake8.yml, then compare their Python versions and action definitions with the support metadata in pyproject.toml. Run the existing test and lint commands while checking dependency installation across Python 3.9–3.12. Done means the workflows use the supported matrix, modern SHA-pinned actions, dependency caching, and remain required for pull requests targeting dev.
Written by the indexing model from the issue text.
Description
Is your feature request related to a problem? Please describe.
TorBot declares Python >=3.9 and advertises support through Python 3.12 in pyproject.toml, but the current GitHub Actions coverage does not validate that support consistently:
pytest.ymlruns only on Python 3.10.flake8.ymlruns on Python 3.8, 3.9, and 3.10 even though the documented minimum is now 3.9.- Both workflows still use
actions/checkout@v3andactions/setup-python@v3. - Lint and test coverage are split across overlapping workflows without a shared supported-version matrix.
The existing runs are green, so this is support and maintenance drift rather than an active outage. A dependency or syntax regression affecting Python 3.9, 3.11, or 3.12 could currently merge without being detected.
Describe the solution you'd like
Modernize the Python CI workflows so they validate the versions TorBot actually claims to support.
Suggested acceptance criteria:
- Run the test suite across Python 3.9, 3.10, 3.11, and 3.12.
- Remove Python 3.8 from the lint matrix unless project metadata is intentionally changed to support it again.
- Upgrade
actions/checkoutandactions/setup-pythonto current major versions and pin them to full commit SHAs. - Enable pip dependency caching with the relevant lock or requirements files as cache inputs.
- Keep linting and tests required for pull requests targeting
dev. - Confirm every supported Python version can install the project and complete the test suite.
- Update the advertised Python classifiers if any currently listed version cannot be supported.
Python 3.13 can be added after dependency compatibility is verified; it does not need to block this issue.
Describe alternatives you've considered
- Keep testing only Python 3.10. This is simpler, but it does not substantiate the support range published in project metadata.
- Reduce the declared support range to Python 3.10 only. That would avoid a matrix, but it would unnecessarily narrow compatibility without first testing the currently advertised versions.
- Add Python 3.13 or 3.14 immediately. This may create unrelated dependency work, so it is better handled after the declared 3.9–3.12 range is reliable.
Additional context
The current workflows are .github/workflows/pytest.yml and .github/workflows/flake8.yml. Recent Actions runs are passing, and a repository-wide issue search found no existing ticket covering the Python support matrix or Actions-version modernization.
- Dominant language
- Python
- Stars
- 4.9k
- Forks
- 759
- Avg merge
- 2d 20h
- Merged PRs (30d)
- 3
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from DedSecInside/TorBot
-
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
DedSecInside/TorBot#412 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
DedSecInside/TorBot#411 ·
-
Hacktoberfest Help Wanted Highly Anticipated Feature Idea Med Priority New Feature
DedSecInside/TorBot#317 · 9 comments · 1 assignee ·
-
Enhancement Hacktoberfest Med Priority New Feature Ongoing
DedSecInside/TorBot#315 · 8 comments · 1 assignee ·
-
Add HTML feature OpenGood First Issue Hacktoberfest New Feature
Difficulty 3/5 1-2 days Newbie friendliness 35/100
DedSecInside/TorBot#314 · 20 comments ·
All issues in DedSecInside/TorBot
Similar issues
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
use-agent-os/agent-os#3314 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
BasedHardware/omi#15662 · 1 comment ·
-
documentation help wanted
Difficulty 2/5 1-3 hours Newbie friendliness 90/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
AiursoftWeb/AnduinOS-2#19 ·