Skip to content

Automate releases with release-please #88

@vaceslav

Description

@vaceslav

Summary

Replace the manual release process with release-please GitHub Action to automate versioning, changelog generation, and GitHub Release creation.

Current Process (manual)

  1. Decide version bump
  2. Update <Version> in .csproj
  3. Update <PackageReleaseNotes> in .csproj
  4. Move changelog entries from [Unreleased] to versioned section
  5. Commit chore: prepare release vX.Y.Z
  6. Tag & create GitHub Release
  7. 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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions