From b47634fdbda5d6df1bed6d644a93b44f82f8acdd Mon Sep 17 00:00:00 2001 From: Glenn Watson <5834289+glennawatson@users.noreply.github.com> Date: Sat, 27 Jun 2026 03:03:26 +1000 Subject: [PATCH] ci(release): add alpha/beta/rc release channel Add a 'channel' dispatch input (none/alpha/beta/rc) wired to the reusable release workflow's preRelease. bump + channel cuts an auto-incrementing pre-release (e.g. major + beta -> 6.0.0-beta.1, 6.0.0-beta.2); channel=none finalises the stable version. Flags pre-release GitHub releases so the latest stable stays "Latest". --- .github/workflows/release.yml | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 8f82feac38..b40be8c18e 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -12,6 +12,17 @@ on: - minor - major + channel: + description: 'Release channel. none = stable RTM; alpha/beta/rc cut a pre-release (e.g. major + beta -> 6.0.0-beta.1, then 6.0.0-beta.2). Finalise by re-running with the same bump and channel=none.' + required: true + default: none + type: choice + options: + - none + - alpha + - beta + - rc + sourceRef: description: 'Optional git ref (tag/branch/SHA) to release from. Leave blank to release from this branch (normally main).' required: false @@ -29,6 +40,9 @@ jobs: solutionFile: reactiveui.slnx installWorkloads: true bump: ${{ inputs.bump }} + # 'none' is the choice-input sentinel for a stable release (choice options + # can't be empty); the reusable workflow wants an empty channel for RTM. + preRelease: ${{ inputs.channel != 'none' && inputs.channel || '' }} ref: ${{ inputs.sourceRef }} secrets: CERTUM_USER_ID: ${{ secrets.CERTUM_USER_ID }} @@ -71,3 +85,4 @@ jobs: version: ${{ needs.release.outputs.semver2 }} tag: ${{ needs.release.outputs.tag }} target: ${{ needs.release.outputs.sourceSha }} + prerelease: ${{ needs.release.outputs.prerelease == 'true' }}