Skip to content

Adopt GitHub Release-based publishing with tag-driven versioning and changelog#419

Merged
ThomasPe merged 5 commits into
mainfrom
copilot/adopt-github-release-process
Apr 7, 2026
Merged

Adopt GitHub Release-based publishing with tag-driven versioning and changelog#419
ThomasPe merged 5 commits into
mainfrom
copilot/adopt-github-release-process

Conversation

Copilot AI commented Apr 7, 2026

Copy link
Copy Markdown
Contributor

This revisits release creation to align package publishing with GitHub’s standard release flow. Releases now originate from GitHub Releases, with versioning derived from the release tag and changelog/release notes managed in one place.

  • Release workflow

    • Replaced the manual workflow_dispatch NuGet publish workflow with a release.published workflow.
    • Validates vX.Y.Z / vX.Y.Z-suffix tags and uses the tag version for build + pack.
    • Publishes the packed artifact to NuGet from the release event.
  • Versioning + package metadata

    • Moved the project from a hardcoded <Version> to <VersionPrefix> so release builds can inject the actual package version.
    • Simplified package release notes metadata to point to CHANGELOG.md and the GitHub Releases page.
    • Included CHANGELOG.md in the NuGet package alongside the existing README.
  • Changelog + GitHub release notes

    • Added CHANGELOG.md as the maintained history for shipped versions and upcoming changes.
    • Migrated the full historical release notes into the new structured changelog format, back to 1.2.0.
    • Added .github/release.yml so GitHub-generated release notes are grouped by release-relevant categories.
  • Repository docs

    • Documented the release flow in README.md:
      1. update CHANGELOG.md
      2. create a GitHub Release with a version tag
      3. let the release workflow publish the matching NuGet version

Example of the new release contract:

on:
  release:
    types: [published]

# tag: v3.0.1
# package version: 3.0.1

Copilot AI linked an issue Apr 7, 2026 that may be closed by this pull request
Copilot AI and others added 3 commits April 7, 2026 09:49
Copilot AI changed the title [WIP] Adopt GitHub standard release process with versioning and changelog Adopt GitHub Release-based publishing with tag-driven versioning and changelog Apr 7, 2026
Copilot AI requested a review from ThomasPe April 7, 2026 09:55
@ThomasPe

ThomasPe commented Apr 7, 2026

Copy link
Copy Markdown
Member

@copilot migrate full changelog to new format.

@ThomasPe ThomasPe marked this pull request as ready for review April 7, 2026 10:05
Copilot AI review requested due to automatic review settings April 7, 2026 10:05
Agent-Logs-Url: https://github.com/wp-net/WordPressPCL/sessions/855df56a-b067-4f8d-a106-50a81a3108d3

Co-authored-by: ThomasPe <4225039+ThomasPe@users.noreply.github.com>

Copilot AI commented Apr 7, 2026

Copy link
Copy Markdown
Contributor Author

@copilot migrate full changelog to new format.

Done in bc16f39. CHANGELOG.md now includes the full historical release history in the new structured format, migrated from the old package release notes metadata.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Aligns WordPressPCL’s NuGet publishing with GitHub’s release flow by making GitHub Releases (and their tags) the source of truth for versioning and publishing.

Changes:

  • Switch NuGet publishing workflow to trigger on release.published, validate vX.Y.Z[-suffix] tags, and inject the tag-derived version into build/pack.
  • Move package versioning to <VersionPrefix> and streamline release notes metadata to reference CHANGELOG.md + GitHub Releases.
  • Add and document CHANGELOG.md and GitHub release-notes configuration (.github/release.yml).

Reviewed changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
WordPressPCL/WordPressPCL.csproj Uses VersionPrefix, simplifies release notes metadata, and includes CHANGELOG.md in the NuGet package.
README.md Documents the new GitHub Release-based publishing process.
CHANGELOG.md Introduces a centralized changelog for release history and upcoming changes.
.github/workflows/publish-nuget.yml Publishes to NuGet on GitHub Release publish, deriving package version from tag.
.github/release.yml Configures GitHub-generated release notes categorization by labels.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread CHANGELOG.md
@ThomasPe ThomasPe merged commit 4595037 into main Apr 7, 2026
3 checks passed
@ThomasPe ThomasPe deleted the copilot/adopt-github-release-process branch April 7, 2026 10:24
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.

Revisit release creation

3 participants