Skip to content

Build a new release

Rob Hague edited this page Apr 18, 2025 · 20 revisions

One can use the Nerdbank.GitVersioning CLI tool to prepare the release, i.e. dotnet tool install -g nbgv then nbgv prepare-release but this creates an extra branch and merge commit that we don't really care about.

If one just wants 2 linear commits to bump the version (to stable and to the next prerelease) it is easier just to do it manually, i.e.

    Set version to '2025.0.0'

diff --git a/version.json b/version.json
index 53061a43..7cede5f8 100644
--- a/version.json
+++ b/version.json
@@ -1,6 +1,6 @@
 {
   "$schema": "https://raw.githubusercontent.com/dotnet/Nerdbank.GitVersioning/main/src/NerdBank.GitVersioning/version.schema.json",
-  "version": "2025.0.0-prerelease.{height}",
+  "version": "2025.0.0",
   "assemblyVersion": {
     "precision": "revision"
   },

and

    Set version to '2025.0.1-prerelease.{height}'

diff --git a/version.json b/version.json
index 4e5042af..a020f847 100644
--- a/version.json
+++ b/version.json
@@ -1,6 +1,6 @@
 {
   "$schema": "https://raw.githubusercontent.com/dotnet/Nerdbank.GitVersioning/main/src/NerdBank.GitVersioning/version.schema.json",
-  "version": "2025.0.0",
+  "version": "2025.0.1-prerelease.{height}",
   "assemblyVersion": {
     "precision": "revision"
   },

Push these up to a PR and merge it with rebase-merge (not the usual squash-merge).

Create a GitHub Release targeting the first commit (the stable one). Name the release the same as the version e.g. '2025.0.0' so that NBGV sees the generated tag as a public release.

Optionally, generate an API diff using e.g. https://github.com/PublicApiGenerator/PublicApiGenerator + DiffPlex (+ some manual tuning) or https://github.com/dotnet/sdk/pull/46425 (not merged at the time of writing). Better instructions TBD once there is a better process...

Once published, wait for CI to build the nuget package and upload them to nuget.org. Run the Docs action.

Clone this wiki locally