Skip to content

ci: re-land release workflow & version handling (lost from main)#6

Merged
PascalSenn merged 3 commits into
mainfrom
ci/reland-release-assets
Jun 8, 2026
Merged

ci: re-land release workflow & version handling (lost from main)#6
PascalSenn merged 3 commits into
mainfrom
ci/reland-release-assets

Conversation

@PascalSenn

Copy link
Copy Markdown
Member

Why

PR #4 ("Update release workflow and improve version handling") is marked merged on GitHub, but its changes are not present in main and never shipped — the merge commit was dropped when main was subsequently force-pushed/rebased. As a result, the v0.2.6 release ran the old release.yml:

  • ran deprecated @v4 actions → Node 20 deprecation warnings
  • no version injection from the tag
  • uploaded raw publish folders instead of packaged archives
  • no GitHub Release / build-provenance attestation job ran at all

This PR cherry-picks the original work (6652f8c from ci/release-assets-immutable) back onto current main. Cherry-pick applied cleanly with no conflicts.

What this restores

  • SHA-pinned actions bumped to current majors: checkout@v6, setup-dotnet@v5, upload-artifact@v7, download-artifact@v8, attest-build-provenance@v2 (clears the Node 20 deprecation warnings)
  • Version resolved from the git tag and injected via -p:Version= into dotnet publish and dotnet pack, with a command-injection guard on the tag name
  • Packaged release assets.tar.gz (Unix) / .zip (Windows) with if-no-files-found: error
  • release job that creates the GitHub Release and produces a build-provenance attestation (id-token/attestations permissions)
  • Drops the stale hardcoded <Version>0.2.3</Version> from Directory.Build.props (now sourced from the tag everywhere, including the NuGet pack job)

Verification

  • release.yml validates as well-formed YAML
  • Cherry-pick clean against current main (4cf2b70)
  • NuGet pack job confirmed to use -p:Version="$VERSION" from the resolved tag, so removing the hardcoded version is safe

Recommend re-cutting a tag after merge so a release actually ships with this pipeline.

Copilot AI review requested due to automatic review settings June 8, 2026 21:09

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

Restores a previously-lost GitHub Actions release pipeline by reintroducing tag-based version resolution, packaging of published outputs into archives, and a release job that creates a GitHub Release (plus provenance attestation). It also removes the stale hardcoded MSBuild <Version> so versions are consistently sourced from the tag in CI.

Changes:

  • Remove hardcoded <Version> from Directory.Build.props so CI-driven versioning from tags is authoritative.
  • Rework .github/workflows/release.yml to (a) resolve version from tag with a guard, (b) publish + package per-RID artifacts, and (c) create/publish a GitHub Release with checksums and build-provenance attestation.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 3 comments.

File Description
Directory.Build.props Removes stale hardcoded version to rely on tag-injected versioning in CI.
.github/workflows/release.yml Restores/modernizes the release workflow: version resolution, per-RID packaging, release creation, checksum generation, and provenance attestation.

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

Comment thread .github/workflows/release.yml
Comment thread .github/workflows/release.yml Outdated
Comment thread .github/workflows/release.yml
PascalSenn and others added 2 commits June 8, 2026 23:17
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
@PascalSenn PascalSenn merged commit fe4c450 into main Jun 8, 2026
4 checks passed
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.

2 participants