generated from openmcp-project/repository-template
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtasks_val.yaml
119 lines (107 loc) · 2.71 KB
/
tasks_val.yaml
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
version: 3
includes:
tools:
taskfile: tasks_tools.yaml
internal: true
tasks:
# This is a dummy task that serves as a separator between task namespaces in the 'task -l' output.
"---":
desc: "{{.VAL_SEP}}"
cmds:
- cmd: echo "{{.SEP_MSG}}"
silent: true
all:
desc: " Combines all validation tasks."
run: once
cmds:
- task: validate
- task: test
test:
desc: " Run all tests."
run: once
requires:
vars:
- CODE_DIRS
deps:
- test-envtest-dep
cmds:
- 'PROJECT_ROOT="{{.ROOT_DIR2}}" NESTED_MODULES="{{.NESTED_MODULES}}" {{.TASKFILE_DIR2}}/run-tests.sh {{.CODE_DIRS}}'
test-envtest-dep:
desc: " Install the envtest dependency, if marked as required."
run: once
status:
- '[ "{{.ENVTEST_REQUIRED | default "false"}}" != "true" ]'
cmds:
- task: tools:envtest
internal: true
validate:
desc: " Combines all validation tasks except for tests."
run: once
aliases:
- verify
- check
cmds:
- task: vet
- task: lint
- task: format-imports
- task: docs
docs:
desc: " Checks if the documentation index is up-to-date."
run: once
status:
- '[ "{{.GENERATE_DOCS_INDEX | default "false"}}" == "false" ]'
cmds:
- task: docs-internal
docs-internal:
desc: " Checks if the documentation index is up-to-date."
run: once
deps:
- tools:jq
cmds:
- 'PROJECT_ROOT="{{.ROOT_DIR2}}" JQ="{{.JQ}}" {{.TASKFILE_DIR2}}/verify-docs-index.sh'
internal: true
vet-internal:
desc: " Run 'go vet' for a single module."
run: once
requires:
vars:
- MODULE
cmds:
- '( cd {{.ROOT_DIR2}}/{{.MODULE}}; go vet ./...; )'
internal: true
vet:
desc: " Run 'go vet' for all modules."
run: once
cmds:
- for:
var: NESTED_MODULES
vars:
MODULE: '{{.ITEM}}'
task: vet-internal
- vars:
MODULE: ""
task: vet-internal
lint:
desc: " Run 'golangci-lint'."
run: once
deps:
- tools:golangci-lint
requires:
vars:
- LINTER
cmds:
- 'PROJECT_ROOT="{{.ROOT_DIR2}}" NESTED_MODULES="{{.NESTED_MODULES}}" LINTER="{{.LINTER}}" {{.TASKFILE_DIR2}}/run-lint.sh {{.CODE_DIRS}}'
format-imports:
desc: " Check if 'goimports' has been run."
run: once
deps:
- tools:goimports
requires:
vars:
- CODE_DIRS
- MODULE_NAME
vars:
code_dirs:
sh: '{{.TASKFILE_DIR2}}/unfold.sh --clean --no-unfold --inline {{.CODE_DIRS}}' # goimports doesn't like the '/...' syntax
cmds:
- 'tmp=$({{.FORMATTER}} -l -local={{.MODULE_NAME}} {{.code_dirs}}); if [[ "$tmp" ]]; then echo "Unformatted files detected:"; echo "$tmp"; exit 1; fi'