Files
runner/src/Sdk/DTPipelines/workflow-v1.0.json
T

820 lines
16 KiB
JSON
Raw Normal View History

2019-10-10 00:52:42 -04:00
{
"version": "workflow-v1.0",
"definitions": {
"workflow-root": {
"description": "Workflow file",
"mapping": {
"properties": {
"on": "any",
"name": "string",
2020-03-17 23:40:37 -04:00
"defaults": "workflow-defaults",
2019-10-10 00:52:42 -04:00
"env": "workflow-env",
"jobs": "jobs"
}
}
},
"steps-template-root": {
"description": "Steps template file",
"mapping": {
"properties": {
"inputs": "steps-template-inputs",
"outputs": "steps-template-outputs",
"steps": "steps-in-template"
}
}
},
"steps-scope-inputs": {
"description": "Used when evaluating steps scope inputs",
"mapping": {
"loose-key-type": "non-empty-string",
"loose-value-type": "steps-scope-input-value"
}
},
"steps-scope-input-value": {
"context": [
"github",
"strategy",
2020-03-14 17:54:58 -04:00
"needs",
2019-10-10 00:52:42 -04:00
"matrix",
"secrets",
"steps",
"inputs",
"job",
"runner",
"env"
],
"one-of": [
"string",
"sequence",
"mapping"
]
},
"steps-scope-outputs": {
"description": "Used when evaluating steps scope outputs",
"mapping": {
"loose-key-type": "non-empty-string",
"loose-value-type": "steps-scope-output-value"
}
},
"steps-scope-output-value": {
"context": [
"github",
"strategy",
"matrix",
2020-03-14 17:54:58 -04:00
"needs",
2019-10-10 00:52:42 -04:00
"secrets",
"steps",
"inputs",
"job",
"runner",
"env"
],
"string": {}
},
"steps-template-inputs": {
"description": "Allowed inputs in a steps template",
"mapping": {
"loose-key-type": "non-empty-string",
"loose-value-type": "steps-template-input-value"
}
},
"steps-template-input-value": {
"description": "Default input values for a steps template",
"context": [
"github",
"strategy",
2020-03-14 17:54:58 -04:00
"matrix",
"needs"
2019-10-10 00:52:42 -04:00
],
"one-of": [
"string",
"sequence",
"mapping"
]
},
"steps-template-outputs": {
"description": "Output mapping for a steps template",
"mapping": {
"loose-key-type": "non-empty-string",
"loose-value-type": "steps-template-output-value"
}
},
"steps-template-output-value": {
"description": "Output values for a steps template",
"context": [
"github",
"strategy",
"matrix",
2020-03-14 17:54:58 -04:00
"needs",
2019-10-10 00:52:42 -04:00
"secrets",
"steps",
"job",
"runner",
"env"
],
"string": {}
},
2020-03-17 23:40:37 -04:00
"workflow-defaults": {
"mapping": {
"properties": {
"run": "workflow-defaults-run"
}
}
},
"workflow-defaults-run": {
"mapping": {
"properties": {
"shell": "non-empty-string",
"working-directory": "non-empty-string"
}
}
},
2019-10-10 00:52:42 -04:00
"workflow-env": {
"context": [
"github",
"secrets"
],
"mapping": {
"loose-key-type": "non-empty-string",
"loose-value-type": "string"
}
},
"jobs": {
"mapping": {
"loose-key-type": "non-empty-string",
"loose-value-type": "job"
}
},
"job": {
"mapping": {
"properties": {
"needs": "needs",
2020-03-14 17:54:58 -04:00
"if": "job-if",
2019-10-10 00:52:42 -04:00
"strategy": "strategy",
"name": "string-strategy-context",
2020-03-14 17:54:58 -04:00
"runs-on": {
"type": "runs-on",
"required": true
},
2019-10-10 00:52:42 -04:00
"timeout-minutes": "number-strategy-context",
"cancel-timeout-minutes": "number-strategy-context",
2020-03-14 17:54:58 -04:00
"continue-on-error": "boolean-strategy-context",
2019-10-10 00:52:42 -04:00
"container": "container",
"services": "services",
"env": "job-env",
2020-03-14 17:54:58 -04:00
"outputs": "job-outputs",
2020-03-17 23:40:37 -04:00
"defaults": "job-defaults",
2019-10-10 00:52:42 -04:00
"steps": "steps"
}
}
},
"needs": {
"one-of": [
"sequence-of-non-empty-string",
"non-empty-string"
]
},
2020-03-14 17:54:58 -04:00
"job-if": {
"context": [
"github",
"needs",
"always(0,0)",
"failure(0,MAX)",
"cancelled(0,0)",
"success(0,MAX)"
],
"string": {}
},
2019-10-10 00:52:42 -04:00
"strategy": {
"context": [
2020-03-14 17:54:58 -04:00
"github",
"needs"
2019-10-10 00:52:42 -04:00
],
"mapping": {
"properties": {
"fail-fast": "boolean",
"max-parallel": "number",
"matrix": "matrix"
}
}
},
"matrix": {
"mapping": {
"properties": {
"include": "matrix-include",
"exclude": "matrix-exclude"
},
"loose-key-type": "non-empty-string",
"loose-value-type": "sequence"
}
},
"matrix-include": {
"sequence": {
"item-type": "matrix-include-item"
}
},
"matrix-include-item": {
"mapping": {
"loose-key-type": "non-empty-string",
"loose-value-type": "any"
}
},
"matrix-exclude": {
"sequence": {
"item-type": "matrix-exclude-item"
}
},
"matrix-exclude-item": {
"mapping": {
"loose-key-type": "non-empty-string",
"loose-value-type": "matrix-exclude-filter-item"
}
},
"matrix-exclude-filter-item": {
"one-of": [
"string",
"matrix-exclude-mapping-filter"
]
},
"matrix-exclude-mapping-filter": {
"mapping": {
"loose-key-type": "non-empty-string",
"loose-value-type": "matrix-exclude-filter-item"
}
},
"runs-on": {
"context": [
"github",
"strategy",
2020-03-14 17:54:58 -04:00
"matrix",
"needs"
2019-10-10 00:52:42 -04:00
],
"one-of": [
2020-03-14 17:54:58 -04:00
"non-empty-string",
"sequence-of-non-empty-string",
2019-10-10 00:52:42 -04:00
"runs-on-mapping"
]
},
"runs-on-mapping": {
"mapping": {
"properties": {
2020-03-14 17:54:58 -04:00
"pool": {
"type": "non-empty-string",
"required": true
}
2019-10-10 00:52:42 -04:00
}
}
},
"job-env": {
"context": [
"github",
"secrets",
"strategy",
2020-03-14 17:54:58 -04:00
"matrix",
"needs"
2019-10-10 00:52:42 -04:00
],
"mapping": {
"loose-key-type": "non-empty-string",
"loose-value-type": "string"
}
},
2020-03-17 23:40:37 -04:00
"job-defaults": {
"mapping": {
"properties": {
"run": "job-defaults-run"
}
}
},
"job-defaults-run": {
"context": [
"github",
"strategy",
"matrix",
"needs",
"env"
],
"mapping": {
"properties": {
"shell": "non-empty-string",
"working-directory": "non-empty-string"
}
}
},
2020-03-14 17:54:58 -04:00
"job-outputs": {
"mapping": {
"loose-key-type": "non-empty-string",
"loose-value-type": "string-runner-context"
}
},
2019-10-10 00:52:42 -04:00
"steps": {
"sequence": {
"item-type": "steps-item"
}
},
"steps-in-template": {
"sequence": {
"item-type": "steps-item-in-template"
}
},
"steps-item": {
"one-of": [
"run-step",
"regular-step",
"steps-template-reference"
]
},
"steps-item-in-template": {
"one-of": [
"run-step-in-template",
"regular-step-in-template",
"steps-template-reference-in-template"
]
},
"run-step": {
"mapping": {
"properties": {
"name": "string-steps-context",
"id": "non-empty-string",
2020-03-14 17:54:58 -04:00
"if": "step-if",
2019-10-10 00:52:42 -04:00
"timeout-minutes": "number-steps-context",
2020-03-14 17:54:58 -04:00
"run": {
"type": "string-steps-context",
"required": true
},
2019-10-10 00:52:42 -04:00
"continue-on-error": "boolean-steps-context",
"env": "step-env",
"working-directory": "string-steps-context",
"shell": "non-empty-string"
}
}
},
"run-step-in-template": {
"mapping": {
"properties": {
"name": "string-steps-context-in-template",
"id": "non-empty-string",
2020-03-14 17:54:58 -04:00
"if": "step-if-in-template",
2019-10-10 00:52:42 -04:00
"timeout-minutes": "number-steps-context-in-template",
2020-03-14 17:54:58 -04:00
"run": {
"type": "string-steps-context-in-template",
"required": true
},
2019-10-10 00:52:42 -04:00
"continue-on-error": "boolean-steps-context-in-template",
"env": "step-env-in-template",
"working-directory": "string-steps-context-in-template",
"shell": "non-empty-string"
}
}
},
"regular-step": {
"mapping": {
"properties": {
"name": "string-steps-context",
"id": "non-empty-string",
2020-03-14 17:54:58 -04:00
"if": "step-if",
2019-10-10 00:52:42 -04:00
"continue-on-error": "boolean-steps-context",
"timeout-minutes": "number-steps-context",
2020-03-14 17:54:58 -04:00
"uses": {
"type": "non-empty-string",
"required": true
},
2019-10-10 00:52:42 -04:00
"with": "step-with",
"env": "step-env"
}
}
},
"regular-step-in-template": {
"mapping": {
"properties": {
"name": "string-steps-context-in-template",
"id": "non-empty-string",
2020-03-14 17:54:58 -04:00
"if": "step-if-in-template",
2019-10-10 00:52:42 -04:00
"continue-on-error": "boolean-steps-context-in-template",
"timeout-minutes": "number-steps-context-in-template",
2020-03-14 17:54:58 -04:00
"uses": {
"type": "non-empty-string",
"required": true
},
2019-10-10 00:52:42 -04:00
"with": "step-with-in-template",
"env": "step-env-in-template"
}
}
},
2020-03-14 17:54:58 -04:00
"step-if": {
"context": [
"github",
"strategy",
"matrix",
"needs",
"steps",
"job",
"runner",
"env",
"always(0,0)",
"failure(0,0)",
"cancelled(0,0)",
"success(0,0)"
],
"string": {}
},
"step-if-in-template": {
"context": [
"github",
"strategy",
"matrix",
"needs",
"steps",
"inputs",
"job",
"runner",
"env",
"always(0,0)",
"failure(0,0)",
"cancelled(0,0)",
"success(0,0)"
],
"string": {}
},
2019-10-10 00:52:42 -04:00
"steps-template-reference": {
"mapping": {
"properties": {
"template": "non-empty-string",
"id": "non-empty-string",
"inputs": "steps-template-reference-inputs"
}
}
},
"steps-template-reference-in-template": {
"mapping": {
"properties": {
"template": "non-empty-string",
"id": "non-empty-string",
"inputs": "steps-template-reference-inputs-in-template"
}
}
},
"steps-template-reference-inputs": {
"context": [
"github",
"strategy",
"matrix",
2020-03-14 17:54:58 -04:00
"needs",
2019-10-10 00:52:42 -04:00
"secrets",
"steps",
"job",
"runner",
"env"
],
"mapping": {
"loose-key-type": "non-empty-string",
"loose-value-type": "string"
}
},
"steps-template-reference-inputs-in-template": {
"context": [
"github",
"strategy",
"matrix",
2020-03-14 17:54:58 -04:00
"needs",
2019-10-10 00:52:42 -04:00
"secrets",
"steps",
"inputs",
"job",
"runner",
"env"
],
"mapping": {
"loose-key-type": "non-empty-string",
"loose-value-type": "string"
}
},
"step-env": {
"context": [
"github",
"strategy",
"matrix",
2020-03-14 17:54:58 -04:00
"needs",
2019-10-10 00:52:42 -04:00
"secrets",
"steps",
"job",
"runner",
"env"
],
"mapping": {
"loose-key-type": "non-empty-string",
"loose-value-type": "string"
}
},
"step-env-in-template": {
"context": [
"github",
"strategy",
"matrix",
2020-03-14 17:54:58 -04:00
"needs",
2019-10-10 00:52:42 -04:00
"secrets",
"steps",
"inputs",
"job",
"runner",
"env"
],
"mapping": {
"loose-key-type": "non-empty-string",
"loose-value-type": "string"
}
},
"step-with": {
"context": [
"github",
"strategy",
"matrix",
2020-03-14 17:54:58 -04:00
"needs",
2019-10-10 00:52:42 -04:00
"secrets",
"steps",
"job",
"runner",
"env"
],
"mapping": {
"loose-key-type": "non-empty-string",
"loose-value-type": "string"
}
},
"container": {
"context": [
"github",
"strategy",
2020-03-14 17:54:58 -04:00
"matrix",
"needs"
2019-10-10 00:52:42 -04:00
],
"one-of": [
2020-01-12 23:02:36 -05:00
"string",
2019-10-10 00:52:42 -04:00
"container-mapping"
]
},
"container-mapping": {
"mapping": {
"properties": {
"image": "non-empty-string",
"options": "non-empty-string",
"env": "container-env",
"ports": "sequence-of-non-empty-string",
"volumes": "sequence-of-non-empty-string"
}
}
},
"services": {
"context": [
"github",
"strategy",
2020-03-14 17:54:58 -04:00
"matrix",
"needs"
2019-10-10 00:52:42 -04:00
],
"mapping": {
"loose-key-type": "non-empty-string",
2020-01-12 23:02:36 -05:00
"loose-value-type": "services-container"
2019-10-10 00:52:42 -04:00
}
},
2020-01-12 23:02:36 -05:00
"services-container": {
"context": [
"github",
"strategy",
2020-03-14 17:54:58 -04:00
"matrix",
"needs"
2020-01-12 23:02:36 -05:00
],
"one-of": [
"non-empty-string",
"container-mapping"
]
},
2019-10-10 00:52:42 -04:00
"container-env": {
"mapping": {
"loose-key-type": "non-empty-string",
"loose-value-type": "string"
}
},
"step-with-in-template": {
2020-03-14 17:54:58 -04:00
"context": [
"github",
"strategy",
"matrix",
"needs",
"secrets",
"steps",
"inputs",
"job",
"runner",
"env"
],
"mapping": {
"loose-key-type": "non-empty-string",
"loose-value-type": "string"
}
},
2019-10-10 00:52:42 -04:00
"non-empty-string": {
"string": {
"require-non-empty": true
}
},
"sequence-of-non-empty-string": {
"sequence": {
"item-type": "non-empty-string"
}
},
2020-03-14 17:54:58 -04:00
"boolean-strategy-context": {
"context": [
"github",
"strategy",
"matrix",
"needs"
],
"boolean": {}
},
2019-10-10 00:52:42 -04:00
"number-strategy-context": {
"context": [
"github",
"strategy",
2020-03-14 17:54:58 -04:00
"matrix",
"needs"
2019-10-10 00:52:42 -04:00
],
"number": {}
},
"string-strategy-context": {
"context": [
"github",
"strategy",
2020-03-14 17:54:58 -04:00
"matrix",
"needs"
2019-10-10 00:52:42 -04:00
],
"string": {}
},
"boolean-steps-context": {
"context": [
"github",
"strategy",
"matrix",
2020-03-14 17:54:58 -04:00
"needs",
2019-10-10 00:52:42 -04:00
"secrets",
"steps",
"job",
"runner",
"env"
],
"boolean": {}
},
"boolean-steps-context-in-template": {
"context": [
"github",
"strategy",
"matrix",
2020-03-14 17:54:58 -04:00
"needs",
2019-10-10 00:52:42 -04:00
"secrets",
"steps",
"inputs",
"job",
"runner",
"env"
],
"boolean": {}
},
"number-steps-context": {
"context": [
"github",
"strategy",
"matrix",
2020-03-14 17:54:58 -04:00
"needs",
2019-10-10 00:52:42 -04:00
"secrets",
"steps",
"job",
"runner",
"env"
],
"number": {}
},
"number-steps-context-in-template": {
"context": [
"github",
"strategy",
"matrix",
2020-03-14 17:54:58 -04:00
"needs",
2019-10-10 00:52:42 -04:00
"secrets",
"steps",
"inputs",
"job",
"runner",
"env"
],
"number": {}
},
2020-03-14 17:54:58 -04:00
"string-runner-context": {
"context": [
"github",
"strategy",
"matrix",
"needs",
"secrets",
"steps",
"job",
"runner",
"env"
],
"string": {}
},
2019-10-10 00:52:42 -04:00
"string-steps-context": {
"context": [
"github",
"strategy",
"matrix",
2020-03-14 17:54:58 -04:00
"needs",
2019-10-10 00:52:42 -04:00
"secrets",
"steps",
"job",
"runner",
"env"
],
"string": {}
},
"string-steps-context-in-template": {
"context": [
"github",
"strategy",
"matrix",
2020-03-14 17:54:58 -04:00
"needs",
2019-10-10 00:52:42 -04:00
"secrets",
"steps",
"inputs",
"job",
"runner",
"env"
],
"string": {}
}
}
}