-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathTaskfile.yml
158 lines (142 loc) · 4.31 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
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
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
---
# Taskfile.yml: Central hub for development operations.
version: "3"
vars:
# Environment variables for task control
TASK_BUN_ENABLED: '{{.TASK_BUN_ENABLED | default "true"}}'
TASK_COMMITIZEN_ENABLED: '{{.TASK_COMMITIZEN_ENABLED | default "true"}}'
TASK_COMMITLINT_ENABLED: '{{.TASK_COMMITLINT_ENABLED | default "true"}}'
TASK_DEV_ENABLED: '{{.TASK_DEV_ENABLED | default "true"}}'
TASK_DOCKER_ENABLED: '{{.TASK_DOCKER_ENABLED | default "true"}}'
TASK_LIZARD_ENABLED: '{{.TASK_LIZARD_ENABLED | default "true"}}'
TASK_MEGALINTER_ENABLED: '{{.TASK_MEGALINTER_ENABLED | default "true"}}'
TASK_NODEJS_ENABLED: '{{.TASK_NODEJS_ENABLED | default "true"}}'
TASK_YAMLLINT_ENABLED: '{{.TASK_YAMLLINT_ENABLED | default "true"}}'
# Simple separator
TASK_SEPARATOR: '{{.TASK_SEPARATOR | default (print (repeat 120 "-") "\n" (repeat 120 "-") "\n" (repeat 120 "-"))}}'
TASK_DEVSECOPS_ICON: '{{.TASK_DEVSECOPS_ICON | default "♾️"}}'
EXT_COMMITLINT_FROM: 'origin/review'
# Includes: Specify necessary and additional components for development.
# - Essential includes are required for a successful Docker build.
# - Optional includes extras like tests and lint (not needed for Docker builds)
includes:
# Essential includes (Required for Docker build and k3s)
devsecops:plan:
taskfile: .config/devsecops/Taskfile.plan.yml
devsecops:code:
taskfile: .config/devsecops/Taskfile.code.yml
devsecops:build:
taskfile: .config/devsecops/Taskfile.build.yml
devsecops:test:
taskfile: .config/devsecops/Taskfile.test.yml
devsecops:release:
taskfile: .config/devsecops/Taskfile.release.yml
devsecops:deploy:
taskfile: .config/devsecops/Taskfile.deploy.yml
devsecops:operate:
taskfile: .config/devsecops/Taskfile.operate.yml
devsecops:monitor:
taskfile: .config/devsecops/Taskfile.monitor.yml
devsecops:feedback:
taskfile: .config/devsecops/Taskfile.feedback.yml
project:
taskfile: src/Taskfile.yml
# Optional includes (For dev, testing, linting, etc.)
bun:
taskfile: .config/bun/Taskfile.yml
optional: true
commitizen:
taskfile: .config/commitizen/Taskfile.yml
optional: true
commitlint:
taskfile: .config/commitlint/Taskfile.yml
optional: true
copier:
taskfile: .config/copier/Taskfile.yml
optional: true
dev:
taskfile: .config/dev/Taskfile.yml
optional: true
docker:
taskfile: .config/docker/Taskfile.yml
optional: true
lizard:
taskfile: .config/lizard/Taskfile.yml
optional: true
megalinter:
taskfile: .config/megalinter/Taskfile.yml
optional: true
nodejs:
taskfile: .config/nodejs/Taskfile.yml
dir: .config/nodejs
optional: true
yamllint:
taskfile: .config/yamllint/Taskfile.yml
optional: true
tasks:
default:
# Orchestrates DevSecOps workflows.
cmds:
- task: plan
- task: code
- task: build
- task: test
- task: release
- task: deploy
- task: operate
- task: monitor
- task: feedback
plan:
cmds:
- cmd: echo "{{.TASK_DEVSECOPS_ICON}} Plan"
silent: true
- task: devsecops:plan
- task: project:plan
code:
cmds:
- cmd: echo "{{.TASK_DEVSECOPS_ICON}} Code"
silent: true
- task: devsecops:code
- task: project:code
build:
cmds:
- cmd: echo "{{.TASK_DEVSECOPS_ICON}} Build"
silent: true
- task: devsecops:build
- task: project:build
test:
cmds:
- cmd: echo "{{.TASK_DEVSECOPS_ICON}} Test"
silent: true
- task: devsecops:test
- task: project:test
release:
cmds:
- cmd: echo "{{.TASK_DEVSECOPS_ICON}} Release"
silent: true
- task: devsecops:release
- task: project:release
deploy:
cmds:
- cmd: echo "{{.TASK_DEVSECOPS_ICON}} Deploy"
silent: true
- task: devsecops:deploy
- task: project:deploy
operate:
cmds:
- cmd: echo "{{.TASK_DEVSECOPS_ICON}} Operate"
silent: true
- task: devsecops:operate
- task: project:operate
monitor:
cmds:
- cmd: echo "{{.TASK_DEVSECOPS_ICON}} Monitor"
silent: true
- task: devsecops:monitor
- task: project:monitor
feedback:
cmds:
- cmd: echo "{{.TASK_DEVSECOPS_ICON}} Feedback"
silent: true
- task: devsecops:feedback
- task: project:feedback