DedSecInside / DedSecInside/TorBot
Modernize Python CI matrix and GitHub Actions
- Dominant language
- Python
- Stars
- 4.9k
- Forks
- 755
- Avg merge
- 2d 20h
- Merged PRs (30d)
- 3
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.yml` runs only on Python 3.10.
- `flake8.yml` runs on Python 3.8, 3.9, and 3.10 even though the documented minimum is now 3.9.
- Both workflows still use `actions/checkout@v3` and `actions/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/checkout` and `actions/setup-python` to 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.
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.