feat: automated versioning and workflow_dispatch release process#79
Draft
McNultyyy wants to merge 2 commits into
Draft
feat: automated versioning and workflow_dispatch release process#79McNultyyy wants to merge 2 commits into
McNultyyy wants to merge 2 commits into
Conversation
- Add nuget-version.yaml (major/minor only) as version source - Remove hardcoded version from src/Directory.Build.props; local builds produce 0.0.0-local - Rewrite release.yml: workflow_dispatch trigger, auto-computed patch from GitHub release history, concurrency serialisation, beta support from non-main branches - Update ci.yml: add version-preview job (PR-only, path-filtered to src/props/nuget-version.yaml changes) showing next beta and stable version in step summary - Update AGENTS.md to reflect new no-tag, no-version-bump workflow Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
McNultyyy
marked this pull request as draft
June 1, 2026 18:12
Move duplicated version bash logic from ci.yml and release.yml into .github/actions/compute-nuget-version/action.yml. Outputs: stable-version, beta-version, last-patch. Both workflows now delegate to the action and use the outputs directly. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Replaces the manual tag-push release process with a fully automated,
workflow_dispatch-driven approach.What changed
nuget-version.yaml(new)A single file at the repo root containing only
majorandminor. This is the only file you ever need to edit for a major or minor version bump. Patches auto-increment.src/Directory.Build.propsRemoved the hardcoded
<Version>4.0.20</Version>. Local builds now produce0.0.0-local. CI/release always pass-p:Version=X.Y.Zat build time.release.yml(rewritten)workflow_dispatch)Prerelease (beta)checkbox (default: unchecked)vX.Y.*GitHub release tag and adds 1group: release, cancel-in-progress: false— parallel triggers queue safely, preventing version collisionsmain; beta release from any branch or when the prerelease checkbox is tickedX.Y.Z-beta.N.sanitised-branch-name_build-and-test.yml+_windows-parity.yml) before publishing.nupkg+.snupkgassetsci.yml(updated)Added a
version-previewjob that runs only on PRs and only whensrc/,*.props, ornuget-version.yamlfiles changed. It shows the next beta and stable version in the workflow step summary — no auto-publishing.AGENTS.md(updated)Updated the Versioning & Release and Publishing & Releases sections to reflect the new process.
How to release
Stable: merge to
main, go to Actions → Release, click Run workflow (leave Prerelease unchecked).Beta: push your branch, go to Actions → Release, select your branch, tick Prerelease.
Major/minor bump: edit
nuget-version.yaml, merge tomain, trigger release as normal.