Signed-off-by: oppiliappan me@oppi.li
+85
-54
lexicons/pipeline.json
+85
-54
lexicons/pipeline.json
···
9
9
"key": "tid",
10
10
"record": {
11
11
"type": "object",
12
-
"required": ["triggerMetadata", "workflows"],
12
+
"required": [
13
+
"triggerMetadata",
14
+
"workflows"
15
+
],
13
16
"properties": {
14
17
"triggerMetadata": {
15
18
"type": "ref",
···
27
30
},
28
31
"triggerMetadata": {
29
32
"type": "object",
30
-
"required": ["kind", "repo"],
33
+
"required": [
34
+
"kind",
35
+
"repo"
36
+
],
31
37
"properties": {
32
38
"kind": {
33
39
"type": "string",
34
-
"enum": ["push", "pull_request", "manual"]
40
+
"enum": [
41
+
"push",
42
+
"pull_request",
43
+
"manual"
44
+
]
35
45
},
36
46
"repo": {
37
47
"type": "ref",
···
53
63
},
54
64
"triggerRepo": {
55
65
"type": "object",
56
-
"required": ["knot", "did", "repo", "defaultBranch"],
66
+
"required": [
67
+
"knot",
68
+
"did",
69
+
"repo",
70
+
"defaultBranch"
71
+
],
57
72
"properties": {
58
73
"knot": {
59
74
"type": "string"
···
72
87
},
73
88
"pushTriggerData": {
74
89
"type": "object",
75
-
"required": ["ref", "newSha", "oldSha"],
90
+
"required": [
91
+
"ref",
92
+
"newSha",
93
+
"oldSha"
94
+
],
76
95
"properties": {
77
96
"ref": {
78
97
"type": "string"
···
91
110
},
92
111
"pullRequestTriggerData": {
93
112
"type": "object",
94
-
"required": ["sourceBranch", "targetBranch", "sourceSha", "action"],
113
+
"required": [
114
+
"sourceBranch",
115
+
"targetBranch",
116
+
"sourceSha",
117
+
"action"
118
+
],
95
119
"properties": {
96
120
"sourceBranch": {
97
121
"type": "string"
···
115
139
"inputs": {
116
140
"type": "array",
117
141
"items": {
118
-
"type": "object",
119
-
"required": ["key", "value"],
120
-
"properties": {
121
-
"key": {
122
-
"type": "string"
123
-
},
124
-
"value": {
125
-
"type": "string"
126
-
}
127
-
}
142
+
"type": "ref",
143
+
"ref": "#pair"
128
144
}
129
145
}
130
146
}
131
147
},
132
148
"workflow": {
133
149
"type": "object",
134
-
"required": ["name", "dependencies", "steps", "environment", "clone"],
150
+
"required": [
151
+
"name",
152
+
"dependencies",
153
+
"steps",
154
+
"environment",
155
+
"clone"
156
+
],
135
157
"properties": {
136
158
"name": {
137
159
"type": "string"
138
160
},
139
161
"dependencies": {
140
-
"type": "ref",
141
-
"ref": "#dependencies"
162
+
"type": "array",
163
+
"items": {
164
+
"type": "ref",
165
+
"ref": "#dependency"
166
+
}
142
167
},
143
168
"steps": {
144
169
"type": "array",
···
150
175
"environment": {
151
176
"type": "array",
152
177
"items": {
153
-
"type": "object",
154
-
"required": ["key", "value"],
155
-
"properties": {
156
-
"key": {
157
-
"type": "string"
158
-
},
159
-
"value": {
160
-
"type": "string"
161
-
}
162
-
}
178
+
"type": "ref",
179
+
"ref": "#pair"
163
180
}
164
181
},
165
182
"clone": {
···
168
185
}
169
186
}
170
187
},
171
-
"dependencies": {
172
-
"type": "array",
173
-
"items": {
174
-
"type": "object",
175
-
"required": ["registry", "packages"],
176
-
"properties": {
177
-
"registry": {
188
+
"dependency": {
189
+
"type": "object",
190
+
"required": [
191
+
"registry",
192
+
"packages"
193
+
],
194
+
"properties": {
195
+
"registry": {
196
+
"type": "string"
197
+
},
198
+
"packages": {
199
+
"type": "array",
200
+
"items": {
178
201
"type": "string"
179
-
},
180
-
"packages": {
181
-
"type": "array",
182
-
"items": {
183
-
"type": "string"
184
-
}
185
202
}
186
203
}
187
204
}
188
205
},
189
206
"cloneOpts": {
190
207
"type": "object",
191
-
"required": ["skip", "depth", "submodules"],
208
+
"required": [
209
+
"skip",
210
+
"depth",
211
+
"submodules"
212
+
],
192
213
"properties": {
193
214
"skip": {
194
215
"type": "boolean"
···
203
224
},
204
225
"step": {
205
226
"type": "object",
206
-
"required": ["name", "command"],
227
+
"required": [
228
+
"name",
229
+
"command"
230
+
],
207
231
"properties": {
208
232
"name": {
209
233
"type": "string"
···
214
238
"environment": {
215
239
"type": "array",
216
240
"items": {
217
-
"type": "object",
218
-
"required": ["key", "value"],
219
-
"properties": {
220
-
"key": {
221
-
"type": "string"
222
-
},
223
-
"value": {
224
-
"type": "string"
225
-
}
226
-
}
241
+
"type": "ref",
242
+
"ref": "#pair"
227
243
}
228
244
}
229
245
}
246
+
},
247
+
"pair": {
248
+
"type": "object",
249
+
"required": [
250
+
"key",
251
+
"value"
252
+
],
253
+
"properties": {
254
+
"key": {
255
+
"type": "string"
256
+
},
257
+
"value": {
258
+
"type": "string"
259
+
}
260
+
}
230
261
}
231
262
}
232
263
}