Skip to content

chore(ci): add GitHub Actions CI and tagged release workflows - #3

Merged
mikolas merged 5 commits into
masterfrom
chore/ci
Oct 25, 2026
Merged

mikolas merged 5 commits into
masterfrom
chore/ci

Conversation

@mikolas

@mikolas mikolas commented Oct 25, 2026

Copy link
Copy Markdown
Owner

Summary

  • .github/workflows/ci.yml:
    • lint job: verifies gofmt -l ., go mod verify / go mod tidy, CGO_ENABLED=0 go vet ./..., and the SQL isolation invariant (AGENTS.md Invariant docs(spec): add virtual segment incbin carve-out specification #2).
    • test job: runs CGO_ENABLED=0 go build and CGO_ENABLED=0 go test -v ./... across ubuntu-latest, macos-latest, and windows-latest, plus CGO_ENABLED=1 go test -race ./... on Linux.
  • .github/workflows/release.yml:
    • Triggers on semver tags (v[0-9]+.[0-9]+.[0-9]*), verifies the tagged commit is an ancestor of origin/master, runs the gofmt / go vet / go test gate, cross-compiles static CGO_ENABLED=0 binaries for linux/{amd64,arm64}, darwin/{amd64,arm64}, and windows/{amd64,arm64}, generates checksums.txt, and publishes the GitHub Release via gh release.
  • cmd/hunks/main.go:
    • Wires Version: version on rootCmd (hunks --version).
  • style: gofmt:
    • Formats pre-existing unformatted files so gofmt -l . passes cleanly.

- Add .github/workflows/ci.yml to verify gofmt, go mod verify/tidy, go vet, SQL isolation invariant, pure-Go (CGO_ENABLED=0) builds/tests across Linux/macOS/Windows, and Linux race detector on all branch pushes and PRs
- Add .github/workflows/release.yml to build and publish cross-platform release archives (linux/darwin/windows amd64/arm64 + SHA-256 checksums) when master is tagged with vX.Y.Z
- Wire Version on rootCmd in cmd/hunks/main.go for -ldflags '-X main.version=...'
@mikolas
mikolas merged commit 8036e10 into master Oct 25, 2026
8 checks passed
@mikolas
mikolas deleted the chore/ci branch October 25, 2026 20:57
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