pyproject.toml declares requires-python = ">=3.12,<3.15", but no workflow tests that range:
main.yml runs 3.12 and 3.13
pr_code_changes.yaml runs 3.12 and 3.14
So 3.13 is never exercised on a pull request, and 3.14 is never exercised on main. A break on either version reaches users without CI noticing.
The matrix is also tiered in a way that is easy to miss: the 3.12 leg runs only test_smoke_qrf.py and test_basic.py, two tests, rather than the full suite of 192. The full suite effectively runs on one version.
Suggested fix
Run the same declared range in both workflows, and run the full suite on more than one version.
Also worth surfacing while in here: coverage is uploaded to Codecov with fail_ci_if_error: false, there is no codecov.yml, and no README badge — so there is no visible coverage figure, which a JOSS reviewer will look for.
pyproject.tomldeclaresrequires-python = ">=3.12,<3.15", but no workflow tests that range:main.ymlruns 3.12 and 3.13pr_code_changes.yamlruns 3.12 and 3.14So 3.13 is never exercised on a pull request, and 3.14 is never exercised on main. A break on either version reaches users without CI noticing.
The matrix is also tiered in a way that is easy to miss: the 3.12 leg runs only
test_smoke_qrf.pyandtest_basic.py, two tests, rather than the full suite of 192. The full suite effectively runs on one version.Suggested fix
Run the same declared range in both workflows, and run the full suite on more than one version.
Also worth surfacing while in here: coverage is uploaded to Codecov with
fail_ci_if_error: false, there is nocodecov.yml, and no README badge — so there is no visible coverage figure, which a JOSS reviewer will look for.