# Bazel build # C/C++ documentation: https://docs.bazel.build/versions/master/be/c-cpp.html # ************************** IMPORTANT *********************** # If a target or file is not found here, then please try searching in /src # We are in the middle of transitioning to a tree of build files. # If you would like to help with the move in your PR, please use `git mv` so that the history of the file is retained. load("@bazel_skylib//rules:common_settings.bzl", "bool_flag") load("@rules_proto//proto:defs.bzl", "proto_library") load("@rules_python//python:defs.bzl", "py_library", "py_runtime", "py_runtime_pair") load("@rules_cc//cc:defs.bzl", "cc_proto_library") load("@com_github_grpc_grpc//bazel:cc_grpc_library.bzl", "cc_grpc_library") load("@com_github_grpc_grpc//bazel:cython_library.bzl", "pyx_library") load("@com_github_google_flatbuffers//:build_defs.bzl", "flatbuffer_cc_library") load("//bazel:ray.bzl", "COPTS", "PYX_COPTS", "PYX_SRCS", "copy_to_workspace", "ray_cc_binary", "ray_cc_test", "ray_cc_library") load("@python3_9//:defs.bzl", python39 = "interpreter") package( default_visibility = ["//visibility:public"], ) # Hermetic python envionment, currently only used for CI infra and scripts. py_runtime( name = "python3_runtime", interpreter = python39, python_version = "PY3", visibility = ["//visibility:private"], ) py_runtime_pair( name = "python_runtime_pair", py2_runtime = None, py3_runtime = ":python3_runtime", visibility = ["//visibility:private"], ) constraint_setting(name = "hermetic") constraint_value( name = "hermetic_python", constraint_setting = ":hermetic", ) toolchain( name = "python_toolchain", exec_compatible_with = [":hermetic_python"], toolchain = ":python_runtime_pair", toolchain_type = "@bazel_tools//tools/python:toolchain_type", ) platform( name = "hermetic_python_platform", constraint_values = [":hermetic_python"], parents = ["@local_config_platform//:host"], visibility = ["//visibility:private"], ) # C/C++ toolchain constraint configs. config_setting( name = "msvc-cl", flag_values = {"@bazel_tools//tools/cpp:compiler": "msvc-cl"}, ) config_setting( name = "clang-cl", flag_values = {"@bazel_tools//tools/cpp:compiler": "clang-cl"}, ) config_setting( name = "opt", values = {"compilation_mode": "opt"}, ) bool_flag( name = "jemalloc_flag", build_setting_default = True, ) config_setting( name = "jemalloc", constraint_values = [ "@platforms//os:linux", ], flag_values = { ":jemalloc_flag": "true", } ) # === Begin of rpc definitions === # GRPC common lib. ray_cc_library( name = "grpc_common_lib", srcs = [ "src/ray/rpc/common.cc", "src/ray/rpc/grpc_server.cc", "src/ray/rpc/server_call.cc", ], hdrs = glob([ "src/ray/rpc/client_call.h", "src/ray/rpc/common.h", "src/ray/rpc/grpc_client.h", "src/ray/rpc/grpc_server.h", "src/ray/rpc/metrics_agent_client.h", "src/ray/rpc/server_call.h", "src/ray/rpc/grpc_util.h", "src/ray/raylet_client/*.h", ]), deps = [ ":stats_metric", "//src/ray/common:asio", "//src/ray/common:grpc_util", "//src/ray/common:id", "//src/ray/common:ray_config", "//src/ray/common:status", "@com_github_grpc_grpc//:grpc++", "@com_github_grpc_grpc//:grpc++_reflection", "@com_github_grpc_grpc//:grpcpp_admin", "@com_google_protobuf//:protobuf", ], ) # Node manager gRPC lib. cc_grpc_library( name = "node_manager_cc_grpc", srcs = ["//src/ray/protobuf:node_manager_proto"], grpc_only = True, deps = ["//src/ray/protobuf:node_manager_cc_proto"], ) # Node manager server and client. ray_cc_library( name = "node_manager_rpc", srcs = glob([ "src/ray/rpc/node_manager/*.cc", ]), hdrs = glob([ "src/ray/rpc/node_manager/*.h", ]), deps = [ ":grpc_common_lib", ":node_manager_cc_grpc", ":ray_common", "@boost//:asio", "@com_github_grpc_grpc//:grpc++", ], ) # gcs_service gRPC lib. cc_grpc_library( name = "gcs_service_cc_grpc", srcs = ["//src/ray/protobuf:gcs_service_proto"], grpc_only = True, deps = ["//src/ray/protobuf:gcs_service_cc_proto"], ) # gcs_service gRPC lib. cc_grpc_library( name = "test_service_cc_grpc", srcs = ["//src/ray/protobuf:test_service_proto"], grpc_only = True, deps = ["//src/ray/protobuf:test_service_cc_proto"], ) # gcs rpc server and client. ray_cc_library( name = "gcs_service_rpc", hdrs = [ "src/ray/rpc/gcs_server/gcs_rpc_client.h", "src/ray/rpc/gcs_server/gcs_rpc_server.h", ], deps = [ ":autoscaler_cc_grpc", ":gcs_service_cc_grpc", ":grpc_common_lib", ":pubsub_lib", ":ray_common", "@boost//:asio", "@com_github_grpc_grpc//:grpc++", "@com_google_absl//absl/container:btree", ], ) # Object manager gRPC lib. cc_grpc_library( name = "object_manager_cc_grpc", srcs = ["//src/ray/protobuf:object_manager_proto"], grpc_only = True, deps = ["//src/ray/protobuf:object_manager_cc_proto"], ) # Object manager rpc server and client. ray_cc_library( name = "object_manager_rpc", hdrs = glob([ "src/ray/rpc/object_manager/*.h", ]), deps = [ ":grpc_common_lib", ":object_manager_cc_grpc", ":ray_common", "@boost//:asio", "@com_github_grpc_grpc//:grpc++", ], ) # Worker gRPC lib. cc_grpc_library( name = "worker_cc_grpc", srcs = ["//src/ray/protobuf:core_worker_proto"], grpc_only = True, deps = ["//src/ray/protobuf:worker_cc_proto"], ) # worker server and client. ray_cc_library( name = "worker_rpc", srcs = glob([ "src/ray/rpc/worker/*.cc", ]), hdrs = glob([ "src/ray/rpc/worker/*.h", ]), deps = [ ":grpc_common_lib", ":pubsub_lib", ":ray_common", ":worker_cc_grpc", "@boost//:asio", "@boost//:thread", "@com_github_grpc_grpc//:grpc++", ], ) # Metrics Agent gRPC lib. cc_grpc_library( name = "reporter_cc_grpc", srcs = ["//src/ray/protobuf:reporter_proto"], grpc_only = True, deps = ["//src/ray/protobuf:reporter_cc_proto"], ) # Metrics Agent client. ray_cc_library( name = "reporter_rpc", hdrs = glob([ "src/ray/rpc/metrics_agent_client.h", ]), deps = [ ":grpc_common_lib", ":reporter_cc_grpc", "//src/ray/common:status", "@boost//:asio", "@boost//:thread", "@com_github_grpc_grpc//:grpc++", ], ) # pubsub. cc_grpc_library( name = "pubsub_cc_grpc", srcs = ["//src/ray/protobuf:pubsub_proto"], grpc_only = True, deps = [ "//src/ray/protobuf:common_cc_proto", "//src/ray/protobuf:gcs_cc_proto", "//src/ray/protobuf:pubsub_cc_proto", ], ) ray_cc_library( name = "pubsub_rpc", deps = [ "pubsub_cc_grpc", ":grpc_common_lib", ":ray_common", ], ) # monitor/autoscaler service cc_grpc_library( name = "monitor_cc_grpc", srcs = ["//src/ray/protobuf:monitor_proto"], grpc_only = True, deps = ["//src/ray/protobuf:monitor_cc_proto"], ) ray_cc_library( name = "monitor_rpc", deps = [ ":monitor_cc_grpc", ], ) cc_grpc_library( name = "autoscaler_cc_grpc", srcs = ["//src/ray/protobuf:autoscaler_proto"], grpc_only = True, deps = [ "//src/ray/protobuf:autoscaler_cc_proto", ], ) ray_cc_library( name = "autoscaler_rpc", deps = [ ":autoscaler_cc_grpc", ], ) # === End of rpc definitions === # === Begin of plasma definitions === # TODO(mehrdadn): (How to) support dynamic linking? PROPAGATED_WINDOWS_DEFINES = ["ARROW_STATIC"] PLASMA_COPTS = COPTS + select({ "@bazel_tools//src/conditions:windows": [ ] + ["-D" + define for define in PROPAGATED_WINDOWS_DEFINES], "//conditions:default": [ "-DARROW_USE_GLOG", ], }) PLASMA_LINKOPTS = [] + select({ "@bazel_tools//src/conditions:windows": [ "-DefaultLib:" + "ws2_32.lib", ], "//conditions:default": [ ], }) ray_cc_library( name = "plasma_client", srcs = [ "src/ray/object_manager/plasma/client.cc", "src/ray/object_manager/plasma/connection.cc", "src/ray/object_manager/plasma/malloc.cc", "src/ray/object_manager/plasma/plasma.cc", "src/ray/object_manager/plasma/protocol.cc", "src/ray/object_manager/plasma/shared_memory.cc", ] + select({ "@bazel_tools//src/conditions:windows": [ ], "//conditions:default": [ "src/ray/object_manager/plasma/fling.cc", ], }), hdrs = [ "src/ray/object_manager/common.h", "src/ray/object_manager/plasma/client.h", "src/ray/object_manager/plasma/common.h", "src/ray/object_manager/plasma/compat.h", "src/ray/object_manager/plasma/connection.h", "src/ray/object_manager/plasma/malloc.h", "src/ray/object_manager/plasma/plasma.h", "src/ray/object_manager/plasma/plasma_generated.h", "src/ray/object_manager/plasma/protocol.h", "src/ray/object_manager/plasma/shared_memory.h", ] + select({ "@bazel_tools//src/conditions:windows": [ ], "//conditions:default": [ "src/ray/object_manager/plasma/fling.h", ], }), copts = PLASMA_COPTS, defines = select({ "@bazel_tools//src/conditions:windows": PROPAGATED_WINDOWS_DEFINES, "//conditions:default": [], }), linkopts = PLASMA_LINKOPTS, deps = [ ":plasma_fbs", ":ray_common", "//src/ray/protobuf:common_cc_proto", "//src/ray/util", "@msgpack", ], ) ray_cc_library( name = "plasma_store_server_lib", srcs = [ "src/ray/object_manager/plasma/create_request_queue.cc", "src/ray/object_manager/plasma/dlmalloc.cc", "src/ray/object_manager/plasma/eviction_policy.cc", "src/ray/object_manager/plasma/get_request_queue.cc", "src/ray/object_manager/plasma/object_lifecycle_manager.cc", "src/ray/object_manager/plasma/object_store.cc", "src/ray/object_manager/plasma/plasma_allocator.cc", "src/ray/object_manager/plasma/stats_collector.cc", "src/ray/object_manager/plasma/store.cc", "src/ray/object_manager/plasma/store_runner.cc", ], hdrs = [ "src/ray/object_manager/common.h", "src/ray/object_manager/plasma/allocator.h", "src/ray/object_manager/plasma/create_request_queue.h", "src/ray/object_manager/plasma/eviction_policy.h", "src/ray/object_manager/plasma/get_request_queue.h", "src/ray/object_manager/plasma/object_lifecycle_manager.h", "src/ray/object_manager/plasma/object_store.h", "src/ray/object_manager/plasma/plasma_allocator.h", "src/ray/object_manager/plasma/stats_collector.h", "src/ray/object_manager/plasma/store.h", "src/ray/object_manager/plasma/store_runner.h", "src/ray/thirdparty/dlmalloc.c", ], copts = PLASMA_COPTS, linkopts = PLASMA_LINKOPTS, deps = [ ":plasma_client", ":stats_lib", ], ) FLATC_ARGS = [ "--gen-object-api", "--gen-mutable", "--scoped-enums", ] flatbuffer_cc_library( name = "plasma_fbs", srcs = ["src/ray/object_manager/plasma/plasma.fbs"], flatc_args = FLATC_ARGS, out_prefix = "src/ray/object_manager/plasma/", ) # === End of plasma definitions === ray_cc_library( name = "ray_mock", hdrs = glob( ["src/mock/**/*.h"], ), ) cc_grpc_library( name = "ray_syncer_cc_grpc", srcs = ["//src/ray/protobuf:ray_syncer_proto"], grpc_only = True, deps = ["//src/ray/protobuf:ray_syncer_cc_proto"], ) ray_cc_library( name = "ray_common", deps = [ ":stats_metric", "//src/ray/common:asio", "//src/ray/common:constants", "//src/ray/common:event_stats", "//src/ray/common:file_system_monitor", "//src/ray/common:grpc_util", "//src/ray/common:id", "//src/ray/common:memory_monitor", "//src/ray/common:network", "//src/ray/common:ray_config", "//src/ray/common:ray_syncer", "//src/ray/common:status", "//src/ray/common:task_common", "//src/ray/common:test_util", "//src/ray/protobuf:gcs_cc_proto", "@com_google_googletest//:gtest", ], ) ray_cc_binary( name = "raylet", srcs = ["src/ray/raylet/main.cc"], visibility = ["//java:__subpackages__"], deps = [ ":raylet_lib", "//src/ray/util", "@com_github_gflags_gflags//:gflags", ], ) ray_cc_library( name = "gcs_pub_sub_lib", srcs = [ "src/ray/gcs/pubsub/gcs_pub_sub.cc", ], hdrs = [ "src/ray/gcs/pubsub/gcs_pub_sub.h", ], deps = [ ":gcs", ":gcs_service_rpc", ":pubsub_lib", ":ray_common", ":redis_client", ], ) ray_cc_library( name = "gcs_server_lib", srcs = glob( [ "src/ray/gcs/gcs_server/*.cc", ], exclude = [ "src/ray/gcs/gcs_server/gcs_server_main.cc", "src/ray/gcs/gcs_server/test/*.cc", ], ), hdrs = glob( [ "src/ray/gcs/gcs_server/*.h", ], ), deps = [ ":autoscaler_rpc", ":gcs", ":gcs_pub_sub_lib", ":gcs_service_cc_grpc", ":gcs_service_rpc", ":gcs_table_storage_lib", ":monitor_rpc", ":node_manager_rpc", ":observable_store_client", ":pubsub_lib", ":raylet_client_lib", ":scheduler", ":worker_rpc", "//src/ray/protobuf:agent_manager_cc_proto", "@boost//:bimap", "@com_github_grpc_grpc//src/proto/grpc/health/v1:health_proto", "@com_google_absl//absl/container:btree", ], ) ray_cc_binary( name = "gcs_server", srcs = [ "src/ray/gcs/gcs_server/gcs_server_main.cc", ], visibility = ["//java:__subpackages__"], deps = [ ":gcs_server_lib", ":stats_lib", "@com_github_gflags_gflags//:gflags", ], ) # Ray native pubsub module. ray_cc_library( name = "pubsub_lib", srcs = glob([ "src/ray/pubsub/*.cc", ]), hdrs = glob([ "src/ray/pubsub/*.h", ]), deps = [ ":pubsub_rpc", "@boost//:any", "@com_google_absl//absl/container:flat_hash_map", "@com_google_absl//absl/container:flat_hash_set", "@com_google_absl//absl/synchronization", ], ) ray_cc_library( name = "stats_metric", srcs = [ "src/ray/stats/metric.cc", "src/ray/stats/metric_defs.cc", "src/ray/stats/tag_defs.cc", ], hdrs = [ "src/ray/stats/metric.h", "src/ray/stats/metric_defs.h", "src/ray/stats/tag_defs.h", ], deps = [ "//src/ray/util", "@com_github_jupp0r_prometheus_cpp//pull", "@com_google_absl//absl/base:core_headers", "@com_google_absl//absl/container:flat_hash_map", "@com_google_absl//absl/memory", "@com_google_absl//absl/strings", "@com_google_googletest//:gtest", "@io_opencensus_cpp//opencensus/exporters/stats/prometheus:prometheus_exporter", "@io_opencensus_cpp//opencensus/exporters/stats/stdout:stdout_exporter", "@io_opencensus_cpp//opencensus/stats", "@io_opencensus_cpp//opencensus/tags", ], ) ray_cc_library( name = "stats_lib", srcs = [ "src/ray/stats/metric_exporter.cc", "src/ray/stats/metric_exporter_client.cc", ], hdrs = [ "src/ray/stats/metric.h", "src/ray/stats/metric_exporter.h", "src/ray/stats/metric_exporter_client.h", "src/ray/stats/stats.h", "src/ray/stats/tag_defs.h", ], linkopts = select({ "@bazel_tools//src/conditions:windows": [ ], "//conditions:default": [ "-lpthread", ], }), deps = [ ":reporter_rpc", ":stats_metric", ], ) ray_cc_library( name = "scheduler", srcs = glob( [ "src/ray/raylet/scheduling/**/*.cc", ], exclude = [ "src/ray/raylet/scheduling/**/*_test.cc", ], ), hdrs = glob( [ "src/ray/raylet/raylet_util.h", "src/ray/raylet/scheduling/**/*.h", "src/ray/core_worker/common.h", ], ), linkopts = select({ "@bazel_tools//src/conditions:windows": [ ], "//conditions:default": [ "-lpthread", ], }), deps = [ ":gcs_client_lib", ":ray_common", ":stats_lib", "//src/ray/protobuf:common_cc_proto", "//src/ray/util", "@boost//:asio", "@boost//:system", "@com_github_jupp0r_prometheus_cpp//pull", "@com_google_absl//absl/base:core_headers", "@com_google_absl//absl/container:flat_hash_set", "@com_google_absl//absl/memory", "@com_google_absl//absl/random", "@com_google_absl//absl/random:bit_gen_ref", "@com_google_absl//absl/strings", "@com_google_googletest//:gtest", "@io_opencensus_cpp//opencensus/exporters/stats/prometheus:prometheus_exporter", "@io_opencensus_cpp//opencensus/stats", "@io_opencensus_cpp//opencensus/tags", ], ) ray_cc_library( name = "raylet_lib", srcs = glob( [ "src/ray/raylet/**/*.cc", ], exclude = [ "src/ray/raylet/**/*_test.cc", "src/ray/raylet/scheduling/**/*.cc", "src/ray/raylet/main.cc", ], ), hdrs = glob( [ "src/ray/raylet/**/*.h", ], exclude = [ "src/ray/raylet/scheduling/**/*.h", "src/ray/raylet/main.cc", ], ), linkopts = select({ "@bazel_tools//src/conditions:windows": [ ], "//conditions:default": [ "-lpthread", ], }), deps = [ ":gcs", ":gcs_client_lib", ":node_manager_fbs", ":node_manager_rpc", ":object_manager", ":plasma_client", ":pubsub_lib", ":ray_common", ":scheduler", ":stats_lib", ":worker_rpc", "//src/ray/protobuf:agent_manager_cc_proto", "//src/ray/protobuf:common_cc_proto", "//src/ray/protobuf:runtime_env_agent_cc_proto", "//src/ray/util", "@boost//:asio", "@boost//:beast", "@boost//:system", "@com_github_jupp0r_prometheus_cpp//pull", "@com_google_absl//absl/base:core_headers", "@com_google_absl//absl/container:flat_hash_set", "@com_google_absl//absl/memory", "@com_google_absl//absl/strings", "@com_google_googletest//:gtest", "@io_opencensus_cpp//opencensus/exporters/stats/prometheus:prometheus_exporter", "@io_opencensus_cpp//opencensus/stats", "@io_opencensus_cpp//opencensus/tags", ], ) ray_cc_library( name = "raylet_client_lib", srcs = glob([ "src/ray/raylet_client/*.cc", ]), hdrs = glob([ "src/ray/raylet_client/*.h", ]), linkopts = select({ "@bazel_tools//src/conditions:windows": [ ], "//conditions:default": [ "-lpthread", ], }), deps = [ ":node_manager_fbs", ":node_manager_rpc", ":ray_common", "//src/ray/protobuf:gcs_cc_proto", "//src/ray/util", "@boost//:asio", ], ) ray_cc_library( name = "core_worker_lib", srcs = glob( [ "src/ray/core_worker/*.cc", "src/ray/core_worker/store_provider/*.cc", "src/ray/core_worker/store_provider/memory_store/*.cc", "src/ray/core_worker/transport/*.cc", ], exclude = [ "src/ray/core_worker/**/*_test.cc", "src/ray/core_worker/mock_worker.cc", ], ), hdrs = glob([ "src/ray/core_worker/*.h", "src/ray/core_worker/store_provider/*.h", "src/ray/core_worker/store_provider/memory_store/*.h", "src/ray/core_worker/transport/*.h", ]), deps = [ ":gcs", ":gcs_client_lib", ":plasma_client", ":ray_common", ":raylet_client_lib", ":stats_lib", ":worker_rpc", "//src/ray/protobuf:worker_cc_proto", "//src/ray/util", "@boost//:circular_buffer", "@boost//:fiber", "@com_google_absl//absl/cleanup", "@com_google_absl//absl/container:btree", "@com_google_absl//absl/container:flat_hash_map", "@com_google_absl//absl/container:flat_hash_set", "@nlohmann_json", ], ) ray_cc_library( name = "mock_worker_lib", srcs = ["src/ray/core_worker/test/mock_worker.cc"], hdrs = glob([ "src/ray/core_worker/test/*.h", ]), deps = [ ":core_worker_lib", ], ) ray_cc_binary( name = "mock_worker", deps = [ ":mock_worker_lib", ], ) ray_cc_test( name = "core_worker_test", size = "small", srcs = ["src/ray/core_worker/test/core_worker_test.cc"], args = [ "$(location raylet)", "$(location mock_worker)", "$(location gcs_server)", "$(location redis-cli)", "$(location redis-server)", ], data = [ "//:gcs_server", "//:mock_worker", "//:raylet", "//:redis-cli", "//:redis-server", ], tags = ["team:core"], deps = [ ":core_worker_lib", ":gcs", "//src/ray/protobuf:runtime_env_common_cc_proto", "@com_google_absl//absl/container:flat_hash_map", "@com_google_absl//absl/container:flat_hash_set", "@com_google_googletest//:gtest", ], ) ray_cc_test( name = "core_worker_resubmit_queue_test", size = "small", srcs = ["src/ray/core_worker/test/core_worker_resubmit_queue_test.cc"], tags = ["team:core"], deps = [ ":core_worker_lib", "@com_google_googletest//:gtest_main", ], ) ray_cc_test( name = "memory_store_test", size = "small", srcs = ["src/ray/core_worker/test/memory_store_test.cc"], tags = ["team:core"], deps = [ ":core_worker_lib", "@com_google_googletest//:gtest_main", ], ) ray_cc_test( name = "direct_actor_transport_test", srcs = ["src/ray/core_worker/test/direct_actor_transport_test.cc"], tags = ["team:core"], deps = [ ":core_worker_lib", ":ray_mock", "@com_google_googletest//:gtest_main", ], ) ray_cc_test( name = "direct_actor_transport_mock_test", srcs = ["src/ray/core_worker/test/direct_actor_transport_mock_test.cc"], tags = ["team:core"], deps = [ ":core_worker_lib", ":ray_mock", "@com_google_googletest//:gtest_main", ], ) ray_cc_test( name = "gcs_function_manager_test", srcs = ["src/ray/gcs/gcs_server/test/gcs_function_manager_test.cc"], tags = ["team:core"], deps = [ ":gcs_server_lib", ":ray_mock", "@com_google_googletest//:gtest_main", ], ) ray_cc_test( name = "dependency_resolver_test", size = "small", srcs = ["src/ray/core_worker/test/dependency_resolver_test.cc"], tags = ["team:core"], deps = [ ":core_worker_lib", ":ray_mock", "@com_google_googletest//:gtest_main", ], ) ray_cc_test( name = "direct_task_transport_test", size = "small", srcs = ["src/ray/core_worker/test/direct_task_transport_test.cc"], tags = ["team:core"], deps = [ ":core_worker_lib", ":ray_mock", "@com_google_googletest//:gtest_main", ], ) ray_cc_test( name = "direct_task_transport_mock_test", size = "small", srcs = ["src/ray/core_worker/test/direct_task_transport_mock_test.cc"], tags = ["team:core"], deps = [ ":core_worker_lib", ":ray_mock", "@com_google_googletest//:gtest_main", ], ) ray_cc_test( name = "reference_count_test", size = "small", srcs = ["src/ray/core_worker/test/reference_count_test.cc"], tags = ["team:core"], deps = [ ":core_worker_lib", "@com_google_googletest//:gtest_main", ], ) ray_cc_test( name = "object_recovery_manager_test", size = "small", srcs = ["src/ray/core_worker/test/object_recovery_manager_test.cc"], tags = ["team:core"], deps = [ ":core_worker_lib", "@com_google_googletest//:gtest_main", ], ) ray_cc_test( name = "scheduling_queue_test", srcs = ["src/ray/core_worker/test/scheduling_queue_test.cc"], tags = ["team:core"], deps = [ ":core_worker_lib", "@com_google_googletest//:gtest_main", ], ) ray_cc_test( name = "concurrency_group_manager_test", srcs = ["src/ray/core_worker/test/concurrency_group_manager_test.cc"], tags = ["team:core"], deps = [ ":core_worker_lib", "@com_google_googletest//:gtest_main", ], ) ray_cc_test( name = "fiber_state_test", srcs = ["src/ray/core_worker/test/fiber_state_test.cc"], tags = ["team:core"], deps = [ ":core_worker_lib", "@com_google_googletest//:gtest_main", ], ) ray_cc_test( name = "actor_submit_queue_test", size = "small", srcs = ["src/ray/core_worker/test/actor_submit_queue_test.cc"], tags = ["team:core"], deps = [ ":core_worker_lib", "@com_google_googletest//:gtest_main", ], ) ray_cc_test( name = "task_manager_test", size = "small", srcs = ["src/ray/core_worker/test/task_manager_test.cc"], tags = ["team:core"], deps = [ ":core_worker_lib", ":ray_mock", "@com_google_googletest//:gtest_main", ], ) ray_cc_test( name = "task_event_buffer_test", size = "small", srcs = ["src/ray/core_worker/test/task_event_buffer_test.cc"], tags = ["team:core"], deps = [ ":core_worker_lib", ":ray_mock", "@com_google_googletest//:gtest_main", ], ) ray_cc_test( name = "actor_creator_test", size = "small", srcs = ["src/ray/core_worker/test/actor_creator_test.cc"], tags = ["team:core"], deps = [ ":core_worker_lib", ":gcs_client_lib", ":ray_mock", "//src/ray/common:test_util", "@com_google_googletest//:gtest_main", ], ) ray_cc_test( name = "actor_manager_test", size = "small", srcs = ["src/ray/core_worker/test/actor_manager_test.cc"], tags = ["team:core"], deps = [ ":core_worker_lib", "@com_google_googletest//:gtest_main", ], ) ray_cc_test( name = "lease_policy_test", size = "small", srcs = ["src/ray/core_worker/test/lease_policy_test.cc"], tags = ["team:core"], deps = [ ":core_worker_lib", "@com_google_googletest//:gtest_main", ], ) ray_cc_test( name = "cluster_resource_scheduler_test", size = "small", srcs = [ "src/ray/raylet/scheduling/cluster_resource_scheduler_test.cc", ], tags = ["team:core"], deps = [ ":ray_mock", ":raylet_lib", "@com_google_googletest//:gtest_main", ], ) ray_cc_test( name = "local_resource_manager_test", size = "small", srcs = [ "src/ray/raylet/scheduling/local_resource_manager_test.cc", ], tags = ["team:core"], deps = [ ":ray_mock", ":raylet_lib", "@com_google_googletest//:gtest_main", ], ) ray_cc_test( name = "cluster_resource_scheduler_2_test", size = "small", srcs = [ "src/ray/raylet/scheduling/cluster_resource_scheduler_2_test.cc", ], tags = ["team:core"], deps = [ ":raylet_lib", "@com_google_googletest//:gtest_main", ], ) ray_cc_test( name = "scheduling_policy_test", size = "small", srcs = [ "src/ray/raylet/scheduling/policy/scheduling_policy_test.cc", ], tags = ["team:core"], deps = [ ":raylet_lib", "@com_google_googletest//:gtest_main", ], ) ray_cc_test( name = "hybrid_scheduling_policy_test", size = "small", srcs = [ "src/ray/raylet/scheduling/policy/hybrid_scheduling_policy_test.cc", ], tags = ["team:core"], deps = [ ":scheduler", "@com_google_absl//absl/random:mock_distributions", "@com_google_googletest//:gtest_main", ], ) ray_cc_test( name = "cluster_task_manager_test", size = "small", srcs = [ "src/ray/raylet/scheduling/cluster_task_manager_test.cc", ], tags = ["team:core"], deps = [ ":ray_mock", ":raylet_lib", "@com_google_googletest//:gtest_main", ], ) ray_cc_test( name = "cluster_resource_manager_test", size = "small", srcs = [ "src/ray/raylet/scheduling/cluster_resource_manager_test.cc", ], tags = ["team:core"], deps = [ ":raylet_lib", "@com_google_googletest//:gtest_main", ], ) ray_cc_test( name = "local_object_manager_test", size = "small", srcs = [ "src/ray/raylet/test/local_object_manager_test.cc", ], tags = ["team:core"], deps = [ ":raylet_lib", "@com_google_googletest//:gtest_main", ], ) ray_cc_test( name = "pull_manager_test", size = "small", srcs = [ "src/ray/object_manager/test/pull_manager_test.cc", ], tags = ["team:core"], deps = [ ":object_manager", "@com_google_googletest//:gtest_main", ], ) ray_cc_test( name = "object_buffer_pool_test", size = "small", srcs = [ "src/ray/object_manager/test/object_buffer_pool_test.cc", ], tags = ["team:core"], deps = [ ":object_manager", "@com_google_googletest//:gtest_main", ], ) ray_cc_test( name = "ownership_based_object_directory_test", size = "small", srcs = [ "src/ray/object_manager/test/ownership_based_object_directory_test.cc", ], tags = ["team:core"], deps = [ ":object_manager", ":ray_mock", "@com_google_googletest//:gtest_main", ], ) ray_cc_test( name = "push_manager_test", size = "small", srcs = [ "src/ray/object_manager/test/push_manager_test.cc", ], tags = ["team:core"], deps = [ ":raylet_lib", "@com_google_googletest//:gtest_main", ], ) ray_cc_test( name = "spilled_object_test", size = "small", srcs = [ "src/ray/object_manager/test/spilled_object_test.cc", ], tags = ["team:core"], deps = [ ":raylet_lib", "@boost//:endian", "@com_google_absl//absl/strings:str_format", "@com_google_googletest//:gtest_main", ], ) ray_cc_test( name = "fallback_allocator_test", srcs = [ "src/ray/object_manager/plasma/test/fallback_allocator_test.cc", ], tags = ["team:core"], deps = [ ":plasma_store_server_lib", "@com_google_absl//absl/strings:str_format", "@com_google_googletest//:gtest_main", ], ) ray_cc_test( name = "object_store_test", srcs = [ "src/ray/object_manager/plasma/test/object_store_test.cc", ], tags = ["team:core"], deps = [ ":plasma_store_server_lib", "@com_google_absl//absl/random", "@com_google_absl//absl/strings:str_format", "@com_google_googletest//:gtest_main", ], ) ray_cc_test( name = "object_lifecycle_manager_test", srcs = [ "src/ray/object_manager/plasma/test/object_lifecycle_manager_test.cc", "src/ray/object_manager/plasma/test/stats_collector_test.cc", ], tags = ["team:core"], deps = [ ":plasma_store_server_lib", "@com_google_absl//absl/random", "@com_google_absl//absl/strings:str_format", "@com_google_googletest//:gtest_main", ], ) ray_cc_test( name = "eviction_policy_test", srcs = [ "src/ray/object_manager/plasma/test/eviction_policy_test.cc", ], tags = ["team:core"], deps = [ ":plasma_store_server_lib", "@com_google_googletest//:gtest_main", ], ) ray_cc_test( name = "create_request_queue_test", size = "small", srcs = [ "src/ray/object_manager/test/create_request_queue_test.cc", ], tags = ["team:core"], deps = [ ":plasma_store_server_lib", "@com_google_googletest//:gtest", "@com_google_googletest//:gtest_main", ], ) ray_cc_test( name = "get_request_queue_test", size = "small", srcs = [ "src/ray/object_manager/test/get_request_queue_test.cc", ], tags = ["team:core"], deps = [ ":plasma_store_server_lib", "@com_google_googletest//:gtest", "@com_google_googletest//:gtest_main", ], ) ray_cc_test( name = "worker_pool_test", size = "small", srcs = ["src/ray/raylet/worker_pool_test.cc"], tags = ["team:core"], deps = [ ":raylet_lib", "@com_google_googletest//:gtest_main", ], ) ray_cc_test( name = "gcs_placement_group_manager_mock_test", size = "small", srcs = [ "src/ray/gcs/gcs_server/test/gcs_placement_group_manager_mock_test.cc", ], tags = ["team:core"], deps = [ ":gcs_server_lib", ":gcs_test_util_lib", ":ray_mock", "@com_google_googletest//:gtest_main", ], ) ray_cc_test( name = "placement_group_resource_manager_test", size = "small", srcs = ["src/ray/raylet/placement_group_resource_manager_test.cc"], tags = ["team:core"], deps = [ "gcs_test_util_lib", "ray_common", "raylet_lib", ":ray_mock", "@com_google_googletest//:gtest_main", ], ) ray_cc_test( name = "runtime_env_agent_client_test", size = "small", srcs = ["src/ray/raylet/runtime_env_agent_client_test.cc"], tags = ["team:core"], deps = [ "gcs_test_util_lib", "ray_common", "raylet_lib", ":ray_mock", "@com_google_googletest//:gtest_main", ], ) ray_cc_test( name = "dependency_manager_test", size = "small", srcs = ["src/ray/raylet/dependency_manager_test.cc"], tags = ["team:core"], deps = [ ":raylet_lib", "@com_google_googletest//:gtest_main", ], ) ray_cc_test( name = "wait_manager_test", size = "small", srcs = ["src/ray/raylet/wait_manager_test.cc"], tags = ["team:core"], deps = [ ":raylet_lib", "@com_google_googletest//:gtest_main", ], ) ray_cc_test( name = "worker_killing_policy_test", size = "small", srcs = [ "src/ray/raylet/worker_killing_policy_test.cc", ], tags = ["team:core"], deps = [ ":ray_common", ":raylet_lib", "@com_google_googletest//:gtest_main", ], ) ray_cc_test( name = "worker_killing_policy_group_by_owner_test", size = "small", srcs = [ "src/ray/raylet/worker_killing_policy_group_by_owner_test.cc", ], tags = ["team:core"], deps = [ ":ray_common", ":raylet_lib", "@com_google_googletest//:gtest_main", ], ) ray_cc_test( name = "worker_killing_policy_retriable_fifo_test", size = "small", srcs = [ "src/ray/raylet/worker_killing_policy_retriable_fifo_test.cc", ], tags = ["team:core"], deps = [ ":ray_common", ":raylet_lib", "@com_google_googletest//:gtest_main", ], ) ray_cc_test( name = "pubsub_integration_test", size = "small", srcs = ["src/ray/pubsub/test/integration_test.cc"], tags = ["team:core"], deps = [ ":pubsub_cc_grpc", ":pubsub_lib", "//src/ray/protobuf:pubsub_cc_proto", "@com_google_absl//absl/synchronization", "@com_google_absl//absl/time", "@com_google_googletest//:gtest_main", ], ) ray_cc_test( name = "publisher_test", size = "small", srcs = ["src/ray/pubsub/test/publisher_test.cc"], tags = ["team:core"], deps = [ ":pubsub_lib", "@com_google_googletest//:gtest_main", ], ) ray_cc_test( name = "subscriber_test", size = "small", srcs = [ "src/ray/pubsub/test/subscriber_test.cc", ], tags = ["team:core"], deps = [ ":pubsub_lib", "@com_google_googletest//:gtest_main", ], ) ray_cc_test( name = "stats_test", size = "small", srcs = ["src/ray/stats/stats_test.cc"], tags = [ "stats", "team:core", ], deps = [ ":stats_lib", "@com_google_googletest//:gtest_main", ], ) ray_cc_test( name = "metric_exporter_client_test", size = "small", srcs = ["src/ray/stats/metric_exporter_client_test.cc"], tags = [ "stats", "team:core", ], deps = [ ":stats_lib", "@com_google_googletest//:gtest_main", ], ) ray_cc_library( name = "gcs_test_util_lib", hdrs = [ "src/ray/gcs/test/gcs_test_util.h", ], deps = [ ":gcs", ":gcs_service_rpc", ], ) ray_cc_test( name = "grpc_server_client_test", size = "small", srcs = [ "src/ray/rpc/test/grpc_server_client_test.cc", ], tags = ["team:core"], deps = [ ":grpc_common_lib", ":test_service_cc_grpc", ], ) ray_cc_test( name = "gcs_server_rpc_test", size = "small", srcs = [ "src/ray/gcs/gcs_server/test/gcs_server_rpc_test.cc", ], args = [ "$(location redis-server)", "$(location redis-cli)", ], data = [ "//:redis-cli", "//:redis-server", ], tags = ["team:core"], deps = [ ":gcs_server_lib", ":gcs_test_util_lib", "@com_google_googletest//:gtest_main", ], ) ray_cc_test( name = "gcs_kv_manager_test", size = "small", srcs = [ "src/ray/gcs/gcs_server/test/gcs_kv_manager_test.cc", ], args = [ "$(location redis-server)", "$(location redis-cli)", ], data = [ "//:redis-cli", "//:redis-server", ], tags = ["team:core"], deps = [ ":gcs_server_lib", ":gcs_test_util_lib", "@com_google_googletest//:gtest_main", ], ) ray_cc_library( name = "gcs_server_test_util", hdrs = [ "src/ray/gcs/gcs_server/test/gcs_server_test_util.h", ], deps = [ ":gcs_client_lib", ], ) ray_cc_test( name = "gcs_health_check_manager_test", size = "medium", srcs = [ "src/ray/gcs/gcs_server/test/gcs_health_check_manager_test.cc", ], tags = ["team:core"], deps = [ ":gcs_server_lib", "@com_google_googletest//:gtest_main", ], ) ray_cc_test( name = "gcs_node_manager_test", size = "small", srcs = [ "src/ray/gcs/gcs_server/test/gcs_node_manager_test.cc", ], tags = ["team:core"], deps = [ ":gcs_server_lib", ":gcs_server_test_util", ":gcs_test_util_lib", ":ray_mock", "@com_google_googletest//:gtest_main", ], ) ray_cc_test( name = "gcs_job_manager_test", size = "small", srcs = [ "src/ray/gcs/gcs_server/test/gcs_job_manager_test.cc", ], tags = ["team:core"], deps = [ ":gcs_server_lib", ":gcs_server_test_util", ":gcs_test_util_lib", ":ray_mock", "@com_google_googletest//:gtest_main", ], ) ray_cc_test( name = "gcs_task_manager_test", size = "small", srcs = [ "src/ray/gcs/gcs_server/test/gcs_task_manager_test.cc", ], tags = ["team:core"], deps = [ ":gcs_server_lib", ":gcs_server_test_util", ":gcs_test_util_lib", ":ray_mock", "@com_google_googletest//:gtest_main", ], ) ray_cc_test( name = "gcs_placement_group_manager_test", size = "small", srcs = [ "src/ray/gcs/gcs_server/test/gcs_placement_group_manager_test.cc", ], tags = ["team:core"], deps = [ ":gcs_server_lib", ":gcs_server_test_util", ":gcs_test_util_lib", ":ray_mock", "@com_google_googletest//:gtest_main", ], ) ray_cc_test( name = "gcs_placement_group_scheduler_test", size = "small", srcs = [ "src/ray/gcs/gcs_server/test/gcs_placement_group_scheduler_test.cc", ], tags = ["team:core"], deps = [ ":gcs_server_lib", ":gcs_server_test_util", ":gcs_test_util_lib", ":ray_mock", "@com_google_googletest//:gtest_main", ], ) ray_cc_test( name = "gcs_actor_scheduler_test", size = "small", srcs = [ "src/ray/gcs/gcs_server/test/gcs_actor_scheduler_test.cc", ], tags = ["team:core"], deps = [ ":gcs_client_lib", ":gcs_server_lib", ":gcs_server_test_util", ":gcs_test_util_lib", ":ray_mock", "@com_google_googletest//:gtest_main", ], ) ray_cc_test( name = "gcs_actor_scheduler_mock_test", size = "small", srcs = [ "src/ray/gcs/gcs_server/test/gcs_actor_scheduler_mock_test.cc", ], tags = ["team:core"], deps = [ ":gcs_server_lib", ":ray_mock", "@com_google_googletest//:gtest_main", ], ) ray_cc_test( name = "gcs_actor_manager_test", size = "small", srcs = [ "src/ray/gcs/gcs_server/test/gcs_actor_manager_test.cc", ], tags = ["team:core"], deps = [ ":gcs_server_lib", ":gcs_server_test_util", ":gcs_test_util_lib", ":ray_mock", "@com_google_googletest//:gtest_main", ], ) ray_cc_test( name = "gcs_worker_manager_test", size = "small", srcs = [ "src/ray/gcs/gcs_server/test/gcs_worker_manager_test.cc", ], tags = ["team:core"], deps = [ ":gcs_server_lib", ":gcs_server_test_util", ":gcs_test_util_lib", ":ray_mock", "@com_google_googletest//:gtest_main", ], ) ray_cc_test( name = "gcs_monitor_server_test", size = "small", srcs = [ "src/ray/gcs/gcs_server/test/gcs_monitor_server_test.cc", ], tags = ["team:serverless"], deps = [ ":gcs_server_lib", ":gcs_server_test_util", ":gcs_test_util_lib", ":ray_mock", "@com_google_googletest//:gtest_main", ], ) ray_cc_library( name = "gcs_table_storage_lib", srcs = glob( [ "src/ray/gcs/gcs_server/gcs_table_storage.cc", ], ), hdrs = glob( [ "src/ray/gcs/gcs_server/gcs_table_storage.h", ], ), deps = [ ":gcs", ":gcs_in_memory_store_client", ":observable_store_client", ":pubsub_lib", ":ray_common", ":redis_store_client", ], ) ray_cc_library( name = "gcs_table_storage_test_lib", hdrs = [ "src/ray/gcs/gcs_server/test/gcs_table_storage_test_base.h", ], deps = [ "redis_store_client", ], ) ray_cc_test( name = "redis_gcs_table_storage_test", size = "small", srcs = [ "src/ray/gcs/gcs_server/test/redis_gcs_table_storage_test.cc", ], args = [ "$(location redis-server)", "$(location redis-cli)", ], data = [ "//:redis-cli", "//:redis-server", ], tags = ["team:core"], deps = [ ":gcs_table_storage_lib", ":gcs_table_storage_test_lib", ":gcs_test_util_lib", ":store_client_test_lib", "@com_google_googletest//:gtest_main", ], ) ray_cc_test( name = "in_memory_gcs_table_storage_test", size = "small", srcs = [ "src/ray/gcs/gcs_server/test/in_memory_gcs_table_storage_test.cc", ], tags = ["team:core"], deps = [ ":gcs_table_storage_lib", ":gcs_table_storage_test_lib", ":gcs_test_util_lib", ":store_client_test_lib", "@com_google_googletest//:gtest_main", ], ) ray_cc_test( name = "gcs_autoscaler_state_manager_test", size = "small", srcs = [ "src/ray/gcs/gcs_server/test/gcs_autoscaler_state_manager_test.cc", ], tags = ["team:core"], deps = [ ":gcs_server_lib", ":gcs_server_test_util", ":gcs_test_util_lib", ":ray_mock", "@com_google_googletest//:gtest_main", ], ) ray_cc_test( name = "gcs_resource_manager_test", size = "small", srcs = [ "src/ray/gcs/gcs_server/test/gcs_resource_manager_test.cc", ], tags = ["team:core"], deps = [ ":gcs_server_lib", ":gcs_test_util_lib", "@com_google_googletest//:gtest_main", ], ) ray_cc_test( name = "grpc_based_resource_broadcaster_test", size = "small", srcs = [ "src/ray/gcs/gcs_server/test/grpc_based_resource_broadcaster_test.cc", ], tags = ["team:core"], deps = [ ":gcs_server_lib", ":gcs_test_util_lib", "@com_google_googletest//:gtest_main", ], ) ray_cc_library( name = "gcs_client_lib", srcs = [ "src/ray/gcs/gcs_client/accessor.cc", "src/ray/gcs/gcs_client/gcs_client.cc", "src/ray/gcs/gcs_client/usage_stats_client.cc", ], hdrs = [ "src/ray/gcs/gcs_client/accessor.h", "src/ray/gcs/gcs_client/gcs_client.h", "src/ray/gcs/gcs_client/usage_stats_client.h", ], deps = [ ":gcs", ":gcs_pub_sub_lib", ":gcs_service_rpc", ":pubsub_lib", ":ray_common", ":redis_store_client", "//src/ray/protobuf:usage_cc_proto", ], ) ray_cc_library( name = "global_state_accessor_lib", srcs = glob( [ "src/ray/gcs/gcs_client/global_state_accessor.cc", ], ), hdrs = glob( [ "src/ray/gcs/gcs_client/global_state_accessor.h", ], ), deps = [ ":gcs_client_lib", ], ) ray_cc_test( name = "accessor_test", size = "small", srcs = [ "src/ray/gcs/gcs_client/test/accessor_test.cc", ], tags = ["team:core"], deps = [ ":gcs_client_lib", ":gcs_test_util_lib", "@com_google_googletest//:gtest_main", ], ) ray_cc_test( name = "global_state_accessor_test", size = "small", srcs = [ "src/ray/gcs/gcs_client/test/global_state_accessor_test.cc", ], args = [ "$(location redis-server)", "$(location redis-cli)", ], data = [ "//:redis-cli", "//:redis-server", ], tags = ["team:core"], deps = [ ":gcs_client_lib", ":gcs_server_lib", ":gcs_test_util_lib", ":global_state_accessor_lib", "@com_google_googletest//:gtest_main", ], ) ray_cc_test( name = "gcs_client_test", size = "medium", srcs = [ "src/ray/gcs/gcs_client/test/gcs_client_test.cc", ], args = [ "$(location redis-server)", "$(location redis-cli)", ], data = [ "//:redis-cli", "//:redis-server", ], tags = ["team:core"], deps = [ ":gcs_client_lib", ":gcs_server_lib", ":gcs_test_util_lib", "@com_google_googletest//:gtest_main", ], ) ray_cc_test( name = "gcs_client_reconnection_test", srcs = [ "src/ray/gcs/gcs_client/test/gcs_client_reconnection_test.cc", ], args = [ "$(location redis-server)", "$(location redis-cli)", ], data = [ "//:redis-cli", "//:redis-server", ], tags = ["team:core"], deps = [ ":gcs_client_lib", ":gcs_server_lib", ":gcs_test_util_lib", "@com_google_googletest//:gtest_main", ], ) ray_cc_test( name = "usage_stats_client_test", srcs = [ "src/ray/gcs/gcs_client/test/usage_stats_client_test.cc", ], tags = ["team:core"], deps = [ ":gcs_client_lib", ":gcs_server_lib", ":gcs_test_util_lib", "@com_google_googletest//:gtest_main", ], ) ray_cc_library( name = "object_manager", srcs = glob([ "src/ray/object_manager/*.cc", "src/ray/object_manager/notification/*.cc", ]), hdrs = glob([ "src/ray/object_manager/*.h", "src/ray/object_manager/notification/*.h", ]), deps = [ ":core_worker_lib", ":gcs", ":object_manager_rpc", ":plasma_store_server_lib", ":ray_common", "//src/ray/util", "@boost//:asio", ], ) ray_cc_library( name = "platform_shims", srcs = [] + select({ "@bazel_tools//src/conditions:windows": glob([ "src/shims/windows/**/*.c", "src/shims/windows/**/*.cc", "src/shims/windows/**/*.h", ]), "//conditions:default": [], }), hdrs = [] + select({ "@bazel_tools//src/conditions:windows": glob([ "src/shims/windows/**/*.h", ]), "//conditions:default": [], }), strip_include_prefix = select({ "@bazel_tools//src/conditions:windows": "src/shims/windows", "//conditions:default": "", }), ) filegroup( name = "extra_actions_base_proto", srcs = [ "thirdparty/protobuf/extra_actions_base.proto", ], ) proto_library( name = "extra_actions_base_proto_lib", srcs = ["thirdparty/protobuf/extra_actions_base.proto"], ) cc_proto_library( name = "extra_actions_cc_proto_lib", deps = [":extra_actions_base_proto_lib"], ) filegroup( name = "iwyu_sh", srcs = ["ci/run/iwyu.sh"], ) action_listener( name = "iwyu_cpp", extra_actions = [":iwyu_action"], mnemonics = ["CppCompile"], ) extra_action( name = "iwyu_action", cmd = "$(location :iwyu_sh) postbuild $(location @com_google_protobuf//:protoc) $(location :extra_actions_base_proto) --extra_action_file=$(EXTRA_ACTION_FILE) > $(output $(ACTION_ID).iwyu.txt)", out_templates = [ "$(ACTION_ID).iwyu.txt", ], tools = [ ":extra_actions_base_proto", ":iwyu_sh", "@com_google_protobuf//:protoc", ], ) ray_cc_library( name = "sha256", srcs = [ "src/ray/thirdparty/sha256.c", ], hdrs = [ "src/ray/thirdparty/sha256.h", ], ) ray_cc_library( name = "aligned_alloc", srcs = [ "src/ray/thirdparty/aligned_alloc.c", ], hdrs = [ "src/ray/thirdparty/aligned_alloc.h", ], ) alias( name = "hiredis", actual = "@com_github_redis_hiredis//:hiredis", ) ray_cc_library( name = "redis_client", srcs = [ "src/ray/gcs/asio.cc", "src/ray/gcs/redis_async_context.cc", "src/ray/gcs/redis_client.cc", "src/ray/gcs/redis_context.cc", ], hdrs = [ "src/ray/gcs/asio.h", "src/ray/gcs/redis_async_context.h", "src/ray/gcs/redis_client.h", "src/ray/gcs/redis_context.h", ], deps = [ ":hiredis", ":ray_common", ":stats_lib", "//src/ray/util", "@boost//:asio", ], ) ray_cc_library( name = "redis_store_client", srcs = [ "src/ray/gcs/store_client/redis_store_client.cc", ], hdrs = [ "src/ray/gcs/callback.h", "src/ray/gcs/store_client/redis_store_client.h", "src/ray/gcs/store_client/store_client.h", ], deps = [ "redis_client", "@com_google_absl//absl/strings:str_format", "@com_google_absl//absl/synchronization", ], ) ray_cc_library( name = "gcs_in_memory_store_client", srcs = [ "src/ray/gcs/store_client/in_memory_store_client.cc", ], hdrs = [ "src/ray/gcs/callback.h", "src/ray/gcs/store_client/in_memory_store_client.h", "src/ray/gcs/store_client/store_client.h", ], deps = [ ":ray_common", "//src/ray/util", ], ) ray_cc_library( name = "observable_store_client", srcs = [ "src/ray/gcs/store_client/observable_store_client.cc", ], hdrs = [ "src/ray/gcs/callback.h", "src/ray/gcs/store_client/observable_store_client.h", "src/ray/gcs/store_client/store_client.h", ], deps = [ ":ray_common", "//src/ray/util", ], ) ray_cc_library( name = "store_client_test_lib", hdrs = [ "src/ray/gcs/store_client/test/store_client_test_base.h", ], deps = [ "redis_store_client", ], ) ray_cc_test( name = "redis_store_client_test", size = "small", srcs = ["src/ray/gcs/store_client/test/redis_store_client_test.cc"], args = [ "$(location redis-server)", "$(location redis-cli)", ], data = [ "//:redis-cli", "//:redis-server", ], tags = ["team:core"], deps = [ ":redis_store_client", ":store_client_test_lib", "@com_google_googletest//:gtest_main", ], ) ray_cc_test( name = "chaos_redis_store_client_test", size = "small", srcs = ["src/ray/gcs/store_client/test/redis_store_client_test.cc"], args = [ "$(location redis-server)", "$(location redis-cli)", ], data = [ "//:redis-cli", "//:redis-server", ], env = {"REDIS_CHAOS": "1"}, tags = ["team:core"], target_compatible_with = [ "@platforms//os:linux", ], deps = [ ":redis_store_client", ":store_client_test_lib", "@com_google_googletest//:gtest_main", ], ) ray_cc_test( name = "in_memory_store_client_test", size = "small", srcs = ["src/ray/gcs/store_client/test/in_memory_store_client_test.cc"], tags = ["team:core"], deps = [ ":gcs_in_memory_store_client", ":store_client_test_lib", "@com_google_googletest//:gtest_main", ], ) ray_cc_test( name = "observable_store_client_test", size = "small", srcs = ["src/ray/gcs/store_client/test/in_memory_store_client_test.cc"], tags = ["team:core"], deps = [ ":gcs_in_memory_store_client", ":observable_store_client", ":store_client_test_lib", "@com_google_googletest//:gtest_main", ], ) ray_cc_library( name = "gcs", srcs = glob( [ "src/ray/gcs/*.cc", ], exclude = [ "src/ray/gcs/*_test.cc", ], ), hdrs = glob([ "src/ray/gcs/*.h", ]), deps = [ ":hiredis", ":node_manager_fbs", ":node_manager_rpc", ":ray_common", ":stats_lib", "//src/ray/protobuf:agent_manager_cc_proto", "//src/ray/protobuf:gcs_cc_proto", "//src/ray/protobuf:gcs_service_cc_proto", "//src/ray/util", "@boost//:asio", ], ) ray_cc_test( name = "callback_reply_test", size = "small", srcs = ["src/ray/gcs/test/callback_reply_test.cc"], tags = ["team:core"], deps = [ ":gcs", "@com_google_googletest//:gtest_main", ], ) ray_cc_test( name = "asio_test", size = "small", srcs = ["src/ray/gcs/test/asio_test.cc"], args = [ "$(location redis-server)", "$(location redis-cli)", ], data = [ "//:redis-cli", "//:redis-server", ], tags = ["team:core"], deps = [ ":gcs", "//src/ray/util", "@com_google_googletest//:gtest_main", ], ) flatbuffer_cc_library( name = "node_manager_fbs", srcs = ["src/ray/raylet/format/node_manager.fbs"], flatc_args = FLATC_ARGS, out_prefix = "ray/raylet/format/", ) pyx_library( name = "_raylet", srcs = glob([ "python/ray/__init__.py", "python/ray/_raylet.pxd", "python/ray/_raylet.pyx", "python/ray/includes/*.pxd", "python/ray/includes/*.pxi", ]), # Export ray ABI symbols, which can then be used by _streaming.so. # We need to dlopen this lib with RTLD_GLOBAL to use ABI in this # shared lib, see python/ray/__init__.py. cc_kwargs = dict( srcs = PYX_SRCS, copts = COPTS + PYX_COPTS, # see https://github.com/tensorflow/tensorflow/blob/r2.1/tensorflow/lite/BUILD#L444 linkopts = select({ "@bazel_tools//src/conditions:darwin": [ "-Wl,-exported_symbols_list,$(location //:src/ray/ray_exported_symbols.lds)", ], "@bazel_tools//src/conditions:windows": [ ], "//conditions:default": [ "-Wl,--version-script,$(location //:src/ray/ray_version_script.lds)", ], }), linkstatic = 1, ), deps = [ "//:core_worker_lib", "//:global_state_accessor_lib", "//:gcs_server_lib", "//:raylet_lib", "//:redis_client", "//:src/ray/ray_exported_symbols.lds", "//:src/ray/ray_version_script.lds", "//:stats_lib", "//src/ray/protobuf:serialization_cc_proto", "//src/ray/util", ], ) ray_cc_binary( name = "libcore_worker_library_java.so", srcs = glob([ "src/ray/core_worker/lib/java/*.h", "src/ray/core_worker/lib/java/*.cc", ]), # Export ray ABI symbols, which can then be used by libstreaming_java.so. see `//:_raylet` linkopts = select({ "@bazel_tools//src/conditions:darwin": [ "-Wl,-exported_symbols_list,$(location //:src/ray/ray_exported_symbols.lds)", ], "@bazel_tools//src/conditions:windows": [ ], "//conditions:default": [ "-Wl,--version-script,$(location //:src/ray/ray_version_script.lds)", ], }), linkshared = 1, linkstatic = 1, visibility = ["//java:__subpackages__"], deps = [ "//:core_worker_lib", "//:global_state_accessor_lib", "//:src/ray/ray_exported_symbols.lds", "//:src/ray/ray_version_script.lds", "//:stats_lib", "@bazel_tools//tools/jdk:jni", ], ) filegroup( name = "python_sources", srcs = glob([ "python/ray/*.py", "python/ray/autoscaler/*.py", "python/ray/autoscaler/_private/*.py", "python/ray/autoscaler/_private/_azure/*.json", "python/ray/autoscaler/aws/defaults.yaml", "python/ray/autoscaler/azure/defaults.yaml", "python/ray/autoscaler/gcp/defaults.yaml", "python/ray/autoscaler/local/defaults.yaml", "python/ray/cloudpickle/*.py", "python/ray/core/__init__.py", "python/ray/core/generated/__init__.py", "python/ray/core/generated/ray/__init__.py", "python/ray/core/generated/ray/protocol/__init__.py", "python/ray/dashboard/**/*.py", "python/ray/experimental/*.py", "python/ray/util/*.py", "python/ray/internal/*.py", "python/ray/workers/default_worker.py", ]), ) alias( name = "redis-server", actual = select({ "@bazel_tools//src/conditions:windows": "@com_github_tporadowski_redis_bin//:redis-server.exe", "//conditions:default": "@com_github_antirez_redis//:redis-server", }), ) alias( name = "redis-cli", actual = select({ "@bazel_tools//src/conditions:windows": "@com_github_tporadowski_redis_bin//:redis-cli.exe", "//conditions:default": "@com_github_antirez_redis//:redis-cli", }), ) filegroup( name = "all_py_proto", srcs = [ "//src/ray/protobuf:agent_manager_py_proto", "//src/ray/protobuf:autoscaler_py_proto", "//src/ray/protobuf:common_py_proto", "//src/ray/protobuf:core_worker_py_proto", "//src/ray/protobuf:event_py_proto", "//src/ray/protobuf:gcs_py_proto", "//src/ray/protobuf:gcs_service_py_proto", "//src/ray/protobuf:instance_manager_py_proto", "//src/ray/protobuf:job_agent_py_proto", "//src/ray/protobuf:monitor_py_proto", "//src/ray/protobuf:node_manager_py_proto", "//src/ray/protobuf:ray_client_py_proto", "//src/ray/protobuf:reporter_py_proto", "//src/ray/protobuf:runtime_env_agent_py_proto", "//src/ray/protobuf:runtime_env_common_py_proto", "//src/ray/protobuf:usage_py_proto", ], ) filegroup( name = "serve_py_proto", srcs = [ "//src/ray/protobuf:serve_py_proto", ], ) # This is a dummy test dependency that causes the python tests to be # re-run if any of these files changes. py_library( name = "ray_lib", srcs = glob( ["python/ray/**/*.py"], exclude = ["python/ray/tests/*.py"], ), visibility = ["__subpackages__"], ) copy_to_workspace( name = "cp_raylet_so", srcs = ["python/ray/_raylet.so"], dstdir = "python/ray", ) copy_to_workspace( name = "cp_all_py_proto", srcs = [":all_py_proto"], dstdir = "python/ray/core/generated", ) copy_to_workspace( name = "cp_serve_py_proto", srcs = [":serve_py_proto"], dstdir = "python/ray/serve/generated", ) copy_to_workspace( name = "cp_redis", srcs = [ ":redis-cli", ":redis-server", ], dstdir = "python/ray/core/src/ray/thirdparty/redis/src", ) copy_to_workspace( name = "cp_raylet", srcs = [":raylet"], dstdir = "python/ray/core/src/ray/raylet", ) copy_to_workspace( name = "cp_gcs_server", srcs = [":gcs_server"], dstdir = "python/ray/core/src/ray/gcs", ) copy_to_workspace( name = "cp_jemalloc", srcs = ["@jemalloc//:shared"], dstdir = "python/ray/core/", ) genrule( name = "install_py_proto", srcs = [ ":cp_all_py_proto", ":cp_serve_py_proto", ], outs = ["install_py_proto.out"], cmd = """ # NOTE(hchen): Protobuf doesn't allow specifying Python package name. So we use this `sed` # command to change the import path in the generated file. # shellcheck disable=SC2006 files=( `ls python/ray/core/generated/*_pb2*.py` \ `ls python/ray/serve/generated/*_pb2*.py` \ ) sed -i -E 's/from src.ray.protobuf/from ./' "$${files[@]}" # Help the generated serve files to have the correct module serve_files=(`ls python/ray/serve/generated/*_pb2*.py`) sed -i -E 's/'"'"'src.ray.protobuf./'"'"'ray.serve.generated./' "$${serve_files[@]}" # TODO(sang): Build our own proto instead of creating a new proto for opencensus separately. # https://github.com/ray-project/ray/issues/31358 sed -i -E 's/from opencensus.proto.metrics.v1 import/from . import/' "$${files[@]}" sed -i -E 's/from opencensus.proto.resource.v1 import/from . import/' "$${files[@]}" # TODO(rickyx): Remove this experimental path rewrite once we move autoscaler proto out # of experimental. autoscale_files=(`ls python/ray/core/generated/autoscaler_pb2*.py`) sed -i -E 's/from ..experimental/from ./' "$${autoscale_files[@]}" echo "$${PWD}" > $@ """, local = 1, ) genrule( name = "ray_pkg", srcs = [ ":cp_raylet_so", ":python_sources", ":install_py_proto", ":cp_redis", ":cp_raylet", ":cp_gcs_server", ] + select({ ":jemalloc": [ ":cp_jemalloc", ], "//conditions:default": [], }), outs = ["ray_pkg.out"], cmd = """ if [ "$${OSTYPE-}" = "msys" ]; then ln -P -f -- python/ray/_raylet.so python/ray/_raylet.pyd fi echo "$${PWD}" > $@ """, local = 1, )