# https://taskfile.dev version: "3" vars: PLATFORMS: - os: darwin archs: [amd64, arm64] - os: freebsd archs: [386, amd64, arm] - os: linux archs: [386, amd64, arm, arm64] - os: netbsd archs: [386, amd64, arm] - os: openbsd archs: [386, amd64, arm, arm64] - os: windows archs: [386, amd64, arm64] tasks: run: go run main.go fmt: gofmt -w -d . lint: golangci-lint run build: go build -ldflags "-s -w" -o "dodo" build-all: silent: true cmds: - rm -rf binaries - | {{ $ext := "" }} {{- range $platform := .PLATFORMS }} {{- if eq $platform.os "windows" }} {{ $ext = ".exe" }} {{- end }} {{- range $arch := $platform.archs }} echo "Building for {{$platform.os}}/{{$arch}}" GOOS={{$platform.os}} GOARCH={{$arch}} go build -ldflags "-s -w" -o "./binaries/dodo-{{$platform.os}}-{{$arch}}{{$ext}}" {{- end }} {{- end }} - echo -e "\033[32m*** Build completed ***\033[0m"