Skip to content

feat: mark GitHub releases as prereleases for prerelease versions - #19

Merged
kieronlanning merged 1 commit into
mainfrom
feat/prerelease-release-flag
Sep 27, 2026
Merged

kieronlanning merged 1 commit into
mainfrom
feat/prerelease-release-flag

Conversation

@kieronlanning

Copy link
Copy Markdown
Contributor

Summary

Creates the GitHub release as a prerelease when the package version is a prerelease (for example 2.0.0-prerelease.25), so prerelease builds are no longer presented as the latest stable release.

Changes

  • ReleaseSettings: new MarkPrerelease setting (default rue) plus ShouldMarkPrerelease(NuGetVersion).
  • CreateGitHubReleaseModule: passes Prerelease = to the release creation and logs the outcome.
  • �ppsettings.json: documents the new Release:MarkPrerelease default.
  • Docs: added the setting to the configuration reference and described the behaviour in the pipeline-modules page.
  • Tests: ReleaseSettingsTests covers prerelease version + defaults, stable version, and MarkPrerelease = false.

Why

Consumers publish -prerelease.* versions to NuGet, but the GitHub release was always created as a stable release, so every prerelease appeared as Latest. Release metadata is owned by the tool, so the behaviour belongs here rather than in consumer workflows.

Validation

  • dotnet build src/Build.slnx -c Release --warnaserror -> 0 warnings, 0 errors.
  • dotnet csharpier check . -> clean.
  • dotnet test src/tests/Build.IntegrationTests -> 58 passed, 0 failed.

Rollout note

Consumers install the latest stable Purview.Build from nuget.org, so this takes effect for consumer pipelines once a new tool version is published.

@kieronlanning
kieronlanning enabled auto-merge (squash) September 27, 2026 12:01
@kieronlanning
kieronlanning merged commit 7435d93 into main Sep 27, 2026
1 check passed
@kieronlanning
kieronlanning deleted the feat/prerelease-release-flag branch September 27, 2026 12:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant