schema.json 3.3 KB

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