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

go_library(
    name = "status",
    srcs = [
        "cache.go",
        "firestore.go",
        "multi.go",
        "status.go",
    ],
    importpath = "go.skia.org/infra/autoroll/go/status",
    visibility = ["//visibility:public"],
    deps = [
        "//autoroll/go/revision",
        "//go/autoroll",
        "//go/ds",
        "//go/firestore",
        "//go/skerr",
        "//go/sklog",
        "//go/util",
        "@com_google_cloud_go_datastore//:datastore",
        "@com_google_cloud_go_firestore//:firestore",
        "@org_golang_x_oauth2//:oauth2",
    ],
)

go_test(
    name = "status_test",
    srcs = [
        "firestore_test.go",
        "multi_test.go",
        "status_test.go",
    ],
    embed = [":status"],
    # Datastore tests fail intermittently when running locally (i.e. not on RBE) due to tests
    # running in parallel against the same Datastore emulator instance:
    #
    #     rpc error: code = Aborted desc = too much contention on these datastore entities.
    #
    # This is not an issue on RBE because each test target starts its own emulator instance.
    #
    # https://docs.bazel.build/versions/master/be/common-definitions.html#common-attributes-tests
    flaky = True,
    deps = [
        "//autoroll/go/modes",
        "//autoroll/go/revision",
        "//autoroll/go/strategy",
        "//go/autoroll",
        "//go/deepequal/assertdeep",
        "//go/ds",
        "//go/ds/testutil",
        "//go/firestore/testutils",
        "//go/skerr",
        "@com_github_stretchr_testify//require",
    ],
)
