pkg/clusterversion/runbooks/R1_prepare_for_beta.md
When preparing for a beta release (e.g., 25.4 beta1), the following files must be updated:
R.1 changes must land immediately after the release branch is cut, so it's
common to prepare the PR in advance. When release-X.Y doesn't exist yet:
r1-prepare-beta-X.Y.master — this makes the changes reviewable
before the branch exists.do-not-merge label to the draft PR so it isn't accidentally
merged into master.release-X.Y is cut, repoint the PR's base branch from master
to release-X.Y using the GitHub UI or:
gh pr edit <PR_NUMBER> --base release-X.Y --repo cockroachdb/cockroach
do-not-merge label and mark the PR ready for review.Set Development Branch Flag:
pkg/clusterversion/cockroach_versions.goconst DevelopmentBranch = false (line ~334)Update Version String:
pkg/build/version.txtv25.4.0-alpha.2 → v25.4.0-beta.1)Run the following command to update generated documentation:
./dev gen docs
This updates:
docs/generated/settings/settings-for-tenants.txtdocs/generated/settings/settings.htmlSystem Schema Tests: Run this command to regenerate bootstrap test data:
./dev test pkg/sql/catalog/systemschema_test --rewrite
This updates:
pkg/sql/catalog/systemschema_test/testdata/bootstrap_systempkg/sql/catalog/systemschema_test/testdata/bootstrap_tenantBootstrap Hash Test: Run this command and manually update hash values if the test fails:
./dev test pkg/sql/catalog/bootstrap --rewrite -f TestInitialValuesToString
If the rewrite fails, manually update the hash values in:
pkg/sql/catalog/bootstrap/testdata/testdata
system hash= valuetenant hash= valueDeclarative Rules Tests:
File: pkg/cli/testdata/declarative-rules/deprules
debug declarative-print-rules 25.2 dep → debug declarative-print-rules 25.3 dep)File: pkg/cli/testdata/declarative-rules/invalid_version
25.2, 25.3 not 1000025.x)Internal Catalog Test:
pkg/sql/logictest/testdata/logic_test/crdb_internal_catalogmajorVal from 1000025 to 25 in systemDatabaseSchemaVersion entriesFor reference, see PR #148382 which demonstrates the complete set of changes needed for beta release preparation.
A typical beta release preparation should modify approximately 10-12 files:
pkg/clusterversion/cockroach_versions.gopkg/build/version.txtdocs/generated/settings/settings-for-tenants.txtdocs/generated/settings/settings.htmlpkg/sql/catalog/systemschema_test/testdata/bootstrap_systempkg/sql/catalog/systemschema_test/testdata/bootstrap_tenantpkg/sql/catalog/bootstrap/testdata/testdatapkg/cli/testdata/declarative-rules/deprulespkg/cli/testdata/declarative-rules/invalid_versionpkg/sql/logictest/testdata/logic_test/crdb_internal_catalogAfter making all changes:
./dev test pkg/sql/catalog/bootstrap -f TestInitialValuesToString25.3) not the long format (e.g., 1000025.3)