Files
jmelovich 61f23e44cd Commit contentVersion before tagging, as the catalog requires
My previous commit had CI stamp contentVersion into the artifact at build time
and deliberately leave the committed sce_sys/param.json at a baseline. Reading
ps5-homebrew-catalog's docs/versioning.md shows that is the one thing that does
not work.

Rule 4 there is "keep param.json in your repository, with the value the release
actually ships, in the commit your release tag points at", and the submission
check searches the repository *at the release tag* for it. A console finds
updates by comparing its installed contentVersion with the catalog's
content_version, which is read from that committed file - not from the ZIP. So
stamping only the artifact would have listed every release with contentVersion
01.000.000 and produced the documented failure "contentVersion is still
01.000.000: listed, but consoles won't see it as an update". Exactly the outcome
the stamping was meant to prevent.

Invert it. tools/release.sh bumps contentVersion, commits that, then tags, which
is the order docs/versioning.md's own release checklist gives. It refuses a
dirty tree, a detached HEAD, an existing tag and a version that is not actually
a bump, because each of those produces a tag that cannot be reproduced or a
release consoles ignore. tools/set-content-version.sh grows a --check mode that
verifies without writing, and CI now runs that on a tag instead of stamping:
if the committed value and the tag disagree the release fails loudly, naming
the command to fix it, rather than publishing something subtly inert.

Tested: --check passes on a match, exits non-zero on a mismatch and writes
nothing; release.sh refuses a dirty tree and a duplicate tag, and on a clean
tree produces the bump commit plus the annotated tag. make test: 13 tests pass.
2026-10-10 13:15:56 -07:00
..