docs(book): teach the derived release version, and move the template onto it #8
Reference in New Issue
Block a user
No description provided.
Delete Branch "docs/release-cadence"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
What & why
The template shipped the declared-version release engine that the reference module has just abandoned: publish when a push to
mainleavesmodule.jsonat a version with no release yet. A kit that teaches a shape the reference module no longer runs is exactly the rot §2.11 is written against, so both flavours move together.Both workflows —
template/.gitea/workflows/release.ymland its GitHub twin — now run the enginelink,installerandModule-uoshare:feat!:/BREAKING CHANGE→ major,feat:→ minor,fix:/perf:→ patch, nothing releasable → no release, no tag at all → whatmodule.jsondeclares. The tag is the number that ships, and the job writes it into themodule.jsoninside the bundle, with an assertion that the rewrite happened.module.json's version is kept as a floor — a version above the newest tag releases at that version — andworkflow_dispatchis the backdoor for a manifest change with no releasable code behind it.The chapter keeps the declared model in view rather than deleting it, because the reason it was abandoned is the part a reader needs: its cost is paid on every release, the drift it prevents is something review catches anyway, and a week of merged work in the reference module produced no bundle at all. A reader choosing between the two shapes should get the evidence, not just the verdict.
Two fixes carried over from the same pass:
$OUTrather thandist/— which now holds it.Deliberately kept: the
# CHANGE THESEbanner and its two variables, the exclusion list the acceptance run's F4 argued for (the reference module still has the include list; that is its problem, not the template's), and the GitHub twin'sMODULE_SOURCE_HOSTSnote in the changelog.How it was tested
Both plan steps were extracted from the YAML and run against purpose-built git fixtures, with
curlstubbed per scenario:.gitea.githubfeat:since tag0.2.00.2.0fix:since tag0.1.1reuse_tag=truereuse_tag=true0.1.0frommodule.json0.3.00.9.00.1.12.0.02.0.0Both YAML files parse and their steps are in the expected order. The generated changelog was inspected in both, including the GitHub twin's
MODULE_SOURCE_HOSTSline.Repo checks all pass:
No template source, dependency or pinned-core change, so
coreApiand the template build are untouched by this diff.Checklist
AI-assisted contributions (required)
Claude Code (Opus 5). I have reviewed and understandevery change, and take responsibility for it. AI-authored commits are
marked with a
Co-Authored-By/Assisted-Bytrailer.License
(GNU GPL v3.0 or later), and I have the right to contribute it.
Follows RunicGateway/Module-uo#17, recorded in RunicGateway/docs#171.