This directory contains buildkite pipelines used to start CI tests.
Each step contains a buildkite step that is parsed and executed according to the Buildkite pipeline specification.
An extra optional field conditions is defined, which includes conditions under which tests are run.
The script ci/pipeline/determine_tests_to_run.py determines changed files in a PR and only kicks off
tests that include at least one of the conditions. If no condition is specified, the test is always run.
A special case is the NO_WHEELS_REQUIRED condition. If this is present, it indicates that the test can
be run with the latest available binaries - in this case the test can be started early, as it will re-use
the latest branch image and only check out the current code revision in the PR. This early kick off will
only trigger on PR builds, not on branch builds.
This directory should be considered with respect to the docker images located in ci/docker.
pipeline.build.ymlcontains jobs that require build dependencies. This includes all tests that re-build Ray (e.g. when switching Python versions). The tests are run on thebuild.Dockerfileimage.pipeline.test.ymlcontains jobs that only require an installed Ray and a small subset of dependencies, notably exlcuding ML libraries such as Tensorflow or Torch. The tests are run on thetest.Dockerfileimage.pipeline.ml.ymlcontains jobs that require ML libraries Tensorflow and Torch to be available. The tests are run on theml.Dockerfileimage.pipeline.gpu.ymlcontains jobs that require one GPU. The tests are run on thegpu.Dockerfileimage.pipeline.gpu.large.ymlcontains jobs that require multi-GPUs (currently 4). The tests are run on thegpu.Dockerfileimage.