-
Notifications
You must be signed in to change notification settings - Fork 1
Open
Description
Motivation
A recent bug fix/config-path where configurations failed to load when installed via Homebrew was not caught before release because there were no automated checks in place. Unit tests pass locally but there is no enforcement on contributions, and deployment-level issues go unnoticed until reported by users.
Proposed Scope
A GitHub Actions workflow that runs on push and pull request events, covering at minimum:
- Build —
go build ./... - Static analysis —
go vet ./... - Tests —
go test ./... - Format check —
gofmt -l .(fail if unformatted files exist)
Nice to have (future iterations)
- Race condition detection (
go test -race ./...) - Integration test that builds the binary, places it in an isolated directory with
configurations/, and verifies it launches successfully (simulating Homebrew install)
# Build binary to an isolated directory
go build -o /tmp/test-install/aws-commander .
# Copy configurations next to it (mimics Homebrew layout)
cp -r configurations /tmp/test-install/
# Run from a different working directory to verify it finds configs
cd /tmp && /tmp/test-install/aws-commander --versionNote: This requires a non-interactive verification mode (e.g., --version flag) since the TUI can't run in CI.
- Linter integration (e.g.,
golangci-lint) - Automated release workflow (build + publish to Homebrew tap on tag)
Additional Context
- Go version: 1.24.0 (see
go.mod) - No existing
.github/directory or workflow files - The
Makefileis only for LocalStack (Docker) and is not related to CI
Related Issues
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels