Repository navigation
Docket 0.2.1
2026-10-20
Fixed
-
The release gate installs the package under test.
.github/workflows/release.ymlran
the whole suite against a tree whose package was never installed, sotests/test_action.py
andtests/test_packaging.pyfailed withdocket: command not found— exit 127, which is
not a verdict about the tag and reads like one. 0.2.0 was published with a release check
that had never passed. This is the same omission the CItestsjob had, fixed there first
and missed here. -
The packaging tests measure the version the tree declares.
tests/test_packaging.py
pinned the version as a literal, and its pipx test resolved the binary with
shutil.which("docket")after a successful install — which finds whicheverdocketis
already onPATH, not the one pipx just made. It passed on every clean machine and failed
on the release candidate. The install is now directed into a throwawayPIPX_HOMEand
PIPX_BIN_DIR, and the binary is taken from that directory.
Added
tests/test_release_workflow.py, which holds the release gate to the same standard as
the push gate: the package is installed and installed before the suite runs, the release
job's test dependencies are the CItestsjob's, the gate runs thetestsdirectory
rather than a subset, it prints its counts, a tag with no changelog section fails the job,
the workflow uploads nothing to PyPI and carries no PyPI credential, and the GitHub
release uses the run-scoped token. Eight mutations, all caught.
No change to the shipped code: git diff 0.2.0..0.2.1 -- src/ is empty, which is why 0.2.1
exists — so that the newest tag, the newest release and a green gate name the same commit.