feat(build): add multi-platform release targets, Homebrew formula, and INSTALL.md
ci / vet, staticcheck, test, build (push) Successful in 2m13s
ci / vet, staticcheck, test, build (push) Successful in 2m13s
Taskfile: - Add build-linux-arm64, build-darwin-amd64, build-darwin-arm64 targets - Rename build-linux to build-linux-amd64 (keep build-linux alias) - Rename Windows output to glint-<tag>-windows-amd64.exe for consistency - Add build-release task that builds all five platforms in one shot Formula/glint.rb: - Homebrew source-build formula; depends_on "go" => :build - tap: brew tap k3nny/glint https://github.com/k3nny/homebrew-glint - Includes basic test block (--version + lint a trivial pipeline) INSTALL.md: - Pre-built binary download instructions for all five platforms - Homebrew tap setup and formula update procedure - go install one-liner - Link to README integrations section Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
+77
-19
@@ -145,30 +145,15 @@ tasks:
|
||||
- task: build
|
||||
- task: validate
|
||||
|
||||
build-windows:
|
||||
desc: Build the glint binary for Windows x64 (requires a tagged commit)
|
||||
build-linux-amd64:
|
||||
desc: Build the glint binary for Linux x86-64 (requires a tagged commit)
|
||||
aliases: [build-linux]
|
||||
vars:
|
||||
TAG:
|
||||
sh: git describe --tags --exact-match
|
||||
preconditions:
|
||||
- sh: git describe --tags --exact-match
|
||||
msg: "Current commit is not tagged — Windows build requires a git tag"
|
||||
cmds:
|
||||
- "GOOS=windows GOARCH=amd64 {{.GO}} build -ldflags \"-X main.version={{.TAG}}\" -o {{.BINARY}}-{{.TAG}}.exe ./cmd/glint/..."
|
||||
sources:
|
||||
- "**/*.go"
|
||||
- go.mod
|
||||
generates:
|
||||
- "{{.BINARY}}-{{.TAG}}.exe"
|
||||
|
||||
build-linux:
|
||||
desc: Build the glint binary for Linux x64 (requires a tagged commit)
|
||||
vars:
|
||||
TAG:
|
||||
sh: git describe --tags --exact-match
|
||||
preconditions:
|
||||
- sh: git describe --tags --exact-match
|
||||
msg: "Current commit is not tagged — Linux build requires a git tag"
|
||||
msg: "Current commit is not tagged — release build requires a git tag"
|
||||
cmds:
|
||||
- "GOOS=linux GOARCH=amd64 {{.GO}} build -ldflags \"-X main.version={{.TAG}}\" -o {{.BINARY}}-{{.TAG}}-linux-amd64 ./cmd/glint/..."
|
||||
sources:
|
||||
@@ -177,6 +162,79 @@ tasks:
|
||||
generates:
|
||||
- "{{.BINARY}}-{{.TAG}}-linux-amd64"
|
||||
|
||||
build-linux-arm64:
|
||||
desc: Build the glint binary for Linux ARM64 (requires a tagged commit)
|
||||
vars:
|
||||
TAG:
|
||||
sh: git describe --tags --exact-match
|
||||
preconditions:
|
||||
- sh: git describe --tags --exact-match
|
||||
msg: "Current commit is not tagged — release build requires a git tag"
|
||||
cmds:
|
||||
- "GOOS=linux GOARCH=arm64 {{.GO}} build -ldflags \"-X main.version={{.TAG}}\" -o {{.BINARY}}-{{.TAG}}-linux-arm64 ./cmd/glint/..."
|
||||
sources:
|
||||
- "**/*.go"
|
||||
- go.mod
|
||||
generates:
|
||||
- "{{.BINARY}}-{{.TAG}}-linux-arm64"
|
||||
|
||||
build-darwin-amd64:
|
||||
desc: Build the glint binary for macOS Intel (requires a tagged commit)
|
||||
vars:
|
||||
TAG:
|
||||
sh: git describe --tags --exact-match
|
||||
preconditions:
|
||||
- sh: git describe --tags --exact-match
|
||||
msg: "Current commit is not tagged — release build requires a git tag"
|
||||
cmds:
|
||||
- "GOOS=darwin GOARCH=amd64 {{.GO}} build -ldflags \"-X main.version={{.TAG}}\" -o {{.BINARY}}-{{.TAG}}-darwin-amd64 ./cmd/glint/..."
|
||||
sources:
|
||||
- "**/*.go"
|
||||
- go.mod
|
||||
generates:
|
||||
- "{{.BINARY}}-{{.TAG}}-darwin-amd64"
|
||||
|
||||
build-darwin-arm64:
|
||||
desc: Build the glint binary for macOS Apple Silicon (requires a tagged commit)
|
||||
vars:
|
||||
TAG:
|
||||
sh: git describe --tags --exact-match
|
||||
preconditions:
|
||||
- sh: git describe --tags --exact-match
|
||||
msg: "Current commit is not tagged — release build requires a git tag"
|
||||
cmds:
|
||||
- "GOOS=darwin GOARCH=arm64 {{.GO}} build -ldflags \"-X main.version={{.TAG}}\" -o {{.BINARY}}-{{.TAG}}-darwin-arm64 ./cmd/glint/..."
|
||||
sources:
|
||||
- "**/*.go"
|
||||
- go.mod
|
||||
generates:
|
||||
- "{{.BINARY}}-{{.TAG}}-darwin-arm64"
|
||||
|
||||
build-windows:
|
||||
desc: Build the glint binary for Windows x86-64 (requires a tagged commit)
|
||||
vars:
|
||||
TAG:
|
||||
sh: git describe --tags --exact-match
|
||||
preconditions:
|
||||
- sh: git describe --tags --exact-match
|
||||
msg: "Current commit is not tagged — release build requires a git tag"
|
||||
cmds:
|
||||
- "GOOS=windows GOARCH=amd64 {{.GO}} build -ldflags \"-X main.version={{.TAG}}\" -o {{.BINARY}}-{{.TAG}}-windows-amd64.exe ./cmd/glint/..."
|
||||
sources:
|
||||
- "**/*.go"
|
||||
- go.mod
|
||||
generates:
|
||||
- "{{.BINARY}}-{{.TAG}}-windows-amd64.exe"
|
||||
|
||||
build-release:
|
||||
desc: Build release binaries for all supported platforms (requires a tagged commit)
|
||||
cmds:
|
||||
- task: build-linux-amd64
|
||||
- task: build-linux-arm64
|
||||
- task: build-darwin-amd64
|
||||
- task: build-darwin-arm64
|
||||
- task: build-windows
|
||||
|
||||
fuzz:
|
||||
desc: "Run all fuzz targets (set FUZZ_TIME=60s to control per-target duration, default 30s)"
|
||||
cmds:
|
||||
|
||||
Reference in New Issue
Block a user