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 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. describes its requirements.
Run the single publication command with the chosen version: 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 state, including the captured publication endpoint when available. Use that
endpoint—not merely the current `origin` URL—to query the exact tag; follow the endpoint—not merely the current `origin` URL—to query the exact tag; follow the
upstream 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 ```sh
releasekit_endpoint='COPY_CAPTURED_ENDPOINT' releasekit_endpoint='COPY_CAPTURED_ENDPOINT'

View File

@@ -1,6 +1,8 @@
# ReleaseKit v0.3.0 Upgrade Roadmap # 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 ## Purpose
@@ -12,7 +14,7 @@ wrappers, and product-specific checks locally.
This is a focused tooling upgrade, not another release-process migration. This is a focused tooling upgrade, not another release-process migration.
The [release policy](../policy/release.md) and The [release policy](../policy/release.md) and
[release procedure](../release.md) continue to own PromptKit's release [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 ## 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 duplicated version pin, and current documentation agrees with the adopted
tool. No real tag publication is part of implementation verification. Future tool. No real tag publication is part of implementation verification. Future
PromptKit release preparation remains a separate task under the runbook. 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 ( 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 github.com/yuin/goldmark/v2 v2.1.6 // indirect
go.yaml.in/yaml/v4 v4.0.0-rc.6 // indirect go.yaml.in/yaml/v4 v4.0.0-rc.6 // indirect
golang.org/x/mod v0.40.0 // 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 h1:2KwG10+kApWM3avOoYA+p768xcbHUp7tQ2rqizBNpyg=
gitea.maximumdirect.net/eric/ConfigKit v0.5.0/go.mod h1:tYWpsrbLyu05r8+1MapWp5fN6ZrX9I8hU2xEPedYmYk= 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.3.0 h1:aTMn+50MEpHpHI2RoCCmJYsy7Ohrpa+RSva63Kq0/tU=
gitea.maximumdirect.net/eric/ReleaseKit v0.2.0/go.mod h1:xN8w1OWjhCwtDxyHVFbKxFWowuEPbMTCZrf0JIIm9pE= 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 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-openrouter/v3 v3.20260930.0/go.mod h1:HjS0f+3q0IdHCTEz+VVAEgIwIWJFAZUjuKdAtvtqKdg=
gitea.maximumdirect.net/eric/promptkit-backend-rakestrawhome/v3 v3.20260930.0 h1:h12ZTRldAmpLAomj0oQRGteFxHLN1LPE6XDl9zJNbm8= 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): 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" publication = repository / "scripts/release.sh"
run( run(
[str(publication), RELEASE_VERSION], [str(publication), RELEASE_VERSION],
@@ -249,9 +254,11 @@ def verify_publication(repository, remote, temporary_root, environment, module_b
first_line = build_info.splitlines()[0] first_line = build_info.splitlines()[0]
if selected_go not in first_line: if selected_go not in first_line:
raise RuntimeError(f"tool was built with {first_line!r}, expected {selected_go}") 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: 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() candidate = repo_git(repository, environment, "rev-parse", "HEAD").strip()
if repo_git(repository, environment, "rev-parse", "main").strip() != candidate: if repo_git(repository, environment, "rev-parse", "main").strip() != candidate: