-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathABTaskFile
More file actions
120 lines (101 loc) · 3.07 KB
/
Copy pathABTaskFile
File metadata and controls
120 lines (101 loc) · 3.07 KB
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
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
# Install https://choria-io.github.io/appbuilder/ and run `abt` to use this file
name: dev
description: Development tools
commands:
- name: test
type: parent
aliases: [t]
description: Perform various tests
commands:
- name: unit
type: exec
dir: "{{ AppDir }}"
description: Run unit tests
aliases: [u]
script: |
set -e
go list ./... | xargs go test
- name: lint
type: exec
dir: "{{ AppDir }}"
flags:
- name: vet
description: Perform go vet
bool: true
default: true
- name: staticcheck
description: Perform staticcheck
bool: true
default: true
- name: spell
description: Perform spell check
bool: true
default: true
- name: update
description: Updates lint dependencies
bool: true
script: |
set -e
. "{{ BashHelperPath }}"
{{ if .Flags.update }}
ab_say Updating linting tools
go install github.com/client9/misspell/cmd/misspell@latest
go install honnef.co/go/tools/cmd/staticcheck@latest
{{ else }}
echo ">>> Run with --update to install required commands"
echo
{{ end }}
ab_say Formatting source files
go fmt ./...
ab_say Tidying go mod
go mod tidy
{{ if .Flags.spell }}
ab_say Checking spelling
find . -type f -name "*.go" | xargs misspell -error -locale US -i flavour
{{ end }}
{{ if .Flags.vet }}
ab_say Performing go vet
go list ./... | xargs go vet
{{ end }}
{{ if .Flags.staticcheck }}
ab_say Running staticcheck
go list ./... | xargs staticcheck
{{ end }}
- name: dependencies
type: parent
description: Manage dependencies
aliases: [ d ]
commands:
- name: update
description: Update dependencies
type: exec
aliases: [ up ]
dir: "{{ AppDir }}"
flags:
- name: verbose
description: Log verbosely
short: v
bool: true
- name: proxy
description: Enable using go proxy
bool: true
default: "true"
- name: actions
bool: true
default: "true"
description: Run actions update using pinact
script: |
. "{{ BashHelperPath }}"
ab_announce Updating all dependencies
echo
{{ if eq .Flags.proxy false }}
export GOPROXY=direct
ab_say Disabling go mod proxy
{{ end }}
go get -u -n -a -t {{- if .Flags.verbose }} -d -x {{ end }} ./...
ab_say Running go mod tidy
go mod tidy
{{ if .Flags.actions }}
ab_say Updating actions
pinact run --update
{{ end }}