schema.json 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198
  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. "env": {
  19. "type": "string"
  20. },
  21. "stable": {
  22. "type": "boolean"
  23. },
  24. "jailed": {
  25. "type": "boolean"
  26. },
  27. "python": {
  28. "type": "string",
  29. "enum": [
  30. "3.7",
  31. "3.8",
  32. "3.9"
  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. "driver_setup": {
  49. "type": "string"
  50. },
  51. "cluster": {
  52. "$ref": "#/definitions/Cluster"
  53. },
  54. "run": {
  55. "$ref": "#/definitions/Run"
  56. },
  57. "smoke_test": {
  58. "$ref": "#/definitions/SmokeTest"
  59. },
  60. "alert": {
  61. "type": "string"
  62. }
  63. },
  64. "required": [
  65. "cluster",
  66. "frequency",
  67. "name",
  68. "run",
  69. "team",
  70. "working_dir"
  71. ],
  72. "title": "Test"
  73. },
  74. "Cluster": {
  75. "type": "object",
  76. "additionalProperties": false,
  77. "properties": {
  78. "cluster_env": {
  79. "type": "string"
  80. },
  81. "cluster_compute": {
  82. "type": "string"
  83. },
  84. "autosuspend_mins": {
  85. "type": "integer",
  86. "minimum": -1
  87. },
  88. "cloud_id": {
  89. "type": "string"
  90. },
  91. "cloud_name": {
  92. "type": "string"
  93. }
  94. },
  95. "required": [
  96. "cluster_compute",
  97. "cluster_env"
  98. ],
  99. "title": "Cluster"
  100. },
  101. "Run": {
  102. "type": "object",
  103. "additionalProperties": false,
  104. "properties": {
  105. "type": {
  106. "type": "string",
  107. "enum": [
  108. "command",
  109. "sdk_command",
  110. "job",
  111. "client",
  112. "anyscale_job"
  113. ]
  114. },
  115. "wait_for_nodes": {
  116. "$ref": "#/definitions/WaitForNodes"
  117. },
  118. "prepare": {
  119. "type": "string"
  120. },
  121. "prepare_timeout": {
  122. "type": "integer"
  123. },
  124. "script": {
  125. "type": "string"
  126. },
  127. "timeout": {
  128. "type": "integer"
  129. },
  130. "long_running": {
  131. "type": "boolean"
  132. },
  133. "artifact_path": {
  134. "type": "string"
  135. }
  136. },
  137. "required": [
  138. "script",
  139. "timeout"
  140. ],
  141. "title": "Run"
  142. },
  143. "WaitForNodes": {
  144. "type": "object",
  145. "additionalProperties": false,
  146. "properties": {
  147. "num_nodes": {
  148. "type": "integer"
  149. },
  150. "timeout": {
  151. "type": "integer"
  152. }
  153. },
  154. "required": [
  155. "num_nodes"
  156. ],
  157. "title": "WaitForNodes"
  158. },
  159. "SmokeTest": {
  160. "type": "object",
  161. "additionalProperties": false,
  162. "title": "SmokeTest",
  163. "properties": {
  164. "working_dir": {
  165. "type": "string"
  166. },
  167. "env": {
  168. "type": "string"
  169. },
  170. "driver_setup": {
  171. "type": "string"
  172. },
  173. "cluster": {
  174. "type": "object"
  175. },
  176. "run": {
  177. "type": "object"
  178. },
  179. "alert": {
  180. "type": "string"
  181. },
  182. "frequency": {
  183. "type": "string",
  184. "enum": [
  185. "manual",
  186. "multi",
  187. "nightly",
  188. "nightly-3x",
  189. "weekly"
  190. ]
  191. }
  192. },
  193. "required": [
  194. "frequency"
  195. ]
  196. }
  197. }
  198. }