version: '3' tasks: clean: desc: "clean all of the old binaries" cmds: - rm -vf bin/frms_* 2>/dev/null test: desc: "Runs the full test suite" cmds: - bin/gotest.py proto: desc: "Rebuilds protobuf for gRPC" cmds: - protoc --go_out=. --go_opt=paths=source_relative --go-grpc_out=. --go-grpc_opt=paths=source_relative internal/pkg/grpc/*.proto all: desc: "builds arm reactor binaries and arm/amd server binaries" deps: [arm32-reactor, arm64-reactor, arm64-server, amd64-server] arm32-reactor: desc: "Builds reactor binary for 32 bit arm linux device" cmds: - task: go-build vars: GOARM: 7 GOARCH: "arm" GOOS: "linux" BUILD_DIR: "reactor" arm64-reactor: desc: "Builds reactor binary for 64 bit arm linux device" cmds: - task: go-build vars: GOARCH: "arm64" GOOS: "linux" BUILD_DIR: "reactor" arm64-server: desc: "Builds server binary for 64 bit arm linux device" cmds: - task: go-build vars: GOARCH: "arm64" GOOS: "linux" BUILD_DIR: "server" amd64-server: desc: "Builds server binary for amd linux machine" cmds: - task: go-build vars: GOARCH: "amd64" GOOS: "linux" BUILD_DIR: "server" go-build: internal: true cmds: - go build -o bin/frms_{{.BUILD_DIR}}_{{.GOOS}}_{{.GOARCH}} cmd/{{.BUILD_DIR}}/main.go sources: - internal/pkg/**/*.go - cmd/{{.BUILD_DIR}}/main.go generates: - bin/frms_{{.BUILD_DIR}}_{{.GOOS}}_{{.GOARCH}} env: GOARM: "{{.GOARM}}" GOARCH: "{{.GOARCH}}" GOOS: "{{.GOOS}}"