version: "3" vars: APP_NAME: voicepaste VERSION: sh: git describe --tags --always --dirty 2>/dev/null || echo "dev" tasks: default: desc: Build for current platform cmds: - go build -ldflags "-s -w -X main.version={{.VERSION}}" -o {{.APP_NAME}} . run: desc: Build and run cmds: - go build -ldflags "-s -w" -o {{.APP_NAME}} . - ./{{.APP_NAME}} dev: desc: Run with go run cmds: - go run . build:darwin-arm64: desc: Build for macOS ARM64 env: GOOS: darwin GOARCH: arm64 CGO_ENABLED: "1" cmds: - go build -ldflags "-s -w -X main.version={{.VERSION}}" -o dist/{{.APP_NAME}}-darwin-arm64 . build:darwin-amd64: desc: Build for macOS AMD64 env: GOOS: darwin GOARCH: amd64 CGO_ENABLED: "1" cmds: - go build -ldflags "-s -w -X main.version={{.VERSION}}" -o dist/{{.APP_NAME}}-darwin-amd64 . build:linux-amd64: desc: Build for Linux AMD64 env: GOOS: linux GOARCH: amd64 CGO_ENABLED: "1" cmds: - go build -ldflags "-s -w -X main.version={{.VERSION}}" -o dist/{{.APP_NAME}}-linux-amd64 . build:windows-amd64: desc: Build for Windows AMD64 env: GOOS: windows GOARCH: amd64 CGO_ENABLED: "1" cmds: - go build -ldflags "-s -w -X main.version={{.VERSION}}" -o dist/{{.APP_NAME}}-windows-amd64.exe . build:all: desc: Build for all platforms cmds: - mkdir -p dist - task: build:linux-amd64 clean: desc: Clean build artifacts cmds: - rm -rf dist/ {{.APP_NAME}} tidy: desc: Tidy Go modules cmds: - go mod tidy