pipeline.yml 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385
  1. - label: ":ferris_wheel: Wheels and Jars"
  2. conditions:
  3. [
  4. "RAY_CI_LINUX_WHEELS_AFFECTED",
  5. "RAY_CI_JAVA_AFFECTED",
  6. ]
  7. commands:
  8. # Build the wheels and jars
  9. - LINUX_WHEELS=1 LINUX_JARS=1 ./ci/travis/ci.sh build
  10. - bash ./java/build-jar-multiplatform.sh linux
  11. # Upload the wheels and jars
  12. # We don't want to push on PRs, in fact, the copy_files will fail because unauthenticated.
  13. - if [ "$BUILDKITE_PULL_REQUEST" != "false" ]; then exit 0; fi
  14. - pip install -q docker aws_requests_auth boto3
  15. # Upload to branch directory.
  16. - python .buildkite/copy_files.py --destination branch_wheels --path ./.whl
  17. - python .buildkite/copy_files.py --destination branch_jars --path ./.jar/linux
  18. # Upload to latest directory.
  19. - if [ "$BUILDKITE_BRANCH" == "master" ]; then python .buildkite/copy_files.py --destination wheels --path ./.whl; fi
  20. - if [ "$BUILDKITE_BRANCH" == "master" ]; then python .buildkite/copy_files.py --destination jars --path ./.jar/linux; fi
  21. - label: ":ferris_wheel: Post-wheel tests"
  22. conditions: ["RAY_CI_LINUX_WHEELS_AFFECTED"]
  23. commands:
  24. - LINUX_WHEELS=1 ./ci/travis/ci.sh build
  25. - cleanup() { if [ "${BUILDKITE_PULL_REQUEST}" = "false" ]; then ./ci/travis/upload_build_info.sh; fi }; trap cleanup EXIT
  26. - bazel test --config=ci $(./scripts/bazel_export_options)
  27. --test_tag_filters=post_wheel_build
  28. --test_env=CONDA_EXE
  29. --test_env=CONDA_PYTHON_EXE
  30. --test_env=CONDA_SHLVL
  31. --test_env=CONDA_PREFIX
  32. --test_env=CONDA_DEFAULT_ENV
  33. --test_env=CI
  34. --test_env=RAY_CI_POST_WHEEL_TESTS=True
  35. python/ray/tests/... python/ray/serve/... python/ray/tune/... rllib/... doc/...
  36. - label: ":ferris_wheel: Debug Wheels"
  37. conditions:
  38. [
  39. "RAY_CI_LINUX_WHEELS_AFFECTED",
  40. "RAY_CI_JAVA_AFFECTED",
  41. ]
  42. commands:
  43. # Build the debug wheels
  44. - RAY_DEBUG_BUILD=debug LINUX_WHEELS=1 ./ci/travis/ci.sh build
  45. # Upload the wheels.
  46. # We don't want to push on PRs, in fact, the copy_files will fail because unauthenticated.
  47. - if [ "$BUILDKITE_PULL_REQUEST" != "false" ]; then exit 0; fi
  48. - pip install -q docker aws_requests_auth boto3
  49. # Upload to branch directory.
  50. - python .buildkite/copy_files.py --destination branch_wheels --path ./.whl
  51. # Upload to latest directory.
  52. - if [ "$BUILDKITE_BRANCH" == "master" ]; then python .buildkite/copy_files.py --destination wheels --path ./.whl; fi
  53. # Not working now.
  54. # - label: ":ferris_wheel: ASAN Wheels"
  55. # conditions:
  56. # [
  57. # "RAY_CI_LINUX_WHEELS_AFFECTED",
  58. # "RAY_CI_JAVA_AFFECTED",
  59. # ]
  60. # commands:
  61. # # Build the asan wheels
  62. # - RAY_DEBUG_BUILD=asan LINUX_WHEELS=1 ./ci/travis/ci.sh build
  63. # # Upload the wheels.
  64. # # We don't want to push on PRs, in fact, the copy_files will fail because unauthenticated.
  65. # - if [ "$BUILDKITE_PULL_REQUEST" != "false" ]; then exit 0; fi
  66. # - pip install -q docker aws_requests_auth boto3
  67. # # Upload to branch directory.
  68. # - python .buildkite/copy_files.py --destination branch_wheels --path ./.whl
  69. # # Upload to latest directory.
  70. # - if [ "$BUILDKITE_BRANCH" == "master" ]; then python .buildkite/copy_files.py --destination wheels --path ./.whl; fi
  71. - label: ":docker: Build Images: py36 (1/2)"
  72. conditions: ["RAY_CI_LINUX_WHEELS_AFFECTED"]
  73. commands:
  74. - LINUX_WHEELS=1 ./ci/travis/ci.sh build
  75. - pip install -q docker aws_requests_auth boto3
  76. - if [ "${BUILDKITE_PULL_REQUEST}" = "false" ]; then python .buildkite/copy_files.py --destination docker_login; fi
  77. - python ./ci/travis/build-docker-images.py --py-versions py36 --device-types cpu cu101 cu102 --build-type BUILDKITE --build-base
  78. - label: ":docker: Build Images: py36 (2/2)"
  79. conditions: ["RAY_CI_LINUX_WHEELS_AFFECTED"]
  80. commands:
  81. - LINUX_WHEELS=1 ./ci/travis/ci.sh build
  82. - pip install -q docker aws_requests_auth boto3
  83. - if [ "${BUILDKITE_PULL_REQUEST}" = "false" ]; then python .buildkite/copy_files.py --destination docker_login; fi
  84. - python ./ci/travis/build-docker-images.py --py-versions py36 --device-types cu110 cu111 cu112 --build-type BUILDKITE --build-base
  85. - label: ":docker: Build Images: py37 (1/2)"
  86. conditions: ["RAY_CI_LINUX_WHEELS_AFFECTED"]
  87. commands:
  88. - LINUX_WHEELS=1 ./ci/travis/ci.sh build
  89. - pip install -q docker aws_requests_auth boto3
  90. - if [ "${BUILDKITE_PULL_REQUEST}" = "false" ]; then python .buildkite/copy_files.py --destination docker_login; fi
  91. - python ./ci/travis/build-docker-images.py --py-versions py37 --device-types cpu cu101 cu102 --build-type BUILDKITE --build-base
  92. - label: ":docker: Build Images: py37 (2/2)"
  93. conditions: ["RAY_CI_LINUX_WHEELS_AFFECTED"]
  94. commands:
  95. - LINUX_WHEELS=1 ./ci/travis/ci.sh build
  96. - pip install -q docker aws_requests_auth boto3
  97. - if [ "${BUILDKITE_PULL_REQUEST}" = "false" ]; then python .buildkite/copy_files.py --destination docker_login; fi
  98. - python ./ci/travis/build-docker-images.py --py-versions py37 --device-types cu110 cu111 cu112 --build-type BUILDKITE --build-base
  99. - label: ":docker: Build Images: py38 (1/2)"
  100. conditions: ["RAY_CI_LINUX_WHEELS_AFFECTED"]
  101. commands:
  102. - LINUX_WHEELS=1 ./ci/travis/ci.sh build
  103. - pip install -q docker aws_requests_auth boto3
  104. - if [ "${BUILDKITE_PULL_REQUEST}" = "false" ]; then python .buildkite/copy_files.py --destination docker_login; fi
  105. - python ./ci/travis/build-docker-images.py --py-versions py38 --device-types cpu cu101 cu102 --build-type BUILDKITE --build-base
  106. - label: ":docker: Build Images: py38 (2/2)"
  107. conditions: ["RAY_CI_LINUX_WHEELS_AFFECTED"]
  108. commands:
  109. - LINUX_WHEELS=1 ./ci/travis/ci.sh build
  110. - pip install -q docker aws_requests_auth boto3
  111. - if [ "${BUILDKITE_PULL_REQUEST}" = "false" ]; then python .buildkite/copy_files.py --destination docker_login; fi
  112. - python ./ci/travis/build-docker-images.py --py-versions py38 --device-types cu110 cu111 cu112 --build-type BUILDKITE --build-base
  113. - label: ":docker: Build Images: py39 (1/2)"
  114. conditions: ["RAY_CI_LINUX_WHEELS_AFFECTED"]
  115. commands:
  116. - LINUX_WHEELS=1 ./ci/travis/ci.sh build
  117. - pip install -q docker aws_requests_auth boto3
  118. - if [ "${BUILDKITE_PULL_REQUEST}" = "false" ]; then python .buildkite/copy_files.py --destination docker_login; fi
  119. - python ./ci/travis/build-docker-images.py --py-versions py39 --device-types cpu cu101 cu102 --build-type BUILDKITE --build-base
  120. - label: ":docker: Build Images: py39 (2/2)"
  121. conditions: ["RAY_CI_LINUX_WHEELS_AFFECTED"]
  122. commands:
  123. - LINUX_WHEELS=1 ./ci/travis/ci.sh build
  124. - pip install -q docker aws_requests_auth boto3
  125. - if [ "${BUILDKITE_PULL_REQUEST}" = "false" ]; then python .buildkite/copy_files.py --destination docker_login; fi
  126. - python ./ci/travis/build-docker-images.py --py-versions py39 --device-types cu110 cu111 cu112 --build-type BUILDKITE --build-base
  127. - label: ":book: Lint"
  128. commands:
  129. - export LINT=1
  130. - ./ci/travis/install-dependencies.sh
  131. - ./ci/travis/ci.sh lint
  132. - ./ci/travis/ci.sh build
  133. - label: ":java: Java"
  134. conditions: ["RAY_CI_JAVA_AFFECTED"]
  135. commands:
  136. - ./java/test.sh
  137. - label: ":cpp: Ray CPP Worker"
  138. conditions: [ "RAY_CI_CPP_AFFECTED" ]
  139. commands:
  140. - cleanup() { if [ "${BUILDKITE_PULL_REQUEST}" = "false" ]; then ./ci/travis/upload_build_info.sh; fi }; trap cleanup EXIT
  141. - ./ci/travis/ci.sh test_cpp
  142. - label: ":cpp: Tests"
  143. conditions: [ "RAY_CI_CORE_CPP_AFFECTED" ]
  144. commands:
  145. - cleanup() { if [ "${BUILDKITE_PULL_REQUEST}" = "false" ]; then ./ci/travis/upload_build_info.sh; fi }; trap cleanup EXIT
  146. - bazel test --config=ci --config=llvm $(./scripts/bazel_export_options)
  147. --build_tests_only
  148. -- //:all -rllib/... -core_worker_test
  149. - label: ":cpp: Tests (ASAN)"
  150. conditions: [ "RAY_CI_CORE_CPP_AFFECTED" ]
  151. commands:
  152. - cleanup() { if [ "${BUILDKITE_PULL_REQUEST}" = "false" ]; then ./ci/travis/upload_build_info.sh; fi }; trap cleanup EXIT
  153. - bazel test --config=ci --config=asan-clang $(./scripts/bazel_export_options)
  154. --build_tests_only
  155. --jobs=2
  156. -- //:all -//:core_worker_test
  157. - label: ":cpp: Tests (UBSAN)"
  158. conditions: [ "RAY_CI_CORE_CPP_AFFECTED" ]
  159. commands:
  160. - cleanup() { if [ "${BUILDKITE_PULL_REQUEST}" = "false" ]; then ./ci/travis/upload_build_info.sh; fi }; trap cleanup EXIT
  161. - bazel test --config=ci --config=ubsan $(./scripts/bazel_export_options)
  162. --build_tests_only
  163. --jobs=2
  164. -- //:all -//:core_worker_test -//:logging_test
  165. - label: ":cpp: Tests (TSAN)"
  166. conditions: [ "RAY_CI_CORE_CPP_AFFECTED" ]
  167. commands:
  168. - cleanup() { if [ "${BUILDKITE_PULL_REQUEST}" = "false" ]; then ./ci/travis/upload_build_info.sh; fi }; trap cleanup EXIT
  169. - bazel test --config=ci --config=tsan-clang $(./scripts/bazel_export_options)
  170. --build_tests_only
  171. --jobs=2
  172. -- //:all -//:core_worker_test -//:event_test -//:gcs_actor_manager_test
  173. -//:gcs_placement_group_manager_test -//:gcs_placement_group_scheduler_test
  174. -//:gcs_server_rpc_test -//:gcs_server_test
  175. -//:metric_exporter_client_test -//:stats_test -//:worker_pool_test
  176. - label: ":serverless: Dashboard Tests"
  177. conditions:
  178. [
  179. "RAY_CI_DASHBOARD_AFFECTED",
  180. "RAY_CI_PYTHON_AFFECTED",
  181. ]
  182. commands:
  183. - cleanup() { if [ "${BUILDKITE_PULL_REQUEST}" = "false" ]; then ./ci/travis/upload_build_info.sh; fi }; trap cleanup EXIT
  184. - ./dashboard/tests/run_ui_tests.sh
  185. - bazel test --config=ci $(./scripts/bazel_export_options) python/ray/dashboard/...
  186. - label: ":serverless: Serve Release Tests"
  187. conditions:
  188. [
  189. "RAY_CI_SERVE_AFFECTED",
  190. "RAY_CI_PYTHON_AFFECTED",
  191. ]
  192. commands:
  193. - cleanup() { if [ "${BUILDKITE_PULL_REQUEST}" = "false" ]; then ./ci/travis/upload_build_info.sh; fi }; trap cleanup EXIT
  194. - TORCH_VERSION=1.6 ./ci/travis/install-dependencies.sh
  195. - 'git clone https://github.com/wg/wrk.git /tmp/wrk && pushd /tmp/wrk && make -j && sudo cp wrk /usr/local/bin && popd'
  196. - bazel test --config=ci $(./scripts/bazel_export_options)
  197. --test_tag_filters=team:serve
  198. release/...
  199. - label: ":serverless: Serve Tests"
  200. parallelism: 3
  201. conditions:
  202. [
  203. "RAY_CI_SERVE_AFFECTED",
  204. "RAY_CI_PYTHON_AFFECTED",
  205. ]
  206. commands:
  207. - cleanup() { if [ "${BUILDKITE_PULL_REQUEST}" = "false" ]; then ./ci/travis/upload_build_info.sh; fi }; trap cleanup EXIT
  208. - TORCH_VERSION=1.6 ./ci/travis/install-dependencies.sh
  209. - 'git clone https://github.com/wg/wrk.git /tmp/wrk && pushd /tmp/wrk && make -j && sudo cp wrk /usr/local/bin && popd'
  210. - >-
  211. set -x;
  212. python ./scripts/bazel-sharding.py
  213. --exclude_manual
  214. --index "\${BUILDKITE_PARALLEL_JOB}" --count "\${BUILDKITE_PARALLEL_JOB_COUNT}"
  215. python/ray/serve/...
  216. > test_shard.txt
  217. - cat test_shard.txt
  218. - bazel test --config=ci $(./scripts/bazel_export_options)
  219. --test_tag_filters=-post_wheel_build
  220. $(cat test_shard.txt)
  221. - label: ":python: Minimal install"
  222. conditions: ["RAY_CI_PYTHON_AFFECTED"]
  223. commands:
  224. - cleanup() { if [ "${BUILDKITE_PULL_REQUEST}" = "false" ]; then ./ci/travis/upload_build_info.sh; fi }; trap cleanup EXIT
  225. - ./ci/travis/install-minimal.sh
  226. - ./ci/travis/env_info.sh
  227. - python ./ci/travis/check_minimal_install.py
  228. - bazel test --test_output=streamed --config=ci $(./scripts/bazel_export_options)
  229. python/ray/tests/test_basic
  230. - bazel test --test_output=streamed --config=ci $(./scripts/bazel_export_options)
  231. python/ray/tests/test_basic_2
  232. - bazel test --test_output=streamed --config=ci $(./scripts/bazel_export_options)
  233. python/ray/tests/test_basic_3
  234. - bazel test --test_output=streamed --config=ci $(./scripts/bazel_export_options)
  235. python/ray/tests/test_basic_4
  236. - bazel test --test_output=streamed --config=ci $(./scripts/bazel_export_options)
  237. python/ray/tests/test_basic_5
  238. - bazel test --test_output=streamed --config=ci --test_env=RAY_MINIMAL=1 $(./scripts/bazel_export_options)
  239. python/ray/tests/test_output
  240. - bazel test --test_output=streamed --config=ci --test_env=RAY_MINIMAL=1 $(./scripts/bazel_export_options)
  241. python/ray/tests/test_runtime_env_ray_minimal
  242. - bazel test --test_output=streamed --config=ci $(./scripts/bazel_export_options)
  243. python/ray/tests/test_runtime_env
  244. - bazel test --test_output=streamed --config=ci $(./scripts/bazel_export_options)
  245. python/ray/tests/test_runtime_env_2
  246. - bazel test --test_output=streamed --config=ci $(./scripts/bazel_export_options)
  247. python/ray/tests/test_runtime_env_complicated
  248. - bazel test --test_output=streamed --config=ci $(./scripts/bazel_export_options)
  249. python/ray/tests/test_runtime_env_validation
  250. - bazel test --test_output=streamed --config=ci --test_env=RAY_MINIMAL=1 $(./scripts/bazel_export_options)
  251. python/ray/tests/test_serve_ray_minimal
  252. - bazel test --test_output=streamed --config=ci --test_env=RAY_MINIMAL=1 $(./scripts/bazel_export_options)
  253. python/ray/dashboard/test_dashboard
  254. - bazel test --test_output=streamed --config=ci --test_env=RAY_MINIMAL=1 $(./scripts/bazel_export_options)
  255. python/ray/tests/test_usage_stats
  256. - label: ":python: Default install"
  257. conditions: ["RAY_CI_PYTHON_AFFECTED"]
  258. commands:
  259. - cleanup() { if [ "${BUILDKITE_PULL_REQUEST}" = "false" ]; then ./ci/travis/upload_build_info.sh; fi }; trap cleanup EXIT
  260. - ./ci/travis/install-default.sh
  261. - ./ci/travis/env_info.sh
  262. - bazel test --test_output=streamed --config=ci --test_env=RAY_DEFAULT=1 $(./scripts/bazel_export_options)
  263. python/ray/dashboard/test_dashboard
  264. - label: ":python: Release test package unit tests"
  265. conditions: ["ALWAYS"]
  266. commands:
  267. - cleanup() { if [ "${BUILDKITE_PULL_REQUEST}" = "false" ]; then ./ci/travis/upload_build_info.sh; fi }; trap cleanup EXIT
  268. - pip install -e release/
  269. - bazel test --config=ci $(./scripts/bazel_export_options)
  270. --build_tests_only
  271. --test_tag_filters=release_unit
  272. release/...
  273. - label: ":python: (Small & Client)"
  274. conditions: ["RAY_CI_PYTHON_AFFECTED"]
  275. commands:
  276. - cleanup() { if [ "${BUILDKITE_PULL_REQUEST}" = "false" ]; then ./ci/travis/upload_build_info.sh; fi }; trap cleanup EXIT
  277. - bazel test --config=ci $(./scripts/bazel_export_options)
  278. --test_tag_filters=client_tests,small_size_python_tests
  279. -- python/ray/tests/...
  280. - label: ":python: (Large)"
  281. conditions: ["RAY_CI_PYTHON_AFFECTED"]
  282. parallelism: 3
  283. commands:
  284. - cleanup() { if [ "${BUILDKITE_PULL_REQUEST}" = "false" ]; then ./ci/travis/upload_build_info.sh; fi }; trap cleanup EXIT
  285. - . ./ci/travis/ci.sh test_large
  286. - label: ":python: (Medium A-J)"
  287. conditions: ["RAY_CI_PYTHON_AFFECTED"]
  288. commands:
  289. - cleanup() { if [ "${BUILDKITE_PULL_REQUEST}" = "false" ]; then ./ci/travis/upload_build_info.sh; fi }; trap cleanup EXIT
  290. - bazel test --config=ci $(./scripts/bazel_export_options)
  291. --test_tag_filters=-kubernetes,medium_size_python_tests_a_to_j
  292. python/ray/tests/...
  293. - label: ":python: (Medium K-Z)"
  294. conditions: ["RAY_CI_PYTHON_AFFECTED"]
  295. commands:
  296. - cleanup() { if [ "${BUILDKITE_PULL_REQUEST}" = "false" ]; then ./ci/travis/upload_build_info.sh; fi }; trap cleanup EXIT
  297. - bazel test --config=ci $(./scripts/bazel_export_options)
  298. --test_tag_filters=-kubernetes,medium_size_python_tests_k_to_z
  299. python/ray/tests/...
  300. - label: ":python: Debug Test"
  301. conditions: ["RAY_CI_PYTHON_AFFECTED"]
  302. commands:
  303. - cleanup() { if [ "${BUILDKITE_PULL_REQUEST}" = "false" ]; then ./ci/travis/upload_build_info.sh; fi }; trap cleanup EXIT
  304. - pip uninstall -y ray
  305. - RAY_DEBUG_BUILD=debug ./ci/travis/ci.sh build
  306. - bazel test --config=ci-debug $(./scripts/bazel_export_options)
  307. --test_tag_filters=-kubernetes,debug_tests
  308. python/ray/tests/...
  309. - label: ":python: (ASAN tests)"
  310. conditions: ["RAY_CI_PYTHON_AFFECTED"]
  311. commands:
  312. - cleanup() { if [ "${BUILDKITE_PULL_REQUEST}" = "false" ]; then ./ci/travis/upload_build_info.sh; fi }; trap cleanup EXIT
  313. - RLLIB_TESTING=1 ./ci/travis/install-dependencies.sh
  314. - pip install "grpcio >= 1.28.1, <= 1.43.0"
  315. - bazel test --config=ci --config=asan $(./scripts/bazel_export_options)
  316. --config=asan-buildkite
  317. --test_tag_filters=-kubernetes,asan_tests
  318. --test_env=CONDA_EXE
  319. --test_env=CONDA_PYTHON_EXE
  320. --test_env=CONDA_SHLVL
  321. --test_env=CONDA_PREFIX
  322. --test_env=CONDA_DEFAULT_ENV
  323. python/ray/tests/...
  324. # https://github.com/ray-project/ray/issues/22460
  325. #- label: ":python: (Privileged test)"
  326. #conditions: ["RAY_CI_PYTHON_AFFECTED"]
  327. #commands:
  328. #- LINUX_WHEELS=1 ./ci/travis/ci.sh build
  329. #- pip install docker
  330. #We build image ray-worker-container:nightly-py36-cpu which have installed podman,but not push it.
  331. #And we save this image to a tarball, so that we can load it to podman image storage in the
  332. #nested-container which run tests. And in this nested-container, Raylet will start ray worker
  333. #process in double-nested-container.
  334. #- python ./ci/travis/build-docker-images.py --py-versions py36 --device-types cpu --build-type BUILDKITE --only-build-worker-container
  335. #- mkdir /ray-mount/containers
  336. #- docker save -o /ray-mount/containers/images.tar rayproject/ray-worker-container:nightly-py36-cpu
  337. #- docker run --rm --privileged -v /ray/containers:/var/lib/containers -v /ray:/ray --entrypoint /bin/bash
  338. #rayproject/ray-worker-container:nightly-py36-cpu /ray/ci/travis/test-worker-in-container.sh
  339. - label: ":octopus: Tune soft imports test"
  340. conditions: ["RAY_CI_TUNE_AFFECTED"]
  341. commands:
  342. - cleanup() { if [ "${BUILDKITE_PULL_REQUEST}" = "false" ]; then ./ci/travis/upload_build_info.sh; fi }; trap cleanup EXIT
  343. # no TUNE_TESTING=1 on purpose
  344. - ./ci/travis/install-dependencies.sh
  345. - bazel test --config=ci $(./scripts/bazel_export_options) --build_tests_only --test_tag_filters=soft_imports python/ray/tune/...
  346. - label: ":steam_locomotive: Train minimal install"
  347. conditions: ["RAY_CI_TRAIN_AFFECTED"]
  348. commands:
  349. - cleanup() { if [ "${BUILDKITE_PULL_REQUEST}" = "false" ]; then ./ci/travis/upload_build_info.sh; fi }; trap cleanup EXIT
  350. - ./ci/travis/install-minimal.sh
  351. - ./ci/travis/env_info.sh
  352. - python ./ci/travis/check_minimal_install.py
  353. - bazel test --config=ci $(./scripts/bazel_export_options) --build_tests_only --test_tag_filters=minimal python/ray/train/...
  354. - label: ":kubernetes: operator"
  355. commands:
  356. - cleanup() { if [ "${BUILDKITE_PULL_REQUEST}" = "false" ]; then ./ci/travis/upload_build_info.sh; fi }; trap cleanup EXIT
  357. - ./ci/travis/prep-k8s-environment.sh