schema.json 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212
  1. {
  2. "$schema": "http://json-schema.org/draft-06/schema#",
  3. "$ref": "#/definitions/Test",
  4. "definitions": {
  5. "Test": {
  6. "type": "object",
  7. "additionalProperties": false,
  8. "properties": {
  9. "name": {
  10. "type": "string"
  11. },
  12. "group": {
  13. "type": "string"
  14. },
  15. "working_dir": {
  16. "type": "string"
  17. },
  18. "repeated_run": {
  19. "type": "integer"
  20. },
  21. "env": {
  22. "type": "string"
  23. },
  24. "stable": {
  25. "type": "boolean"
  26. },
  27. "python": {
  28. "type": "string",
  29. "enum": [
  30. "3.9",
  31. "3.11"
  32. ]
  33. },
  34. "frequency": {
  35. "type": "string",
  36. "enum": [
  37. "manual",
  38. "multi",
  39. "nightly",
  40. "nightly-3x",
  41. "weekly"
  42. ]
  43. },
  44. "team": {
  45. "type": "string"
  46. },
  47. "cluster": {
  48. "$ref": "#/definitions/Cluster"
  49. },
  50. "run": {
  51. "$ref": "#/definitions/Run"
  52. },
  53. "smoke_test": {
  54. "$ref": "#/definitions/SmokeTest"
  55. },
  56. "alert": {
  57. "type": "string"
  58. }
  59. },
  60. "required": [
  61. "cluster",
  62. "frequency",
  63. "name",
  64. "run",
  65. "team",
  66. "working_dir"
  67. ],
  68. "title": "Test"
  69. },
  70. "Cluster": {
  71. "type": "object",
  72. "additionalProperties": false,
  73. "properties": {
  74. "cluster_compute": {
  75. "type": "string"
  76. },
  77. "autosuspend_mins": {
  78. "type": "integer",
  79. "minimum": -1
  80. },
  81. "cloud_id": {
  82. "type": "string"
  83. },
  84. "cloud_name": {
  85. "type": "string"
  86. },
  87. "byod": {
  88. "$ref": "#/definitions/Byod"
  89. }
  90. },
  91. "required": [
  92. "byod",
  93. "cluster_compute"
  94. ],
  95. "title": "Cluster"
  96. },
  97. "Byod": {
  98. "type": "object",
  99. "additionalProperties": false,
  100. "properties": {
  101. "type":{
  102. "type": "string"
  103. },
  104. "post_build_script":{
  105. "type": "string"
  106. },
  107. "pip": {
  108. "type": "array"
  109. },
  110. "runtime_env": {
  111. "type": "array"
  112. }
  113. },
  114. "required": [
  115. ],
  116. "title": "Byod"
  117. },
  118. "Run": {
  119. "type": "object",
  120. "additionalProperties": false,
  121. "properties": {
  122. "type": {
  123. "type": "string",
  124. "enum": [
  125. "command",
  126. "sdk_command",
  127. "job",
  128. "client",
  129. "anyscale_job"
  130. ]
  131. },
  132. "wait_for_nodes": {
  133. "$ref": "#/definitions/WaitForNodes"
  134. },
  135. "prepare": {
  136. "type": "string"
  137. },
  138. "prepare_timeout": {
  139. "type": "integer"
  140. },
  141. "script": {
  142. "type": "string"
  143. },
  144. "timeout": {
  145. "type": "integer"
  146. },
  147. "long_running": {
  148. "type": "boolean"
  149. },
  150. "artifact_path": {
  151. "type": "string"
  152. }
  153. },
  154. "required": [
  155. "script",
  156. "timeout"
  157. ],
  158. "title": "Run"
  159. },
  160. "WaitForNodes": {
  161. "type": "object",
  162. "additionalProperties": false,
  163. "properties": {
  164. "num_nodes": {
  165. "type": "integer"
  166. },
  167. "timeout": {
  168. "type": "integer"
  169. }
  170. },
  171. "required": [
  172. "num_nodes"
  173. ],
  174. "title": "WaitForNodes"
  175. },
  176. "SmokeTest": {
  177. "type": "object",
  178. "additionalProperties": false,
  179. "title": "SmokeTest",
  180. "properties": {
  181. "working_dir": {
  182. "type": "string"
  183. },
  184. "env": {
  185. "type": "string"
  186. },
  187. "cluster": {
  188. "type": "object"
  189. },
  190. "run": {
  191. "type": "object"
  192. },
  193. "alert": {
  194. "type": "string"
  195. },
  196. "frequency": {
  197. "type": "string",
  198. "enum": [
  199. "manual",
  200. "multi",
  201. "nightly",
  202. "nightly-3x",
  203. "weekly"
  204. ]
  205. }
  206. },
  207. "required": [
  208. "frequency"
  209. ]
  210. }
  211. }
  212. }