A patch release covering the release pipeline itself. No library, server, or
CLI behavior changed.
Fixed
- Releases publish to crates.io. The release workflow had no
cargo publish
step at all, so the registry behind the README's own first quickstart command
(cargo install wovyr-cli) only ever advanced when somebody ran it by hand —
it sat at0.3.2while the repo, the README badge, and/healthzall
reported0.4.0. A newcratesjob publishes every publishable workspace
member withcargo publish --workspace, which derives the upload order from
the dependency graph rather than a hand-maintained list, behind a
sparse-index pre-flight that excludes anything already published at its
current version — so a partial run is recovered by re-running the job instead
of by hand. - The npm and PyPI publish steps can run at all. Both bound their token to
the step's ownenv:and then tested it in that same step'sif:— a
condition that can never be true, since secrets cannot be referenced from
if:and a step'senv:is not populated when itsif:is evaluated. Both
steps reportedskippedon every release run that has ever existed (v0.3.1,
v0.3.2, v0.4.0) while the job and the workflow still went green, which is why
every version currently live on npm and PyPI was in fact published manually.
The token check moved inside each script, where a skip leaves an explanatory
log line, and both publishes are now idempotent
(twine upload --skip-existing, plus annpm viewpre-check since npm has no
equivalent flag). @wovyr/angular's version tests no longer assert the wrong generation.
They hardcoded0.3.xas the matching series and0.4.0as a mismatch, so
both inverted and began failing the momentTARGET_SERVER_VERSIONmoved to
0.4.x— undetected, because that package has no CI job. The fixtures now
derive fromTARGET_SERVER_VERSION, so they stay correct across future bumps.