Add local QA helpers and python 3.13/trixie support#20
Conversation
There was a problem hiding this comment.
Pull request overview
Note
Copilot was unable to run its full agentic suite in this review.
Adds a Docker-based local QA environment with a pinned dependency lockfile, documentation for running checks in the container, and tweaks the existing tox and check.sh setup to better support isolated testing.
Changes:
- New
Dockerfile.testing+requirements-dev.lockproviding a reproducible dev/test image driven byuv. - New
LOCAL_QA.mddocumenting how to build and run QA targets inside the container. tox.iniswitched toskip_install+ manualpip install --no-depsto avoid pulling hardware-specific deps;check.shexportsTERM.
Reviewed changes
Copilot reviewed 4 out of 5 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| Dockerfile.testing | New image: uv + Python 3.11, system tools, non-root appuser, installs from lockfile. |
| requirements-dev.lock | New uv-generated lockfile pinning all dev deps for Python 3.11. |
| LOCAL_QA.md | New docs describing build/run commands and lockfile regeneration. |
| tox.ini | Skips install and instead does pip install --no-deps in commands_pre; also skip_install for qa. |
| check.sh | Exports TERM so subprocesses inherit the value. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
Whew, thank you, might take me a while to get to this since I'm buried in Pico stuff at the moment. I also really ought to play with uv more. |
|
I ended up somewhat roflstomping this in #21 since I had a whole bunch of bugbears with the current packaging setup that I haven't been happy with for a while. I'm not sure about Docker... mostly because I hate it for reasons I can't really elucidate. It's not so much that I wouldn't want to include it (I'll take pragmatism over taste where I can), as that I wont be able to maintain it because I'd have no idea what I'm doing. |
|
Roflstomping is a new phrase on me! :) Perhaps for pragmatism - after taking alook at the changes in #21 , I can split this into parts, so you can take what you'd like from it. My choice of docker was the isolated debian environments to try make things Pi-like in a host testing environment - my usual testing ground is Ubuntu (in wsl) so also Debian like. I'm not wedded to it. |
This is a port of pimoroni/inventorhatmini-python#16 to the boilerplate.
A couple of whys
Mostly Developer Experience (devx) to make fixing the ci failures a bit easier.
Testing