Monorepo for Tangled
tangled.org
1{
2 "lexicon": 1,
3 "id": "sh.tangled.pipeline",
4 "needsCbor": true,
5 "needsType": true,
6 "defs": {
7 "main": {
8 "type": "record",
9 "key": "tid",
10 "record": {
11 "type": "object",
12 "description": "DEPRECATED: use sh.tangled.ci.defs#pipeline instead",
13 "required": [
14 "triggerMetadata",
15 "workflows"
16 ],
17 "properties": {
18 "triggerMetadata": {
19 "type": "ref",
20 "ref": "#triggerMetadata"
21 },
22 "workflows": {
23 "type": "array",
24 "items": {
25 "type": "ref",
26 "ref": "#workflow"
27 }
28 }
29 }
30 }
31 },
32 "triggerMetadata": {
33 "type": "object",
34 "required": [
35 "kind",
36 "repo"
37 ],
38 "properties": {
39 "kind": {
40 "type": "string",
41 "enum": [
42 "push",
43 "pull_request",
44 "manual"
45 ]
46 },
47 "repo": {
48 "type": "ref",
49 "ref": "#triggerRepo"
50 },
51 "push": {
52 "type": "ref",
53 "ref": "#pushTriggerData"
54 },
55 "pullRequest": {
56 "type": "ref",
57 "ref": "#pullRequestTriggerData"
58 },
59 "manual": {
60 "type": "ref",
61 "ref": "#manualTriggerData"
62 }
63 }
64 },
65 "triggerRepo": {
66 "type": "object",
67 "required": [
68 "knot",
69 "did",
70 "defaultBranch"
71 ],
72 "properties": {
73 "knot": {
74 "type": "string"
75 },
76 "did": {
77 "type": "string",
78 "format": "did"
79 },
80 "repoDid": {
81 "type": "string",
82 "description": "DID of the repo itself",
83 "format": "did"
84 },
85 "repo": {
86 "type": "string"
87 },
88 "defaultBranch": {
89 "type": "string"
90 }
91 }
92 },
93 "pushTriggerData": {
94 "type": "object",
95 "required": [
96 "ref",
97 "newSha",
98 "oldSha"
99 ],
100 "properties": {
101 "ref": {
102 "type": "string"
103 },
104 "newSha": {
105 "type": "string",
106 "minLength": 40,
107 "maxLength": 40
108 },
109 "oldSha": {
110 "type": "string",
111 "minLength": 40,
112 "maxLength": 40
113 }
114 }
115 },
116 "pullRequestTriggerData": {
117 "type": "object",
118 "required": [
119 "sourceBranch",
120 "targetBranch",
121 "sourceSha",
122 "action"
123 ],
124 "properties": {
125 "sourceBranch": {
126 "type": "string"
127 },
128 "targetBranch": {
129 "type": "string"
130 },
131 "sourceSha": {
132 "type": "string",
133 "minLength": 40,
134 "maxLength": 40
135 },
136 "action": {
137 "type": "string"
138 }
139 }
140 },
141 "manualTriggerData": {
142 "type": "object",
143 "required": [
144 "sha"
145 ],
146 "properties": {
147 "sha": {
148 "type": "string",
149 "description": "commit SHA the manual run targets",
150 "minLength": 40,
151 "maxLength": 40
152 },
153 "ref": {
154 "type": "string",
155 "description": "optional ref the SHA was resolved from, for display and TANGLED_REF"
156 },
157 "inputs": {
158 "type": "array",
159 "items": {
160 "type": "ref",
161 "ref": "#pair"
162 }
163 }
164 }
165 },
166 "workflow": {
167 "type": "object",
168 "required": [
169 "name",
170 "engine",
171 "clone",
172 "raw"
173 ],
174 "properties": {
175 "name": {
176 "type": "string"
177 },
178 "engine": {
179 "type": "string"
180 },
181 "clone": {
182 "type": "ref",
183 "ref": "#cloneOpts"
184 },
185 "raw": {
186 "type": "string"
187 }
188 }
189 },
190 "cloneOpts": {
191 "type": "object",
192 "required": [
193 "skip",
194 "depth",
195 "submodules",
196 "tags"
197 ],
198 "properties": {
199 "skip": {
200 "type": "boolean"
201 },
202 "depth": {
203 "type": "integer"
204 },
205 "submodules": {
206 "type": "boolean"
207 },
208 "tags": {
209 "type": "boolean"
210 }
211 }
212 },
213 "pair": {
214 "type": "object",
215 "required": [
216 "key",
217 "value"
218 ],
219 "properties": {
220 "key": {
221 "type": "string"
222 },
223 "value": {
224 "type": "string"
225 }
226 }
227 }
228 }
229}