version: '3' vars: UNAME: sh: uname GOOS: sh: go env GOOS DOCKER_WINDOWS_EXE: C:/build/listen/listen.exe DOCKER_EXE: /usr/src/listen/listen tasks: default: deps: - go-build go-build: cmds: - "go build -o out/{{.GOOS}}/listen ." precondition: - "which go" docker-build: cmds: - "docker build -t listen-build -f docker/build.$os.Dockerfile -e GOOS='{{.GOOS}}' ." - "mkdir -p out/{{.GOOS}}" - "docker create --name listen-build-tmp listen-build" - "docker cp listen-build-tmp:{{.DOCKER_EXE}} out/{{.GOOS}}" - "docker rm listen-build-tmp" precondition: - "which docker" - "uname | grep -qe Linux -e MINGW"