new-workflow-lexicon.diff edited
107 lines 2.2 kB view raw
1diff --git a/lexicons/pipeline/pipeline.json b/lexicons/pipeline/pipeline.json 2index 9c1138b565..5a756302a3 100644 3--- a/lexicons/pipeline/pipeline.json 4+++ b/lexicons/pipeline/pipeline.json 5@@ -151,7 +151,7 @@ 6 "name", 7 "engine", 8 "clone", 9- "raw" 10+ "rest" 11 ], 12 "properties": { 13 "name": { 14@@ -164,8 +164,12 @@ 15 "type": "ref", 16 "ref": "#cloneOpts" 17 }, 18- "raw": { 19- "type": "string" 20+ "rest": { 21+ "type": "union", 22+ "closed": false, 23+ "refs": [ 24+ "#nixeryWorkflowFields" 25+ ] 26 } 27 } 28 }, 29@@ -202,6 +206,78 @@ 30 "type": "string" 31 } 32 } 33+ }, 34+ "commandStep": { 35+ "type": "object", 36+ "required": [ 37+ "name", 38+ "command" 39+ ], 40+ "properties": { 41+ "name": { 42+ "type": "string" 43+ }, 44+ "command": { 45+ "type": "string" 46+ }, 47+ "environment": { 48+ "type": "array", 49+ "items": { 50+ "type": "ref", 51+ "ref": "#pair" 52+ } 53+ } 54+ } 55+ }, 56+ 57+ "nixeryWorkflowFields": { 58+ "type": "object", 59+ "required": [ 60+ "dependencies", 61+ "steps", 62+ "environment" 63+ ], 64+ "properties": { 65+ "dependencies": { 66+ "type": "array", 67+ "items": { 68+ "type": "ref", 69+ "ref": "#nixeryDependency" 70+ } 71+ }, 72+ "steps": { 73+ "type": "array", 74+ "items": { 75+ "type": "ref", 76+ "ref": "#commandStep" 77+ } 78+ }, 79+ "environment": { 80+ "type": "array", 81+ "items": { 82+ "type": "ref", 83+ "ref": "#pair" 84+ } 85+ } 86+ } 87+ }, 88+ "nixeryDependency": { 89+ "type": "object", 90+ "required": [ 91+ "registry", 92+ "packages" 93+ ], 94+ "properties": { 95+ "registry": { 96+ "type": "string" 97+ }, 98+ "packages": { 99+ "type": "array", 100+ "items": { 101+ "type": "string" 102+ } 103+ } 104+ } 105 } 106 } 107 }