version: '3' tasks: clean: desc: "clean all of the old binaries" cmds: - rm -vf bin/dmac_* 2>/dev/null test: desc: "Runs the full test suite" cmds: - bin/test.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 server: desc: "builds arm/amd server binaries" deps: [arm64-server, amd64-server] reactor: desc: "builds arm reactor binaries" deps: [arm32-reactor, arm64-reactor] all: desc: "builds arm reactor binaries and arm/amd server binaries" deps: [reactor, 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-server vars: GOARCH: "arm64" GOOS: "linux" BUILD_DIR: "server" amd64-server: desc: "Builds server binary for amd linux machine" cmds: - task: go-build-server vars: GOARCH: "amd64" GOOS: "linux" BUILD_DIR: "server" go-build-server: internal: true cmds: - go build -o bin/dmac_server_{{.GOOS}}_{{.GOARCH}} server/main.go sources: - internal/pkg/**/*.go - cmd/{{.BUILD_DIR}}/main.go generates: - bin/dmac_{{.BUILD_DIR}}_{{.GOOS}}_{{.GOARCH}} env: GOARM: "{{.GOARM}}" GOARCH: "{{.GOARCH}}" GOOS: "{{.GOOS}}"