lexicon: rework to avoid nested object types #283

merged
opened by oppi.li targeting master from push-myqmppunmplu
Changed files
+85 -54
lexicons
+85 -54
lexicons/pipeline.json
···
"key": "tid",
"record": {
"type": "object",
-
"required": ["triggerMetadata", "workflows"],
"properties": {
"triggerMetadata": {
"type": "ref",
···
},
"triggerMetadata": {
"type": "object",
-
"required": ["kind", "repo"],
"properties": {
"kind": {
"type": "string",
-
"enum": ["push", "pull_request", "manual"]
},
"repo": {
"type": "ref",
···
},
"triggerRepo": {
"type": "object",
-
"required": ["knot", "did", "repo", "defaultBranch"],
"properties": {
"knot": {
"type": "string"
···
},
"pushTriggerData": {
"type": "object",
-
"required": ["ref", "newSha", "oldSha"],
"properties": {
"ref": {
"type": "string"
···
},
"pullRequestTriggerData": {
"type": "object",
-
"required": ["sourceBranch", "targetBranch", "sourceSha", "action"],
"properties": {
"sourceBranch": {
"type": "string"
···
"inputs": {
"type": "array",
"items": {
-
"type": "object",
-
"required": ["key", "value"],
-
"properties": {
-
"key": {
-
"type": "string"
-
},
-
"value": {
-
"type": "string"
-
}
-
}
}
}
}
},
"workflow": {
"type": "object",
-
"required": ["name", "dependencies", "steps", "environment", "clone"],
"properties": {
"name": {
"type": "string"
},
"dependencies": {
-
"type": "ref",
-
"ref": "#dependencies"
},
"steps": {
"type": "array",
···
"environment": {
"type": "array",
"items": {
-
"type": "object",
-
"required": ["key", "value"],
-
"properties": {
-
"key": {
-
"type": "string"
-
},
-
"value": {
-
"type": "string"
-
}
-
}
}
},
"clone": {
···
}
}
},
-
"dependencies": {
-
"type": "array",
-
"items": {
-
"type": "object",
-
"required": ["registry", "packages"],
-
"properties": {
-
"registry": {
"type": "string"
-
},
-
"packages": {
-
"type": "array",
-
"items": {
-
"type": "string"
-
}
}
}
}
},
"cloneOpts": {
"type": "object",
-
"required": ["skip", "depth", "submodules"],
"properties": {
"skip": {
"type": "boolean"
···
},
"step": {
"type": "object",
-
"required": ["name", "command"],
"properties": {
"name": {
"type": "string"
···
"environment": {
"type": "array",
"items": {
-
"type": "object",
-
"required": ["key", "value"],
-
"properties": {
-
"key": {
-
"type": "string"
-
},
-
"value": {
-
"type": "string"
-
}
-
}
}
}
}
}
}
}
···
"key": "tid",
"record": {
"type": "object",
+
"required": [
+
"triggerMetadata",
+
"workflows"
+
],
"properties": {
"triggerMetadata": {
"type": "ref",
···
},
"triggerMetadata": {
"type": "object",
+
"required": [
+
"kind",
+
"repo"
+
],
"properties": {
"kind": {
"type": "string",
+
"enum": [
+
"push",
+
"pull_request",
+
"manual"
+
]
},
"repo": {
"type": "ref",
···
},
"triggerRepo": {
"type": "object",
+
"required": [
+
"knot",
+
"did",
+
"repo",
+
"defaultBranch"
+
],
"properties": {
"knot": {
"type": "string"
···
},
"pushTriggerData": {
"type": "object",
+
"required": [
+
"ref",
+
"newSha",
+
"oldSha"
+
],
"properties": {
"ref": {
"type": "string"
···
},
"pullRequestTriggerData": {
"type": "object",
+
"required": [
+
"sourceBranch",
+
"targetBranch",
+
"sourceSha",
+
"action"
+
],
"properties": {
"sourceBranch": {
"type": "string"
···
"inputs": {
"type": "array",
"items": {
+
"type": "ref",
+
"ref": "#pair"
}
}
}
},
"workflow": {
"type": "object",
+
"required": [
+
"name",
+
"dependencies",
+
"steps",
+
"environment",
+
"clone"
+
],
"properties": {
"name": {
"type": "string"
},
"dependencies": {
+
"type": "array",
+
"items": {
+
"type": "ref",
+
"ref": "#dependency"
+
}
},
"steps": {
"type": "array",
···
"environment": {
"type": "array",
"items": {
+
"type": "ref",
+
"ref": "#pair"
}
},
"clone": {
···
}
}
},
+
"dependency": {
+
"type": "object",
+
"required": [
+
"registry",
+
"packages"
+
],
+
"properties": {
+
"registry": {
+
"type": "string"
+
},
+
"packages": {
+
"type": "array",
+
"items": {
"type": "string"
}
}
}
},
"cloneOpts": {
"type": "object",
+
"required": [
+
"skip",
+
"depth",
+
"submodules"
+
],
"properties": {
"skip": {
"type": "boolean"
···
},
"step": {
"type": "object",
+
"required": [
+
"name",
+
"command"
+
],
"properties": {
"name": {
"type": "string"
···
"environment": {
"type": "array",
"items": {
+
"type": "ref",
+
"ref": "#pair"
}
}
}
+
},
+
"pair": {
+
"type": "object",
+
"required": [
+
"key",
+
"value"
+
],
+
"properties": {
+
"key": {
+
"type": "string"
+
},
+
"value": {
+
"type": "string"
+
}
+
}
}
}
}