diff --git a/docs/release.md b/docs/release.md index 8f445f8..10dc6e7 100644 --- a/docs/release.md +++ b/docs/release.md @@ -100,10 +100,33 @@ standard offline suite and ReleaseKit’s candidate/note and publication guards. Prepare dependencies in the selected module before the candidate is finalized. Do this after the preceding CommandKit module has been published and before the selected candidate suite is run. For `core`, run the command at the repository -root; for integrations, run it from that module directory. Commit any resulting -`go.mod` or `go.sum` changes with the release candidate. The sum files must -reflect dependencies actually downloaded for that module; do not fabricate -future sums. +root; for integrations, run it from that module directory. + +Before downloading dependencies, update each integration to the newly published +CommandKit versions. `go mod download` downloads the versions already selected; +it does not upgrade requirements. Replace the version placeholders below with +the actual published versions, which may differ between modules: + +```sh +# After publishing core, prepare ckconfig from its module directory. +GOWORK=off GOTOOLCHAIN=local go get go.maximumdirect.net/commandkit@vCORE_VERSION + +# After publishing ckconfig, prepare ckprompt from its module directory. +GOWORK=off GOTOOLCHAIN=local go get \ + go.maximumdirect.net/commandkit@vCORE_VERSION \ + go.maximumdirect.net/ckconfig@vCKCONFIG_VERSION +``` + +Run only the command for the integration being prepared. In the current release +sequence, ckprompt needs a ckconfig release containing `AdaptDiagnostics`; +ckconfig v0.4.0 does not contain it. Validate the integration with the workspace +disabled against its updated requirements, using the selected module's release +validation below. An aligned workspace can hide an outdated dependency. + +Review and commit the resulting `go.mod` and `go.sum` changes with the release +candidate, and make its release note agree with the selected versions. The sum +files must reflect dependencies actually downloaded for that module; do not +fabricate future sums. Then commit the selected module's release note and all intended candidate changes on `main`, and publish the candidate commit to `origin`. Set one