Skip to content

ci: add CI + release workflows (GoReleaser)#32

Merged
AbsolutOD merged 10 commits into
mainfrom
ci/release-workflow
Jun 13, 2026
Merged

ci: add CI + release workflows (GoReleaser)#32
AbsolutOD merged 10 commits into
mainfrom
ci/release-workflow

Conversation

@AbsolutOD

Copy link
Copy Markdown
Owner

Summary

  • Adds .github/workflows/ci.yml — runs go vet, go test, go build, and goreleaser check on PRs and pushes to main. Least-privilege permissions, concurrency cancellation, 15-min timeout.
  • Adds .github/workflows/release.yml — fires on v* SemVer tags; runs GoReleaser to build + publish a GitHub Release.
  • Adds .goreleaser.yaml — builds linux/amd64, linux/arm64, darwin/arm64 with version/commit/date injected via ldflags; archives as tar.gz, includes sha256 checksums, and generates a grouped changelog from git.
  • cmd/version.go switched from a hardcoded string to overridable package-level vars; adds a PersistentPreRunE no-op so esp version runs without AWS env vars.

Spec: docs/superpowers/specs/2026-05-15-github-release-workflow-design.md
Plan: docs/superpowers/plans/2026-05-16-github-release-workflow.md

Test plan

  • CI workflow runs green on this PR (vet, test, build, goreleaser check)
  • After merge: cut a throwaway pre-release tag (e.g. v0.0.0-test.1) to exercise the release workflow end-to-end, verify the produced Release contains 3 archives + checksums.txt, then delete the test release/tag before the first real release

AbsolutOD added 10 commits May 15, 2026 11:01
GoReleaser-based design: ci.yml gates PRs/main with vet/test/build/goreleaser-check;
release.yml fires on v* tags and produces linux/amd64, linux/arm64, darwin/arm64
binaries with version/commit/date injected via ldflags. cmd/version.go switches
from a hardcoded string to overridable package-level vars.
- ci.yml: cancel-in-progress for stale PR runs, 15-min job timeout
- release.yml: 30-min job timeout to cap the default 6h ceiling
@AbsolutOD AbsolutOD merged commit e4e76ad into main Jun 13, 2026
1 check passed
@AbsolutOD AbsolutOD deleted the ci/release-workflow branch June 13, 2026 15:43
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.

1 participant