Skip to content

task(workflow): Replace matrix build with GoReleaser for releases#450

Merged
mbrt merged 1 commit intombrt:masterfrom
gene1wood:gha-build-release
Apr 28, 2026
Merged

task(workflow): Replace matrix build with GoReleaser for releases#450
mbrt merged 1 commit intombrt:masterfrom
gene1wood:gha-build-release

Conversation

@gene1wood
Copy link
Copy Markdown
Contributor

Switch the release workflow from a manual matrix build across OS/arch combinations to GoReleaser, triggered via workflow_dispatch with an explicit version input. The workflow now creates the git tag, then delegates artifact building and GitHub release creation to GoReleaser.

Pin all action references to commit hashes (checkout v6.0.2, setup-go v6.4.0, goreleaser-action v7.1.0).

Remove generate_release_notes from .goreleaser.yml as the field is not supported in GoReleaser v2. GitHub's auto-generated release notes can be enabled instead via Settings -> General in the repository.

Relates to #446
Fixes #427

Switch the release workflow from a manual matrix build across OS/arch
combinations to GoReleaser, triggered via workflow_dispatch with an
explicit version input. The workflow now creates the git tag, then
delegates artifact building and GitHub release creation to GoReleaser.

Pin all action references to commit hashes (checkout v6.0.2,
setup-go v6.4.0, goreleaser-action v7.1.0).

Remove generate_release_notes from .goreleaser.yml as the field is not
supported in GoReleaser v2. GitHub's auto-generated release notes can
be enabled instead via Settings -> General in the repository.
@mbrt
Copy link
Copy Markdown
Owner

mbrt commented Apr 27, 2026

Hey @gene1wood thanks for the contribution! How is this supposed to be used? This will both bump the version and create the release, but what about the release notes? Should I manually re-create them after the workflow completes?

Asking because it's not something I can test beforehand really.

@gene1wood
Copy link
Copy Markdown
Contributor Author

How is this supposed to be used?

Sure thing. So when you want to cut a release, you go and trigger the action and in the UI where you trigger the action it prompts for a semver version number. You put in the version you want to give the new release and the action runs.

The action then tags the commit, creates the release and the binaries and writes out the changes (commit messages) in the release notes of the release.

Here's an example of GoReleaser running on the current commit in my fork with a version of 0.11.0-dev that I gave it so you can see what it looks like

https://github.com/gene1wood/gmailctl/releases/tag/v0.11.0-dev

The release notes format isn't rich like your release notes are as it's just a collection of the commit messages. Not sure if that's a deal breaker or not

@mbrt
Copy link
Copy Markdown
Owner

mbrt commented Apr 28, 2026

Ah thanks, it looks good!

I can redo the notes afterward. I think it's fine.

@codecov
Copy link
Copy Markdown

codecov Bot commented Apr 28, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 37.56%. Comparing base (aad45b2) to head (2110ef7).
⚠️ Report is 2 commits behind head on master.

Additional details and impacted files
@@           Coverage Diff           @@
##           master     #450   +/-   ##
=======================================
  Coverage   37.56%   37.56%           
=======================================
  Files          54       54           
  Lines        3663     3663           
=======================================
  Hits         1376     1376           
  Misses       2196     2196           
  Partials       91       91           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@mbrt mbrt merged commit c0d1322 into mbrt:master Apr 28, 2026
4 checks passed
@gene1wood gene1wood deleted the gha-build-release branch April 28, 2026 17:55
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.

Request: Binary release

2 participants