and [publication guide](https://forge.maximumdirect.net/base-layer/releasekit/src/commit/23203f235cc414c4ffe0fd3941030eb0c9f9943f/docs/consumers/publish.md).
the [publication guide](https://forge.maximumdirect.net/base-layer/releasekit/src/commit/23203f235cc414c4ffe0fd3941030eb0c9f9943f/docs/consumers/publish.md),
and the [delivery guide](https://forge.maximumdirect.net/base-layer/releasekit/src/commit/23203f235cc414c4ffe0fd3941030eb0c9f9943f/docs/consumers/delivery.md).
The repository selects one default module suite per invocation. The launcher
The repository selects one default module suite per invocation. The launcher
bootstraps the native tool into ignored `.releasekit/` storage and delegates to
uses the root module’s registered tool with native host settings and read-only
its `publish` command.
module metadata.
## Release toolchain
## Release toolchain
The selected release toolchain is **Go 1.26.8**. Each module declares a consumer
The selected release toolchain is **Go 1.26.8**. Each module declares a consumer
minimum of **Go 1.26.0**. Maintainers use Go 1.26.8 for dependency preparation,
minimum of **Go 1.26.0**. Maintainers use Go 1.26.8 for dependency preparation,
candidate validation, and the ReleaseKit bootstrap. The
candidate validation, and ReleaseKit execution. The
[consumer guide](consumers/guide.md#go-compatibility) and
[consumer guide](consumers/guide.md#go-compatibility) and
@@ -67,14 +69,16 @@ its note explains the impact and consumer action. Never reuse a published
version. Each release note starts with a product title and exact version, gives
version. Each release note starts with a product title and exact version, gives
a proportionate summary and compatibility guidance, and ends with immutable
a proportionate summary and compatibility guidance, and ends with immutable
links to that module's local grant, license, and attribution paths. The full tag
links to that module's local grant, license, and attribution paths. The full tag
in each URL includes the integration directory where applicable. Future tag
in each URL includes the integration directory where applicable. For future
URLs need not resolve before publication.
notes, use `https://forge.maximumdirect.net/base-layer/commandkit/src/tag/FULL_TAG/`
followed by the repository-relative path: `COPYRIGHT`, `LICENSE`, and
`docs/oss/attribution.md` for core, or those paths prefixed with the selected
integration directory. Future tag URLs need not resolve before publication.
All three release profiles explicitly select the repository-root `COPYRIGHT`,
All three release profiles explicitly select the repository-root `COPYRIGHT`,
`LICENSE`, and `docs/oss/attribution.md` through `validation.shared_files`.
`LICENSE`, and `docs/oss/attribution.md` through `validation.shared_files`.
ReleaseKit requires these committed files to exist in the candidate even when
ReleaseKit requires these committed files to exist in the candidate. The list
no optional file checks are enabled. The list does not enable content checks
does not expand Go validation scope; see the pinned [profile reference](https://forge.maximumdirect.net/base-layer/releasekit/src/commit/23203f235cc414c4ffe0fd3941030eb0c9f9943f/docs/config.md).
or expand Go validation scope; see the pinned [profile reference](https://forge.maximumdirect.net/base-layer/releasekit/src/commit/23203f235cc414c4ffe0fd3941030eb0c9f9943f/docs/config.md).
Each integration also distributes its own `COPYRIGHT`, `LICENSE`, and
Each integration also distributes its own `COPYRIGHT`, `LICENSE`, and
`docs/oss/attribution.md`. These module-local materials are separate from the
`docs/oss/attribution.md`. These module-local materials are separate from the
@@ -83,10 +87,12 @@ Automatic module file inputs include applicable module-local files and stop at
independent nested-module boundaries. Their inclusion does not itself enable
independent nested-module boundaries. Their inclusion does not itself enable
license or content validation.
license or content validation.
The current profiles enable no optional file checks or additional product
Each profile selects Go formatting, Markdown links, workspace-file and local
checks. Publication runs the selected module's standard offline suite and
replacement checks, and forbids the committed `.releasekit/gitea-token` path.
ReleaseKit's candidate/note and publication guards. The profiles select their
These upstream checks inspect committed inputs; module file selection stops at
physical module directory while using the same repository and endpoint.
independent module boundaries, while the forbidden path covers the repository.
They do not replace domain review. Publication also runs the selected module’s
standard offline suite and ReleaseKit’s candidate/note and publication guards.
## Prepare and publish one candidate
## Prepare and publish one candidate
@@ -100,23 +106,27 @@ future sums.
Then commit the selected module's release note and all intended candidate
Then commit the selected module's release note and all intended candidate
changes on `main`, and publish the candidate commit to `origin`. Set one
changes on `main`, and publish the candidate commit to `origin`. Set one
selector, module directory, and version from the table above, then run:
module directory and version from the table above, then run the corresponding
publication command:
```sh
```sh
module_dir=.
module_dir=.
module_selector=core
module_version=v0.2.0
(cd"$module_dir"&&GOWORK=off GOTOOLCHAIN=local go mod download)
(cd"$module_dir"&&GOWORK=off GOTOOLCHAIN=local go mod download)
# Commit reviewed dependency changes and the selected module's note on main.
# Commit reviewed dependency changes and the selected module's note on main.
Follow the stages in integer order. This is one end-to-end sprint: intermediate
Follow the stages in integer order. This is one end-to-end sprint: intermediate
stages may temporarily leave scripts, tests, and documentation inconsistent.
stages may temporarily leave scripts, tests, and documentation inconsistent.
@@ -199,6 +199,9 @@ upstream tests own publication, credential handling, and hosted reconciliation.
## Stage 4: Align current documentation with the implemented workflow
## Stage 4: Align current documentation with the implemented workflow
**Completed.** The release procedure, project-specific policy, and developer
guidance describe the new launcher, checks, delivery, and recovery workflow.
Update `docs/release.md`, the CommandKit-specific scope in
Update `docs/release.md`, the CommandKit-specific scope in
`docs/policy/release.md`, and release-tooling guidance in `docs/development.md`.
`docs/policy/release.md`, and release-tooling guidance in `docs/development.md`.
Keep adopted general policy text and provenance intact. Change current owners
Keep adopted general policy text and provenance intact. Change current owners
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.