load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test")

package(default_visibility = ["//enterprise:__subpackages__"])

go_library(
    name = "service",
    srcs = ["service.go"],
    importpath = "github.com/buildbuddy-io/buildbuddy/enterprise/server/workflow/service",
    deps = [
        "//enterprise/server/remote_execution/operation",
        "//enterprise/server/remote_execution/platform",
        "//enterprise/server/webhooks/webhook_data",
        "//enterprise/server/workflow/config",
        "//proto:context_go_proto",
        "//proto:invocation_status_go_proto",
        "//proto:remote_execution_go_proto",
        "//proto:user_id_go_proto",
        "//proto:workflow_go_proto",
        "//server/backends/github",
        "//server/endpoint_urls/build_buddy_url",
        "//server/endpoint_urls/cache_api_url",
        "//server/endpoint_urls/events_api_url",
        "//server/endpoint_urls/remote_exec_api_url",
        "//server/environment",
        "//server/interfaces",
        "//server/metrics",
        "//server/remote_cache/cachetools",
        "//server/remote_cache/digest",
        "//server/remote_execution/config",
        "//server/tables",
        "//server/util/alert",
        "//server/util/authutil",
        "//server/util/background",
        "//server/util/bazel_request",
        "//server/util/db",
        "//server/util/git",
        "//server/util/log",
        "//server/util/perms",
        "//server/util/prefix",
        "//server/util/query_builder",
        "//server/util/random",
        "//server/util/retry",
        "//server/util/status",
        "//server/util/subdomain",
        "@com_github_google_go_github_v59//github",
        "@com_github_google_uuid//:uuid",
        "@com_github_prometheus_client_golang//prometheus",
        "@in_gopkg_yaml_v2//:yaml_v2",
        "@org_golang_google_genproto//googleapis/longrunning",
        "@org_golang_google_grpc//status",
        "@org_golang_google_protobuf//types/known/durationpb",
        "@org_golang_x_oauth2//:oauth2",
    ],
)

go_test(
    name = "service_test",
    size = "small",
    srcs = ["service_test.go"],
    deps = [
        ":service",
        "//enterprise/server/testutil/enterprise_testauth",
        "//enterprise/server/testutil/enterprise_testenv",
        "//enterprise/server/workflow/config",
        "//proto:buildbuddy_service_go_proto",
        "//proto:git_go_proto",
        "//proto:remote_execution_go_proto",
        "//proto:resource_go_proto",
        "//proto:workflow_go_proto",
        "//server/backends/repo_downloader",
        "//server/buildbuddy_server",
        "//server/environment",
        "//server/interfaces",
        "//server/remote_cache/byte_stream_server",
        "//server/remote_cache/cachetools",
        "//server/remote_cache/digest",
        "//server/tables",
        "//server/testutil/testauth",
        "//server/testutil/testenv",
        "//server/testutil/testgit",
        "//server/testutil/testhttp",
        "//server/util/db",
        "//server/util/testing/flags",
        "@com_github_google_go_cmp//cmp",
        "@com_github_stretchr_testify//assert",
        "@com_github_stretchr_testify//require",
        "@org_golang_google_genproto//googleapis/longrunning",
        "@org_golang_google_genproto_googleapis_bytestream//:bytestream",
        "@org_golang_google_grpc//:grpc",
        "@org_golang_google_grpc//metadata",
        "@org_golang_google_protobuf//testing/protocmp",
        "@org_golang_google_protobuf//types/known/anypb",
    ],
)
