Prepare Code Freeze
Companion Guidance
Use update-project-version for version semantics, maintain-ci if the freeze
changes nightly or release-branch automation, and prepare-pr before opening
the PR.
Workflow
Assume upstream is the NVIDIA repository remote (NVIDIA/NeMo-Fabric) and
origin is a maintainer's fork.
Confirm the target release version from
upstream/main:Cargo.toml. Derive the release branch asrelease/<major>.<minor>.Prompt for
<next-version>if the user did not provide it. This is the version thatmainmoves to after the release branch is cut.Fetch the latest
mainand create the release branch fromupstream/main:git fetch upstream main git branch release/<major>.<minor> upstream/main git push upstream release/<major>.<minor>If the remote release branch already exists, verify it points where expected before continuing.
Create a PR branch from latest
upstream/main, for exampledocs/code-freeze-<major>.<minor>.Run
just set-version <next-version>to bump all release-versioned package surfaces onmain.Search documentation source for references to the old version and update current-version install commands, package examples, and configuration examples to
<next-version>where appropriate:rg -n '<old-version>' README.md docs examples adapters \ --glob '!docs/reference/api/**' || trueReview matches before changing them. Leave intentional historical references alone, such as release notes, changelogs, generated build output, and third-party dependency attribution entries.
Validate with targeted checks:
just set-version <next-version> cargo check --workspace --locked just build-all just wheels just --fmt --check rg -n '<old-version>' README.md docs examples adapters \ --glob '!docs/reference/api/**' || true git diff --checkAny remaining documentation matches for
<old-version>should be intentional and called out in the PR description.Open a PR targeting
mainusing.github/pull_request_template.md. The PR must mention:- the new release branch
- the nightly alpha branch config update
- the
just set-version <next-version>bump - documentation old-version reference updates or intentional leftovers
- that release-bound PRs now target the new
release/*branch
Guardrails
- Do not create release tags. Code freeze only creates the branch and the main PR.
- Do not target the code-freeze PR at the release branch. It targets
main. - Do not leave uncommitted user changes mixed into the code-freeze PR branch.