Skip to content

Publish GitHub releases automatically when the version changes - #57

Merged
Issung merged 3 commits into
developfrom
feature/release-workflow
Nov 7, 2026
Merged

Issung merged 3 commits into
developfrom
feature/release-workflow

Conversation

@Issung

@Issung Issung commented Nov 7, 2026

Copy link
Copy Markdown
Owner

Replaces building, zipping and uploading releases by hand.

How to release: bump <Version> in GChan/GChan.csproj and get it onto develop. The workflow then:

  • builds and zips GChan with packageRelease.ps1 (same zip as before, GChan<version>.zip);
  • tags the commit v<version> and publishes a GitHub release with the zip attached;
  • marks it as a pre-release if the version has a suffix (e.g. 6.6.0-beta), otherwise as the latest release;
  • writes notes listing the commits since the previous v* tag, which you can edit on GitHub afterwards.

It only releases when the version actually changes in a push, and never re-uses an existing tag. Other changes to the project file just build.

Also:

  • Pull requests touching the project file, the script or the workflow get a build-only run, with the zip attached to the run.
  • It can be run by hand from the Actions tab, to retry a failed release or as a dry run that only builds.
  • <Version> is now the only version to bump; AssemblyVersion and FileVersion are derived from it (still 6.5.0.0 for the current version).
  • packageRelease.ps1 now stops if dotnet publish fails, instead of zipping an empty folder.

🤖 Generated with Claude Code

Add a release workflow that builds and zips GChan with packageRelease.ps1 and
publishes it as a GitHub release whenever <Version> in GChan.csproj changes on
develop. A version with a suffix (e.g. 6.6.0-beta) becomes a pre-release, and
the notes list the commits since the previous v* tag. Pull requests touching
the build get a build-only run, and the workflow can be run by hand to retry a
release or as a dry run.

Make <Version> the only version to bump: AssemblyVersion and FileVersion are
now derived from it. Make packageRelease.ps1 fail when publishing fails, read
the project's own <Version> rather than the first one in the file, and hand
its results to the workflow.
@Issung
Issung merged commit 7f392ce into develop Nov 7, 2026
1 check passed
@Issung
Issung deleted the feature/release-workflow branch November 7, 2026 10:33
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