-
Notifications
You must be signed in to change notification settings - Fork 54
ci: automate tagged releases with GoReleaser and GitHub Actions #28
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
appleboy
commented
Jun 28, 2025
- Add a GitHub Actions workflow to automate releases using GoReleaser when tags are pushed
- Introduce a GoReleaser configuration file with build skipping, changelog grouping, and changelog sorting enabled
- Add a GitHub Actions workflow to automate releases using GoReleaser when tags are pushed - Introduce a GoReleaser configuration file with build skipping, changelog grouping, and changelog sorting enabled Signed-off-by: appleboy <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Summary of Changes
Hello @appleboy, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!
This pull request establishes an automated release system for the project by integrating GoReleaser with GitHub Actions. The primary objective is to enable seamless, tag-driven releases with a strong emphasis on generating well-structured and categorized changelogs, while skipping the build of binaries, which is typical for library projects.
Highlights
- Automated Release Workflow: I've introduced a new GitHub Actions workflow designed to automate the release process. This workflow will trigger GoReleaser automatically whenever a new tag is pushed to the repository, streamlining our release pipeline.
- GoReleaser Configuration: A new
.goreleaser.yaml
configuration file has been added. This file sets up GoReleaser to skip binary builds (suggesting this is a library project) and focuses on robust changelog generation. - Structured Changelog Generation: The GoReleaser configuration includes detailed settings for changelog generation. It's configured to use the GitHub API for changelog data, sort entries in ascending order, and group commits into predefined categories such as 'Features', 'Bug fixes', 'Enhancements', and 'Documentation updates' based on commit message patterns.
Using Gemini Code Assist
The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.
Invoking Gemini
You can request assistance from Gemini at any point in your pull request via creating an issue comment (i.e. comment on the pull request page) using either /gemini <command>
or @gemini-code-assist <command>
. Below is a summary of the supported commands.
Feature | Command | Description |
---|---|---|
Code Review | /gemini review |
Performs a code review for the current pull request in its current state. |
Pull Request Summary | /gemini summary |
Provides a summary of the current pull request in its current state. |
Comment | @gemini-code-assist | Responds in comments when explicitly tagged, both in issue comments and review comments. |
Help | /gemini help |
Displays a list of available commands. |
Customization
To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/
folder in the base of the repository. Detailed instructions can be found here.
Limitations & Feedback
Gemini Code Assist is currently in preview and may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments to provide feedback.
You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.
Footnotes
-
Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution. ↩
@gemini-code-assist summary and review |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code Review
This pull request introduces GoReleaser to automate releases. The configuration looks like a good start, but enabling binary builds and refining the changelog grouping would improve it.
Summary of ChangesThis pull request establishes an automated release pipeline for the project by integrating GoReleaser with GitHub Actions. The primary objective is to streamline the creation of tagged releases and their associated changelogs, laying the groundwork for more efficient version management and future binary distribution. Highlights
Changelog
Activity
|
- Refine and unify changelog group regex patterns for better consistency - Rename and reorder some changelog group titles for clarity and capitalization - Add explicit changelog groups for "Maintenance" and improve differentiation of update types Signed-off-by: appleboy <[email protected]>
- Enable release build by configuring build parameters for mcp-proxy binary - Specify build targets for linux amd64 and arm64 architectures - Remove previous skip setting to allow builds Signed-off-by: appleboy <[email protected]>