Add GoReleaser configuration and update main.go for versioning#2
Merged
Conversation
There was a problem hiding this comment.
Pull request overview
This pull request adds automated release tooling to the vizdisk project, enabling cross-platform binary distribution through GoReleaser and GitHub Actions. The changes introduce build metadata embedding to track version information in released binaries.
- Added GoReleaser configuration for building binaries across Linux, Windows, and macOS (amd64 and arm64)
- Created GitHub Actions workflow to automatically trigger releases on version tags
- Embedded version, commit, and build date variables in main.go that are populated during the build process
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
.github/workflows/release.yml |
Defines GitHub Actions workflow that triggers on version tags, sets up Go environment, and runs GoReleaser to build and publish releases |
.goreleaser.yaml |
Configures GoReleaser to build static binaries for multiple platforms with embedded version metadata, and package them as archives with checksums |
main.go |
Adds version, commit, and date variables with default values, and logs this build information at application startup |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This pull request introduces automated release tooling for the project, making it easier to build and distribute binaries across multiple platforms. The main improvements are the addition of a GitHub Actions workflow for releases, a GoReleaser configuration for building and packaging, and embedding build metadata into the binary.
Release automation and packaging:
.github/workflows/release.ymlGitHub Actions workflow to automatically trigger releases on version tag pushes, using GoReleaser to build and publish binaries for Linux, Windows, and macOS..goreleaser.yamlconfiguration to build statically-linked binaries for multiple OS/architectures, archive them appropriately (tar.gz for Unix, zip for Windows), and generate checksums and changelogs.Build metadata embedding:
main.goto includeversion,commit, anddatevariables, which are set during the build process and logged at startup, providing traceability for released binaries.… versioning