GitHub Releases are the authoritative changelog and the release tag is the single source of package versions. The 0.1.0 versions in the project and client package files are local-build fallbacks only.
- Create the
nugetGitHub environment. - Add a
NUGET_USERenvironment secret containing the nuget.org username. - Add required reviewers to the environment if publishing should require explicit approval.
- Configure a trusted publishing policy on nuget.org with:
- Repository owner:
thebuilder - Repository:
web-analytics - Workflow:
publish-nuget.yml - Environment:
nuget
- Repository owner:
- Create a GitHub Release from the commit to publish.
- Give it a unique prerelease tag such as
v0.2.0-preview.1. - Select Set as a pre-release.
- Publish the release.
The workflow publishes the prerelease package to nuget.org. NuGet versions are immutable, so bump the prerelease number for every publish.
- Create a GitHub Release from the commit to publish.
- Give it a new SemVer tag such as
v0.2.0. - Ensure Set as a pre-release is not selected.
- Publish the release.
Publishing the release triggers the workflow. It strips the optional leading v, verifies the client, .NET projects, sample, docs, generated Umbraco manifest, NuGet metadata, and release-notes URL, then pushes that exact verified artifact to nuget.org with a short-lived OIDC credential. Tag v0.1.0-preview.1 produces version 0.1.0-preview.1 everywhere, with its NuGet release notes pointing at that GitHub Release.
The GitHub Release type and version must agree: prereleases require a prerelease version, and stable releases require a stable version.