Summary
Replace the manual release process with release-please GitHub Action to automate versioning, changelog generation, and GitHub Release creation.
Current Process (manual)
- Decide version bump
- Update
<Version> in .csproj
- Update
<PackageReleaseNotes> in .csproj
- Move changelog entries from
[Unreleased] to versioned section
- Commit
chore: prepare release vX.Y.Z
- Tag & create GitHub Release
- NuGet publish triggers automatically
Proposed Change
Add release-please GitHub Action that:
- Reads Conventional Commits to determine version bump (
feat: → minor, fix: → patch)
- Automatically creates/updates a "Release PR" with version bump and changelog
- On merge: creates git tag, GitHub Release, which triggers existing
publish.yml
Benefits
- No manual version bumping or changelog editing
- Version is always consistent with commit history
- Existing NuGet publish workflow (
publish.yml) remains unchanged
- Release PR serves as a review gate before publishing
Trade-offs
- Changelog is generated from commit messages (less curated, but editable in PR)
<PackageReleaseNotes> in .csproj may need extra-files config
Summary
Replace the manual release process with release-please GitHub Action to automate versioning, changelog generation, and GitHub Release creation.
Current Process (manual)
<Version>in.csproj<PackageReleaseNotes>in.csproj[Unreleased]to versioned sectionchore: prepare release vX.Y.ZProposed Change
Add release-please GitHub Action that:
feat:→ minor,fix:→ patch)publish.ymlBenefits
publish.yml) remains unchangedTrade-offs
<PackageReleaseNotes>in.csprojmay need extra-files config