version: '3' includes: docs: taskfile: ./docs dir: ./docs vars: GIT_COMMIT: sh: git log -n 1 --format=%h GO_PACKAGES: sh: go list ./... tasks: default: cmds: - task: test install: desc: Installs Task cmds: - go install -v -ldflags="-w -s -X main.version={{.GIT_COMMIT}}" ./cmd/task env: CGO_ENABLED: '0' dl-deps: desc: Downloads cli dependencies cmds: - task: go-get vars: {REPO: golang.org/x/lint/golint} - task: go-get vars: {REPO: github.com/goreleaser/goreleaser} - task: go-get vars: {REPO: github.com/goreleaser/godownloader} update-deps: desc: Updates dependencies cmds: - dep ensure - dep ensure -update clean: desc: Cleans temp files and folders cmds: - rm -rf dist/ lint: desc: Runs golint cmds: - golint {{catLines .GO_PACKAGES}} silent: true test: desc: Runs test suite deps: [install] cmds: - go test {{catLines .GO_PACKAGES}} test-release: desc: Tests release process without publishing cmds: - goreleaser --snapshot --rm-dist generate-install-script: desc: Generate install script using https://github.com/goreleaser/godownloader cmds: - godownloader --repo go-task/task -o install-task.sh - cp ./install-task.sh ./docs/install.sh ci: - task: go-get vars: {REPO: golang.org/x/lint/golint} - task: lint - task: test go-get: go get -u {{.REPO}} packages: cmds: - echo '{{.GO_PACKAGES}}' silent: true