-
Notifications
You must be signed in to change notification settings - Fork 1
/
Taskfile.yml
91 lines (77 loc) · 1.53 KB
/
Taskfile.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
# https://taskfile.dev
version: '3'
env:
CGO_ENABLED: '0'
dotenv:
- .env
vars:
GIT_COMMIT:
sh: git log -n 1 --format="%h (%ci)"
tasks:
default:
desc: Runs the default tasks
cmds:
- task: init
- task: mod
- task: build
- task: lint
- task: test
init:
desc: Setup git hooks & dev dependencies
cmds:
- cp -f scripts/pre-commit.sh .git/hooks/pre-commit
- test gotestsum || go install gotest.tools/gotestsum@latest
mod:
desc: Download Go modules
cmds:
- go mod tidy
build:
desc: Build the binary
aliases: [b]
sources:
- ./**/*.go
- ./go.{mod,sum}
generates:
- ./kubri
cmds:
- go build
lint:
desc: Run golangci-lint
aliases: [l]
sources:
- './**/*.go'
- ./go.{mod,sum}
- .golangci.yml
cmds:
- golangci-lint run --fix
test:
desc: Run test suite
aliases: [t]
cmds:
- gotestsum -- -cover ./...
golden:
desc: Update golden test files
aliases: [g]
env:
UPDATE_GOLDEN: '1'
cmds:
- gotestsum -- -cover ./...
acceptance:
desc: Run acceptance tests
aliases: [a]
cmds:
- gotestsum -- -tags acceptance -run ^TestAcceptance$ ./integrations/...
install:
desc: Install Kubri
aliases: [i]
sources:
- './**/*.go'
- ./go.{mod,sum}
cmds:
- go install -ldflags="-X 'main.version={{.GIT_COMMIT}}'"
docs:
desc: Run docs website
aliases: [d]
dir: website
cmds:
- yarn start