Upgrade the release tooling to ReleaseKit v0.3.0

This commit is contained in:
2026-10-09 03:48:52 +00:00
parent dc0adf5751
commit 03c44923c8
5 changed files with 27 additions and 9 deletions

View File

@@ -74,7 +74,7 @@ For an optional local diagnostic of a committed candidate, run:
```
This is not a required step before publication. The upstream
[candidate-check contract](https://gitea.maximumdirect.net/eric/ReleaseKit/src/tag/v0.2.0/docs/consumers/check.md)
[candidate-check contract](https://gitea.maximumdirect.net/eric/ReleaseKit/src/tag/v0.3.0/docs/consumers/check.md)
describes its requirements.
Run the single publication command with the chosen version:
@@ -114,7 +114,7 @@ resolved. ReleaseKit reports the attempted version, tag object, and recovery
state, including the captured publication endpoint when available. Use that
endpoint—not merely the current `origin` URL—to query the exact tag; follow the
upstream
[failure-recovery procedure](https://gitea.maximumdirect.net/eric/ReleaseKit/src/tag/v0.2.0/docs/release.md#resolve-failures):
[failure-recovery procedure](https://gitea.maximumdirect.net/eric/ReleaseKit/src/tag/v0.3.0/docs/release.md#resolve-failures):
```sh
releasekit_endpoint='COPY_CAPTURED_ENDPOINT'

View File

@@ -1,6 +1,8 @@
# ReleaseKit v0.3.0 Upgrade Roadmap
Status: Accepted; implementation pending.
Status: Complete. ReleaseKit v0.3.0 is selected and the upgraded integration
is verified. Current workflow requirements belong in the
[release procedure](../release.md) and [release policy](../policy/release.md).
## Purpose
@@ -12,7 +14,7 @@ wrappers, and product-specific checks locally.
This is a focused tooling upgrade, not another release-process migration.
The [release policy](../policy/release.md) and
[release procedure](../release.md) continue to own PromptKit's release
requirements and workflow. A separate implementation plan will own staged work.
requirements and workflow. The upgrade was implemented as one focused unit.
## Current Baseline And Reviewed Upstream
@@ -111,3 +113,12 @@ Completion means v0.3.0 is selected, wiring verification passes without a
duplicated version pin, and current documentation agrees with the adopted
tool. No real tag publication is part of implementation verification. Future
PromptKit release preparation remains a separate task under the runbook.
Implementation verification passed with Go 1.26.8: the module-selected wrapper
reported `releasekit v0.3.0`, the disposable publication and failure fixtures
passed, and the ordinary offline Go suite, full vet, and maintained consumer
examples passed. The fixtures also verified native usage status, same-Go
bootstrap, and unchanged candidate module metadata. Release profile and wrapper
contents are unchanged; no real PromptKit tag was published. Upstream notices
were reviewed; the tooling-only upgrade introduced no incorporated material
requiring a new attribution entry.

2
go.mod
View File

@@ -10,7 +10,7 @@ require (
)
require (
gitea.maximumdirect.net/eric/ReleaseKit v0.2.0 // indirect
gitea.maximumdirect.net/eric/ReleaseKit v0.3.0 // indirect
github.com/yuin/goldmark/v2 v2.1.6 // indirect
go.yaml.in/yaml/v4 v4.0.0-rc.6 // indirect
golang.org/x/mod v0.40.0 // indirect

4
go.sum
View File

@@ -1,7 +1,7 @@
gitea.maximumdirect.net/eric/ConfigKit v0.5.0 h1:2KwG10+kApWM3avOoYA+p768xcbHUp7tQ2rqizBNpyg=
gitea.maximumdirect.net/eric/ConfigKit v0.5.0/go.mod h1:tYWpsrbLyu05r8+1MapWp5fN6ZrX9I8hU2xEPedYmYk=
gitea.maximumdirect.net/eric/ReleaseKit v0.2.0 h1:EACELngRel4RiulR+Ors56nMZ5fA9orJDyhPxn6UVe4=
gitea.maximumdirect.net/eric/ReleaseKit v0.2.0/go.mod h1:xN8w1OWjhCwtDxyHVFbKxFWowuEPbMTCZrf0JIIm9pE=
gitea.maximumdirect.net/eric/ReleaseKit v0.3.0 h1:aTMn+50MEpHpHI2RoCCmJYsy7Ohrpa+RSva63Kq0/tU=
gitea.maximumdirect.net/eric/ReleaseKit v0.3.0/go.mod h1:LVodqNQ3OIKv9NBq+fFeyMByd1lHY25YOmmpah/NaNI=
gitea.maximumdirect.net/eric/promptkit-backend-openrouter/v3 v3.20260930.0 h1:lzfCDbzJQRGzIlRPRprnAV9hVVL5zUQy80VMQ0kbYa0=
gitea.maximumdirect.net/eric/promptkit-backend-openrouter/v3 v3.20260930.0/go.mod h1:HjS0f+3q0IdHCTEz+VVAEgIwIWJFAZUjuKdAtvtqKdg=
gitea.maximumdirect.net/eric/promptkit-backend-rakestrawhome/v3 v3.20260930.0 h1:h12ZTRldAmpLAomj0oQRGteFxHLN1LPE6XDl9zJNbm8=

View File

@@ -216,6 +216,11 @@ def prepare_repository(repository, remote, environment, module_bytes, version):
def verify_publication(repository, remote, temporary_root, environment, module_bytes, selected_go):
selected_releasekit = run(
["go", "list", "-mod=readonly", "-m", "-f", "{{.Version}}", RELEASEKIT_MODULE],
cwd=repository,
environment=environment,
).strip()
publication = repository / "scripts/release.sh"
run(
[str(publication), RELEASE_VERSION],
@@ -249,9 +254,11 @@ def verify_publication(repository, remote, temporary_root, environment, module_b
first_line = build_info.splitlines()[0]
if selected_go not in first_line:
raise RuntimeError(f"tool was built with {first_line!r}, expected {selected_go}")
expected_module = f"\tmod\t{RELEASEKIT_MODULE}\tv0.2.0\t"
expected_module = f"\tmod\t{RELEASEKIT_MODULE}\t{selected_releasekit}\t"
if expected_module not in build_info:
raise RuntimeError("bootstrap executable does not record ReleaseKit v0.2.0")
raise RuntimeError(
f"bootstrap executable does not record selected ReleaseKit {selected_releasekit}"
)
candidate = repo_git(repository, environment, "rev-parse", "HEAD").strip()
if repo_git(repository, environment, "rev-parse", "main").strip() != candidate: