Repository navigation
Tag package releases in CI and require a version bump (P3) - #91
Merged
Merged
Conversation
A pull request that changes a package's directory now fails unless it raises that package's version above the last one. On main, a release job tags <package-dir>/v<version> for every version without a tag, at the last commit that touched the directory. Manifests are validated against SharpMUSH main and, once one exists, SharpMUSH's latest release tag. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Rqqt7UboEPqDhRV5S7thiu
|
Warning Review limit reached
This review includes 3 billable files and costs up to $0.75.
Reviews can continue after your included limit without a manual trigger. An admin must approve usage-based billing. Or wait 8 minutes for your next included review. View limit details
|
HarryCordewener
marked this pull request as ready for review
November 6, 2026 18:28
- check-bumps diffs with --no-renames -z, so a file moved out of a package counts as a change to it. - pending-tags fails when a tagged version's directory changed after its tag (two merged PRs that raised the same package to the same version); the release job still pushes the other tags, then fails. - Tags are pushed with --atomic; the engine-refs step runs with pipefail so a failed ls-remote fails the job instead of dropping the release ref. - Prerelease identifiers count as numeric only when ASCII digits, as PackageVersion does. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Rqqt7UboEPqDhRV5S7thiu
…-55hjfh # Conflicts: # .github/workflows/validate.yml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Requested by Grave · project thread
Workstream P3 of the 1.0 readiness plan (audit-packages.md §8: nothing creates release tags, most packages have none, CI only checks engine
main).What changes
checksjob, pull requests only).tools/release/packages.py check-bumpsfails a PR that changes any file in a package directory (renames counted on both sides) without raising that package'sversionabove the merge base's, or whose new version is already tagged. New packages pass. Versions compare as the engine'sPackageVersiondoes (SemVer 2 prerelease order).mainandworkflow_dispatch, aftervalidateandchecks).pending-tagslists every package version onmainwith no<dir>/v<version>tag, tagged at the last commit that touched the directory; the job creates annotated tags and pushes them in one--atomicpush withGITHUB_TOKEN(contents: write). If a tagged version's directory changed later without a bump (for example two PRs raised the same package to the same version), the job still pushes the other tags, then fails with an error naming the package.validateruns against SharpMUSHmain(orvars.SHARPMUSH_REF) and, once one exists, SharpMUSH's latestvX.Y.Ztag. There is none today, so onlymainruns until v1.0.0 is tagged.Read before merging
roll-tables/v1.0.0already matches;pf2e-remastergetsv1.6.3. Theprotect-release-tagsruleset blocks moving or deleting them afterwards. It has no creation rule, soGITHUB_TOKENcan push them; no secret is needed.validatetovalidate (SharpMUSH main). If classic branch protection requires the old name, update the required check.Testing
check-bumps b42fdc6~1 b42fdc6fails onpf2e(subcategory edit without a bump); a README-only change fails; a file moved from one package into another fails for the package it left.--no-renames,--atomic,pipefail, drift as error, ASCII digits); the second found none.🤖 Generated with Claude Code
https://claude.ai/code/session_01Rqqt7UboEPqDhRV5S7thiu