build: raise the pytest floor and cover the Python client in CI - #208
Conversation
requirements.txt pinned pytest 6.2.4, which predates the pythonpath ini setting pytest.ini depends on; anything installing from that file landed back on the collection failure #201 fixed. Both entries become floors rather than exact pins, since this file doubles as the client's declared dependency surface, and requests moves off 2.25.1 at the same time. A python-client job now installs those dependencies and runs pytest on 3.8 and 3.12, so the 107 client tests carry the same weight as the Java suite. The matrix covers the oldest interpreter the README claims and a current one, which is the shape that would have caught the builtin generic fixed in #204. Closes #206 Closes #207 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Self-reviewThe diff was read in full and reviewed against this repository's conventions. No blocking issues were found; three points are recorded below as notes rather than requested changes, since each reflects a deliberate choice made while resolving #206 and #207.
Verification on this branch: This comment was drafted during a Gardener session (https://github.com/Stephenson-Software/gardener). |
Summary
requirements.txtasked for pytest 6.2.4, a release that predates thepythonpathini settingpytest.inidepends on. Anyone installing from that file was returned to the collection failure fixed in pytest fails to collect the Python client tests: pytest.ini's pythonpath does not match the tests' import style #201, which the README had been papering over with a warning. The floor is raised to pytest 7.0.src/main/python, where exact pins fight with consuming applications.requestsmoves off 2.25.1 (December 2020) to 2.32.0 at the same time.python-clientjob is added to.github/workflows/ci.yml. It installsrequirements.txtand runspytest, so the 107 tests undersrc/test/pythonare exercised on every push and pull request instead of by hand.Test plan
pytest— 107 passed locally (Python 3.10.12, pytest 9.1.1)./mvnw test -Bis left to thebuildjob on this branch for its authoritative signalrequests.get/post/patch/deletethroughout, so the version bump is not exercised by test behaviourCloses #206
Closes #207
This PR description was drafted during a Gardener session (https://github.com/Stephenson-Software/gardener).