# Ray CI conditional testing rules definition files
#
# Comment content, after '#', will be ignored.
# Empty lines will be ignored too.
#
#   dir/  # Directory to match
#   file  # File to match
#   dir/*.py  # Pattern to match, using fnmatch, matches dir/a.py dir/dir/b.py or dir/.py
#   @ tag1 tag2 tag3 # Tags to emit for a rule. A rule without tags is a skipping rule.
#
#   ;  # Semicolon to separate rules


python/ray/air/
@ ml train tune data linux_wheels
;

python/ray/llm/
.buildkite/llm.rayci.yml
ci/docker/llm.build.Dockerfile
python/requirements_compiled_*.txt
@ llm
;

python/ray/data/
.buildkite/data.rayci.yml
ci/docker/data.build.Dockerfile
ci/docker/data.build.wanda.yaml
ci/docker/datan.build.wanda.yaml
ci/docker/data9.build.wanda.yaml
ci/docker/datal.build.wanda.yaml
@ data ml train linux_wheels
;

python/ray/workflow/
@ workflow
;

python/ray/tune/
@ ml train tune linux_wheels
;

python/ray/train/
@ ml train linux_wheels
;

.buildkite/ml.rayci.yml
.buildkite/pipeline.test.yml
ci/docker/ml.build.Dockerfile
.buildkite/pipeline.gpu.yml
.buildkite/pipeline.gpu_large.yml
ci/docker/ml.build.wanda.yaml
ci/ray_ci/ml.tests.yml
ci/docker/min.build.Dockerfile
ci/docker/min.build.wanda.yaml
@ ml train tune
;

rllib/
python/ray/rllib/
ray_ci/rllib.tests.yml
.buildkite/rllib.rayci.yml
@ rllib rllib_gpu rllib_directly
;

python/ray/serve/
.buildkite/serve.rayci.yml
ci/docker/serve.build.Dockerfile
@ serve linux_wheels java
;

python/ray/dashboard/
@ dashboard linux_wheels
;

python/setup.py
python/requirements.txt
python/requirements_compiled.txt
python/requirements/
@ ml tune train serve workflow data
@ python dashboard linux_wheels macos_wheels java
@ python_dependencies
;

python/ray/dag/
python/ray/experimental/channel/
@ python accelerated_dag
;

python/
@ ml tune train data
# Python changes might impact cross language stack in Java.
# Java also depends on Python CLI to manage processes.
@ python dashboard linux_wheels macos_wheels java
;

.buildkite/core.rayci.yml
@ python core_cpp
;

.buildkite/serverless.rayci.yml
@ python
;

java/
.buildkite/others.rayci.yml
@ java
;

cpp/
.buildkite/pipeline.build_cpp.yml
@ cpp
;

docker/
.buildkite/pipeline.build_cpp.yml
@ docker linux_wheels
;

.readthedocs.yaml
@ doc
;

doc/*.py
doc/*.ipynb
doc/BUILD
doc/*/BUILD
doc/*.rst
@ doc
;

ci/docker/doctest.build.Dockerfile
ci/docker/doctest.build.wanda.yaml
# pass
;

release/ray_release/
# Release test unit tests are ALWAYS RUN, so pass
;

release/*.md
release/*.yaml
# Do not run on config changes
;

release/
@ release_tests
;

doc/
examples/
dev/
kubernetes/
site/
# pass
;

ci/lint/
.buildkite/lint.rayci.yml
@ tools
;

.buildkite/macos.rayci.yml
.buildkite/pipeline.macos.yml
ci/ray_ci/macos/macos_ci.sh
ci/ray_ci/macos/macos_ci_build.sh
@ macos_wheels
;

ci/pipeline/
ci/build/
ci/ray_ci/
.buildkite/_forge.rayci.yml
.buildkite/_forge.aarch64.rayci.yml
ci/docker/forge.wanda.yaml
ci/docker/forge.aarch64.wanda.yaml
.buildkite/pipeline.build.yml
.buildkite/hooks/post-command
@ tools
;

.buildkite/base.rayci.yml
.buildkite/build.rayci.yml
.buildkite/pipeline.arm64.yml
ci/docker/manylinux.Dockerfile
ci/docker/manylinux.wanda.yaml
ci/docker/manylinux.aarch64.wanda.yaml
ci/docker/ray.cpu.base.wanda.yaml
ci/docker/ray.cpu.base.aarch64.wanda.yaml
ci/docker/ray.cuda.base.wanda.yaml
ci/docker/ray.cuda.base.aarch64.wanda.yaml
ci/docker/windows.build.Dockerfile
ci/docker/windows.build.wanda.yaml
build-docker.sh
@ docker linux_wheels tools
;

ci/run/
ci/ci.sh
@ tools
;

src/
@ core_cpp cpp
@ java python linux_wheels macos_wheels
@ dashboard release_tests accelerated_dag
;

.github/
README.rst
SECURITY.md
CONTRIBUTING.rst
LICENSE
pylintrc
semgrep.yml
setup_hooks.sh
.pre-commit-config.yaml
.isort.cfg
.prettierrc.toml
build.sh
# pass
;
