forked from tangled.org/core
this repo has no description
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 "required": [ 13 "triggerMetadata", 14 "workflows" 15 ], 16 "properties": { 17 "triggerMetadata": { 18 "type": "ref", 19 "ref": "#triggerMetadata" 20 }, 21 "workflows": { 22 "type": "array", 23 "items": { 24 "type": "ref", 25 "ref": "#workflow" 26 } 27 } 28 } 29 } 30 }, 31 "triggerMetadata": { 32 "type": "object", 33 "required": [ 34 "kind", 35 "repo" 36 ], 37 "properties": { 38 "kind": { 39 "type": "string", 40 "enum": [ 41 "push", 42 "pull_request", 43 "manual" 44 ] 45 }, 46 "repo": { 47 "type": "ref", 48 "ref": "#triggerRepo" 49 }, 50 "push": { 51 "type": "ref", 52 "ref": "#pushTriggerData" 53 }, 54 "pullRequest": { 55 "type": "ref", 56 "ref": "#pullRequestTriggerData" 57 }, 58 "manual": { 59 "type": "ref", 60 "ref": "#manualTriggerData" 61 } 62 } 63 }, 64 "triggerRepo": { 65 "type": "object", 66 "required": [ 67 "knot", 68 "did", 69 "repo", 70 "defaultBranch" 71 ], 72 "properties": { 73 "knot": { 74 "type": "string" 75 }, 76 "did": { 77 "type": "string", 78 "format": "did" 79 }, 80 "repo": { 81 "type": "string" 82 }, 83 "defaultBranch": { 84 "type": "string" 85 } 86 } 87 }, 88 "pushTriggerData": { 89 "type": "object", 90 "required": [ 91 "ref", 92 "newSha", 93 "oldSha" 94 ], 95 "properties": { 96 "ref": { 97 "type": "string" 98 }, 99 "newSha": { 100 "type": "string", 101 "minLength": 40, 102 "maxLength": 40 103 }, 104 "oldSha": { 105 "type": "string", 106 "minLength": 40, 107 "maxLength": 40 108 } 109 } 110 }, 111 "pullRequestTriggerData": { 112 "type": "object", 113 "required": [ 114 "sourceBranch", 115 "targetBranch", 116 "sourceSha", 117 "action" 118 ], 119 "properties": { 120 "sourceBranch": { 121 "type": "string" 122 }, 123 "targetBranch": { 124 "type": "string" 125 }, 126 "sourceSha": { 127 "type": "string", 128 "minLength": 40, 129 "maxLength": 40 130 }, 131 "action": { 132 "type": "string" 133 } 134 } 135 }, 136 "manualTriggerData": { 137 "type": "object", 138 "properties": { 139 "inputs": { 140 "type": "array", 141 "items": { 142 "type": "ref", 143 "ref": "#pair" 144 } 145 } 146 } 147 }, 148 "workflow": { 149 "type": "object", 150 "required": [ 151 "name", 152 "dependencies", 153 "steps", 154 "environment", 155 "clone" 156 ], 157 "properties": { 158 "name": { 159 "type": "string" 160 }, 161 "dependencies": { 162 "type": "array", 163 "items": { 164 "type": "ref", 165 "ref": "#dependency" 166 } 167 }, 168 "steps": { 169 "type": "array", 170 "items": { 171 "type": "ref", 172 "ref": "#step" 173 } 174 }, 175 "environment": { 176 "type": "array", 177 "items": { 178 "type": "ref", 179 "ref": "#pair" 180 } 181 }, 182 "clone": { 183 "type": "ref", 184 "ref": "#cloneOpts" 185 } 186 } 187 }, 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": { 201 "type": "string" 202 } 203 } 204 } 205 }, 206 "cloneOpts": { 207 "type": "object", 208 "required": [ 209 "skip", 210 "depth", 211 "submodules" 212 ], 213 "properties": { 214 "skip": { 215 "type": "boolean" 216 }, 217 "depth": { 218 "type": "integer" 219 }, 220 "submodules": { 221 "type": "boolean" 222 } 223 } 224 }, 225 "step": { 226 "type": "object", 227 "required": [ 228 "name", 229 "command" 230 ], 231 "properties": { 232 "name": { 233 "type": "string" 234 }, 235 "command": { 236 "type": "string" 237 }, 238 "environment": { 239 "type": "array", 240 "items": { 241 "type": "ref", 242 "ref": "#pair" 243 } 244 } 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 } 261 } 262 } 263}