-
Notifications
You must be signed in to change notification settings - Fork 0
Update CI/CD workflows #10
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
EndlessTrax
commented
Nov 6, 2025
- Split lint, format, test into own workflows
- Add goreleaser config
- Add new release workflow
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.
Pull Request Overview
This PR sets up the release infrastructure for Brokli using GoReleaser and reorganizes CI/CD workflows. The changes enable automated binary releases across multiple platforms (Linux, macOS, Windows) for both amd64 and arm64 architectures, while splitting the monolithic PR checks workflow into separate focused jobs.
- Added GoReleaser configuration for cross-platform binary builds with version injection support
- Split pr-checks.yml into separate tests.yml, lint.yml, and format.yml workflows for better modularity
- Refactored version handling to use a variable that can be set via ldflags at build time
- Updated golangci-lint configuration to v2 format with cleaner structure
Reviewed Changes
Copilot reviewed 11 out of 12 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
.goreleaser.yaml |
New GoReleaser v2 config defining multi-platform builds, archives, and release automation |
.github/workflows/release.yml |
New workflow to automate releases on version tags with version validation |
.github/workflows/tests.yml |
Extracted unit test job from pr-checks.yml into dedicated workflow |
.github/workflows/lint.yml |
Extracted linting job from pr-checks.yml into dedicated workflow |
.github/workflows/format.yml |
Extracted format check job from pr-checks.yml into dedicated workflow |
.github/workflows/pr-checks.yml |
Removed - functionality split into separate workflows |
cmd/root.go |
Extracted version string to variable for build-time injection via ldflags |
pkg/fetcher/fetcher.go |
Wrapped defer Close() in anonymous function to explicitly ignore error |
go.mod |
Moved fatih/color from indirect to direct dependency |
Taskfile.yml |
Added GoReleaser tasks and pinned golangci-lint version |
.golangci.yml |
Migrated to v2 config format with restructured settings sections |
.gitignore |
Added dist/ directory for GoReleaser output and removed duplicate brokli entry |
Co-authored-by: Copilot <[email protected]>
* Update CI/CD workflows * fix(lint): update golangci-lint config to v2 schema and fix errcheck issue * fix(goreleaser): update Taskfile to find goreleaser in ~/go/bin; update config to v2 * Updates for version consistency * ci(lint): use golangci-lint v2.5.0 in CI and pin Taskfile install; keep v2 config * ci(lint): install golangci-lint using @latest to avoid invalid tag * Update .github/workflows/release.yml --------- Co-authored-by: Copilot <[email protected]>