mirror of
https://github.com/go-task/task.git
synced 2024-12-12 10:45:49 +02:00
134 lines
2.8 KiB
YAML
134 lines
2.8 KiB
YAML
version: '3'
|
|
|
|
includes:
|
|
docs:
|
|
aliases: [d]
|
|
taskfile: ./docs
|
|
dir: ./docs
|
|
|
|
env:
|
|
CGO_ENABLED: '0'
|
|
|
|
tasks:
|
|
default:
|
|
cmds:
|
|
- task: lint
|
|
- task: test
|
|
|
|
install:
|
|
desc: Installs Task
|
|
aliases: [i]
|
|
sources:
|
|
- './**/*.go'
|
|
cmds:
|
|
- go install -v -ldflags="-w -s -X '{{.VERSION_VAR}}={{.GIT_COMMIT}}'" ./cmd/task
|
|
vars:
|
|
VERSION_VAR: github.com/go-task/task/v3/internal/version.version
|
|
GIT_COMMIT:
|
|
sh: git log -n 1 --format=%h
|
|
|
|
generate:
|
|
desc: Runs Go generate to create mocks
|
|
aliases: [gen, g]
|
|
deps: [install:mockgen]
|
|
sources:
|
|
- "internal/fingerprint/checker.go"
|
|
generates:
|
|
- "internal/fingerprint/checker_mock.go"
|
|
cmds:
|
|
- mockgen -source=internal/fingerprint/checker.go -destination=internal/fingerprint/checker_mock.go -package=fingerprint
|
|
|
|
install:mockgen:
|
|
desc: Installs mockgen; a tool to generate mock files
|
|
status:
|
|
- command -v mockgen &>/dev/null
|
|
cmds:
|
|
- go install github.com/golang/mock/mockgen@latest
|
|
|
|
mod:
|
|
desc: Downloads and tidy Go modules
|
|
cmds:
|
|
- go mod download
|
|
- go mod tidy
|
|
|
|
clean:
|
|
desc: Cleans temp files and folders
|
|
cmds:
|
|
- rm -rf dist/
|
|
- rm -rf tmp/
|
|
|
|
lint:
|
|
desc: Runs golangci-lint
|
|
aliases: [l]
|
|
sources:
|
|
- './**/*.go'
|
|
- .golangci.yml
|
|
cmds:
|
|
- golangci-lint run
|
|
|
|
sleepit:build:
|
|
desc: Builds the sleepit test helper
|
|
sources:
|
|
- ./cmd/sleepit/**/*.go
|
|
generates:
|
|
- ./bin/sleepit
|
|
cmds:
|
|
- go build -o ./bin/sleepit{{exeExt}} ./cmd/sleepit
|
|
|
|
sleepit:run:
|
|
desc: Builds the sleepit test helper
|
|
deps: [sleepit:build]
|
|
cmds:
|
|
- ./bin/sleepit {{.CLI_ARGS}}
|
|
silent: true
|
|
|
|
test:
|
|
desc: Runs test suite
|
|
aliases: [t]
|
|
deps: [install]
|
|
cmds:
|
|
- go test {{catLines .GO_PACKAGES}}
|
|
vars:
|
|
GO_PACKAGES:
|
|
sh: go list ./...
|
|
|
|
test:all:
|
|
desc: Runs test suite with signals and watch tests included
|
|
deps: [install, sleepit:build]
|
|
cmds:
|
|
- go test {{catLines .GO_PACKAGES}} -tags 'signals watch'
|
|
vars:
|
|
GO_PACKAGES:
|
|
sh: go list ./...
|
|
|
|
test-release:
|
|
desc: Tests release process without publishing
|
|
cmds:
|
|
- goreleaser --snapshot --rm-dist
|
|
|
|
docs:changelog:
|
|
desc: Copy CHANGELOG.md to the documentation website
|
|
vars:
|
|
FILE: docs/docs/changelog.md
|
|
cmds:
|
|
- rm {{.FILE}}
|
|
- 'echo "---" >> {{.FILE}}'
|
|
- 'echo "slug: /changelog/" >> {{.FILE}}'
|
|
- 'echo "sidebar_position: 7" >> {{.FILE}}'
|
|
- 'echo "---" >> {{.FILE}}'
|
|
- 'echo "" >> {{.FILE}}'
|
|
- 'cat CHANGELOG.md >> {{.FILE}}'
|
|
|
|
npm:publish:
|
|
desc: Publish release to npm
|
|
cmds:
|
|
- npm publish --access=public
|
|
|
|
packages:
|
|
cmds:
|
|
- echo '{{.GO_PACKAGES}}'
|
|
vars:
|
|
GO_PACKAGES:
|
|
sh: go list ./...
|
|
silent: true
|