load("@rules_python//python:defs.bzl", "py_library", "py_test") load("@rules_python//python:pip.bzl", "compile_pip_requirements") load("@py_deps_buildkite//:requirements.bzl", bk_require = "requirement") compile_pip_requirements( name = "requirements_buildkite", requirements_in = "requirements_buildkite.in", requirements_txt = "requirements_buildkite.txt", tags = [ "team:ci", ], visibility = ["//visibility:private"], ) compile_pip_requirements( name = "requirements_byod_3.9", requirements_in = "ray_release/byod/requirements_byod_3.9.in", requirements_txt = "ray_release/byod/requirements_byod_3.9.txt", tags = [ "team:ci", ], visibility = ["//visibility:private"], ) compile_pip_requirements( name = "requirements_byod_3.11", requirements_in = "ray_release/byod/requirements_byod_3.11.in", requirements_txt = "ray_release/byod/requirements_byod_3.11.txt", tags = [ "team:ci", ], visibility = ["//visibility:private"], ) compile_pip_requirements( name = "requirements_byod_3.12", requirements_in = "ray_release/byod/requirements_byod_3.12.in", requirements_txt = "ray_release/byod/requirements_byod_3.12.txt", tags = [ "team:ci", ], visibility = ["//visibility:private"], ) compile_pip_requirements( name = "requirements_ml_byod_3.9", requirements_in = "ray_release/byod/requirements_ml_byod_3.9.in", requirements_txt = "ray_release/byod/requirements_ml_byod_3.9.txt", tags = [ "team:ci", ], visibility = ["//visibility:private"], ) test_srcs = glob(["**/*.py"]) #### # SERVE smoke tests #### py_test( name = "serve_failure_smoke_test", size = "medium", srcs = test_srcs, env = { "RAY_UNIT_TEST": "1", }, main = "serve_failure.py", tags = [ "exclusive", "team:serve", ], deps = [ "//:ray_lib", "//python/ray/serve:serve_lib", ], ) py_test( name = "multi_deployment_1k_noop_replica_smoke_test", size = "medium", srcs = test_srcs, env = { "IS_SMOKE_TEST": "1", }, main = "multi_deployment_1k_noop_replica.py", tags = [ "exclusive", "team:serve", ], deps = [ "//:ray_lib", "//python/ray/serve:serve_lib", ], ) py_test( name = "tune_serve_golden_notebook_client_smoke_test", size = "medium", srcs = test_srcs, env = { "IS_SMOKE_TEST": "1", }, main = "golden_notebook_tests/workloads/torch_tune_serve_test.py", tags = [ "exclusive", "team:serve", ], deps = [ "//:ray_lib", "//python/ray/serve:serve_lib", ], ) #### # AIR smoke tests #### py_test( name = "xgboost_train_batch_inference_benchmark_smoke_test", size = "small", srcs = test_srcs, args = ["xgboost", "--smoke-test"], main = "train_tests/xgboost_lightgbm/train_batch_inference_benchmark.py", tags = [ "exclusive", "team:ml", ], deps = [ "//:ray_lib", "//python/ray/air:ml_lib", ], ) py_test( name = "air_benchmark_gpu_batch_inference_parquet_smoke_test", size = "small", srcs = test_srcs, args = [ "--data-directory=10G-image-data-synthetic-raw-parquet", "--data-format=parquet", "--smoke-test", ], main = "nightly_tests/dataset/gpu_batch_inference.py", tags = [ "exclusive", "team:data", ], deps = [ "//:ray_lib", "//python/ray/air:ml_lib", ], ) py_test( name = "air_benchmark_gpu_batch_inference_raw_image_smoke_test", size = "small", srcs = test_srcs, args = [ "--data-directory=10G-image-data-synthetic-raw", "--data-format=raw", "--smoke-test", ], main = "nightly_tests/dataset/gpu_batch_inference.py", tags = [ "exclusive", "team:data", ], deps = [ "//:ray_lib", "//python/ray/air:ml_lib", ], ) py_test( name = "air_benchmark_pytorch_training_e2e_smoke_test", size = "small", srcs = test_srcs, args = [ "--data-size-gb=1", "--smoke-test", ], main = "air_tests/air_benchmarks/workloads/pytorch_training_e2e.py", tags = [ "exclusive", "team:ml", ], deps = [ "//:ray_lib", "//python/ray/air:ml_lib", ], ) py_test( name = "air_benchmark_tensorflow_smoke_test", size = "large", srcs = test_srcs, args = [ "run", "--num-runs=1", "--num-epochs=1", "--num-workers=1", "--cpus-per-worker=1", "--batch-size=1", "--smoke-test", "--local", ], main = "air_tests/air_benchmarks/workloads/tensorflow_benchmark.py", tags = [ "exclusive", "team:ml", ], deps = [ "//:ray_lib", "//python/ray/air:ml_lib", ], ) py_test( name = "air_benchmark_torch_smoke_test", size = "large", srcs = test_srcs, args = [ "run", "--num-runs=1", "--num-epochs=1", "--num-workers=1", "--cpus-per-worker=1", "--batch-size=1", "--smoke-test", "--local", ], main = "air_tests/air_benchmarks/workloads/torch_benchmark.py", tags = [ "exclusive", "team:ml", ], deps = [ "//:ray_lib", "//python/ray/air:ml_lib", ], ) py_test( name = "air_benchmark_tune_torch_smoke_test", # Keep this medium, as it will be slower if data has to be downloaded # (runtime is shorter when air_benchmark_torch_smoke_test is executed first) size = "medium", srcs = test_srcs, args = [ "--num-runs=1", "--num-trials=1", "--num-workers=1", "--smoke-test", ], main = "air_tests/air_benchmarks/workloads/tune_torch_benchmark.py", tags = [ "exclusive", "team:ml", ], deps = [ "//:ray_lib", "//python/ray/air:ml_lib", ], ) #### # RELEASE TEST INFRA unit tests #### sh_binary( name = "run", srcs = ["run_release_test.sh"], data = ["run_release_test"], env = { "NO_INSTALL": "1", "RAY_TEST_SCRIPT": "./run_release_test", } ) py_binary( name = "run_release_test", srcs = ["ray_release/scripts/run_release_test.py"], deps = [":ray_release"], ) py_library( name = "ray_release", srcs = glob( ["ray_release/**/*.py"], exclude = ["ray_release/tests/*.py"], ), data = glob(["ray_release/environments/*.env"]) + [ "ray_release/buildkite/aws_instance_types.csv", "ray_release/schema.json", ] + glob(["ray_release/configs/*.yaml"]), imports = ["."], visibility = ["//visibility:public"], deps = [ bk_require("anyscale"), bk_require("aws-requests-auth"), bk_require("bazel-runfiles"), bk_require("aioboto3"), bk_require("boto3"), bk_require("botocore"), bk_require("click"), bk_require("google-cloud-storage"), bk_require("jinja2"), bk_require("pybuildkite"), bk_require("pygithub"), bk_require("requests"), bk_require("retry"), ], ) py_library( name = "test_utils", srcs = ["ray_release/tests/utils.py"], imports = ["."], visibility = ["//visibility:private"], ) py_test( name = "test_alerts", size = "small", srcs = ["ray_release/tests/test_alerts.py"], exec_compatible_with = ["//:hermetic_python"], tags = [ "release_unit", "team:ci", ], deps = [ ":ray_release", bk_require("pytest"), ], ) py_test( name = "test_anyscale_job_manager", size = "small", srcs = ["ray_release/tests/test_anyscale_job_manager.py"], exec_compatible_with = ["//:hermetic_python"], tags = [ "release_unit", "team:ci", ], deps = [ ":ray_release", bk_require("pytest"), ], ) py_test( name = "test_anyscale_job_wrapper", size = "small", srcs = ["ray_release/tests/test_anyscale_job_wrapper.py"], exec_compatible_with = ["//:hermetic_python"], tags = [ "release_unit", "team:ci", ], deps = [ ":ray_release", bk_require("pytest"), ], ) py_test( name = "test_bisect", size = "small", srcs = ["ray_release/tests/test_bisect.py"], data = [ "cluster_tests/cpt_autoscaling_1-3_aws.yaml", "ray_release/tests/test_collection_data.yaml", ], exec_compatible_with = ["//:hermetic_python"], tags = [ "release_unit", "team:ci", ], deps = [ ":ray_release", bk_require("pytest"), ], ) py_test( name = "test_buildkite", size = "small", srcs = ["ray_release/tests/test_buildkite.py"], exec_compatible_with = ["//:hermetic_python"], tags = [ "release_unit", "team:ci", ], deps = [ ":ray_release", bk_require("pyyaml"), bk_require("pytest"), ], ) py_test( name = "test_byod_build", size = "small", srcs = ["ray_release/tests/test_byod_build.py"], data = [ "ray_release/configs/oss_config.yaml", ], exec_compatible_with = ["//:hermetic_python"], tags = [ "release_unit", "team:ci", ], deps = [ ":ray_release", bk_require("pytest"), ], ) py_test( name = "test_cluster_manager", size = "small", srcs = ["ray_release/tests/test_cluster_manager.py"], exec_compatible_with = ["//:hermetic_python"], tags = [ "release_unit", "team:ci", ], deps = [ ":ray_release", ":test_utils", bk_require("freezegun"), bk_require("pytest"), ], ) py_test( name = "test_config", size = "small", srcs = ["ray_release/tests/test_config.py"], data = glob( ["**/*.yaml"], exclude = ["ray_release/**/*.yaml"], ) + [ "ray_release/tests/test_collection_data.yaml", "//python/ray/autoscaler/aws:test_configs", "//python/ray/autoscaler/gcp:test_configs", ], exec_compatible_with = ["//:hermetic_python"], tags = [ "release_unit", "team:ci", ], deps = [ ":ray_release", bk_require("pytest"), ], ) py_test( name = "test_env", size = "small", srcs = ["ray_release/tests/test_env.py"], exec_compatible_with = ["//:hermetic_python"], tags = [ "release_unit", "team:ci", ], deps = [ ":ray_release", bk_require("pytest"), ], ) py_test( name = "test_global_config", size = "small", srcs = ["ray_release/tests/test_global_config.py"], exec_compatible_with = ["//:hermetic_python"], tags = [ "release_unit", "team:ci", ], deps = [ ":ray_release", ":test_utils", bk_require("pytest"), ], ) py_test( name = "test_glue", size = "small", srcs = ["ray_release/tests/test_glue.py"], exec_compatible_with = ["//:hermetic_python"], tags = [ "release_unit", "team:ci", ], deps = [ ":ray_release", ":test_utils", bk_require("pytest"), ], ) py_test( name = "test_log_aggregator", size = "small", srcs = ["ray_release/tests/test_log_aggregator.py"], exec_compatible_with = ["//:hermetic_python"], tags = [ "release_unit", "team:ci", ], deps = [ ":ray_release", bk_require("pytest"), ], ) py_test( name = "test_result", size = "small", srcs = ["ray_release/tests/test_result.py"], exec_compatible_with = ["//:hermetic_python"], tags = [ "release_unit", "team:ci", ], deps = [ ":ray_release", bk_require("pytest"), ], ) py_test( name = "test_run_script", size = "small", srcs = ["ray_release/tests/test_run_script.py"], data = [ "ray_release/tests/_test_catch_args.py", "ray_release/tests/_test_run_release_test_sh.py", "run_release_test.sh", ], exec_compatible_with = ["//:hermetic_python"], tags = [ "release_unit", "team:ci", ], deps = [ ":ray_release", bk_require("pytest"), ], ) py_test( name = "test_state_machine", size = "small", srcs = ["ray_release/tests/test_state_machine.py"], exec_compatible_with = ["//:hermetic_python"], tags = [ "release_unit", "team:ci", ], deps = [ ":ray_release", bk_require("pytest"), ], ) py_test( name = "test_test", size = "small", srcs = ["ray_release/tests/test_test.py"], data = [ "ray_release/configs/oss_config.yaml", ], exec_compatible_with = ["//:hermetic_python"], tags = [ "release_unit", "team:ci", ], deps = [ ":ray_release", bk_require("pytest"), ], ) py_test( name = "test_step", size = "small", srcs = ["ray_release/tests/test_step.py"], data = [ "ray_release/configs/oss_config.yaml", ], exec_compatible_with = ["//:hermetic_python"], tags = [ "release_unit", "team:ci", ], deps = [ ":ray_release", bk_require("pytest"), ], ) py_test( name = "test_wheels", size = "small", srcs = ["ray_release/tests/test_wheels.py"], data = [ "//:python_sources", ], exec_compatible_with = ["//:hermetic_python"], tags = [ "release_unit", "team:ci", ], deps = [ ":ray_release", bk_require("freezegun"), bk_require("pytest"), ], )