schema.json 3.4 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. "legacy": {
  19. "$ref": "#/definitions/Legacy"
  20. },
  21. "stable": {
  22. "type": "boolean"
  23. },
  24. "python": {
  25. "type": "string",
  26. "enum": [
  27. "3.6",
  28. "3.7",
  29. "3.8",
  30. "3.9"
  31. ]
  32. },
  33. "frequency": {
  34. "type": "string",
  35. "enum": [
  36. "disabled",
  37. "multi",
  38. "nightly",
  39. "weekly"
  40. ]
  41. },
  42. "team": {
  43. "type": "string"
  44. },
  45. "driver_setup": {
  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_env": {
  76. "type": "string"
  77. },
  78. "cluster_compute": {
  79. "type": "string"
  80. },
  81. "autosuspend_mins": {
  82. "type": "integer",
  83. "minimum": -1
  84. },
  85. "cloud_id": {
  86. "type": "string"
  87. },
  88. "cloud_name": {
  89. "type": "string"
  90. }
  91. },
  92. "required": [
  93. "cluster_compute",
  94. "cluster_env"
  95. ],
  96. "title": "Cluster"
  97. },
  98. "Legacy": {
  99. "type": "object",
  100. "additionalProperties": false,
  101. "properties": {
  102. "test_name": {
  103. "type": "string"
  104. },
  105. "test_suite": {
  106. "type": "string"
  107. }
  108. },
  109. "required": [
  110. "test_name",
  111. "test_suite"
  112. ],
  113. "title": "Legacy"
  114. },
  115. "Run": {
  116. "type": "object",
  117. "additionalProperties": false,
  118. "properties": {
  119. "type": {
  120. "type": "string",
  121. "enum": [
  122. "command",
  123. "sdk_command",
  124. "job",
  125. "client"
  126. ]
  127. },
  128. "file_manager": {
  129. "type": "string",
  130. "enum": [
  131. "sdk",
  132. "client",
  133. "job"
  134. ]
  135. },
  136. "wait_for_nodes": {
  137. "$ref": "#/definitions/WaitForNodes"
  138. },
  139. "prepare": {
  140. "type": "string"
  141. },
  142. "prepare_timeout": {
  143. "type": "integer"
  144. },
  145. "script": {
  146. "type": "string"
  147. },
  148. "timeout": {
  149. "type": "integer"
  150. },
  151. "long_running": {
  152. "type": "boolean"
  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. "driver_setup": {
  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. "disabled",
  201. "multi",
  202. "nightly",
  203. "weekly"
  204. ]
  205. }
  206. },
  207. "required": [
  208. "frequency"
  209. ]
  210. }
  211. }
  212. }