sourcegraph/dev/build-tracker/BUILD.bazel
2024-08-13 13:22:41 +02:00

131 lines
3.3 KiB
Python

load("//dev:go_mockgen.bzl", "go_mockgen")
load("//dev:go_defs.bzl", "go_test")
load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library")
load("//dev:oci_defs.bzl", "image_repository", "oci_image", "oci_push", "oci_tarball")
load("//dev:oci_defs.bzl", "pkg_tar")
load("@container_structure_test//:defs.bzl", "container_structure_test")
load("//dev:msp_delivery.bzl", "msp_delivery")
go_library(
name = "build-tracker_lib",
srcs = [
"background.go",
"bigquery.go",
"main.go",
],
importpath = "github.com/sourcegraph/sourcegraph/dev/build-tracker",
tags = [TAG_INFRA_DEVINFRA],
visibility = ["//visibility:private"],
deps = [
"//dev/build-tracker/build",
"//dev/build-tracker/config",
"//dev/build-tracker/notify",
"//internal/goroutine",
"//internal/testutil",
"//internal/version",
"//lib/background",
"//lib/errors",
"//lib/managedservicesplatform/runtime",
"//lib/pointers",
"@com_github_buildkite_go_buildkite_v3//buildkite",
"@com_github_gorilla_mux//:mux",
"@com_github_sourcegraph_log//:log",
"@com_google_cloud_go_bigquery//:bigquery",
"@org_golang_x_exp//maps",
],
)
go_binary(
name = "build-tracker",
embed = [":build-tracker_lib"],
tags = [TAG_INFRA_DEVINFRA],
visibility = ["//visibility:public"],
)
go_test(
name = "build-tracker_test",
timeout = "short",
srcs = [
"integration_test.go",
"main_test.go",
"mocks_test.go",
"server_test.go",
],
embed = [":build-tracker_lib"],
tags = [TAG_INFRA_DEVINFRA],
deps = [
"//dev/build-tracker/build",
"//dev/build-tracker/config",
"//dev/build-tracker/notify",
"//dev/team",
"//internal/goroutine",
"//lib/pointers",
"@com_github_buildkite_go_buildkite_v3//buildkite",
"@com_github_gorilla_mux//:mux",
"@com_github_sourcegraph_log//logtest",
"@com_github_stretchr_testify//assert",
"@com_github_stretchr_testify//require",
"@com_google_cloud_go_bigquery//:bigquery",
],
)
pkg_tar(
name = "tar_build-tracker",
srcs = [":build-tracker"],
)
oci_image(
name = "image",
base = "//wolfi-images/sourcegraph-base:base_image",
entrypoint = [
"/sbin/tini",
"--",
"/build-tracker",
],
tars = [":tar_build-tracker"],
user = "sourcegraph",
)
oci_tarball(
name = "image_tarball",
image = ":image",
repo_tags = ["build-tracker:candidate"],
)
container_structure_test(
name = "image_test",
timeout = "short",
configs = ["image_test.yaml"],
driver = "docker",
image = ":image",
tags = [
"exclusive",
"requires-network",
TAG_INFRA_DEVINFRA,
],
)
oci_push(
name = "candidate_push",
image = ":image",
repository = image_repository("build-tracker"),
)
msp_delivery(
name = "msp_deploy",
gcp_project = "build-tracker-prod-59bf",
msp_service_id = "build-tracker",
repository = "us.gcr.io/sourcegraph-dev/build-tracker",
)
go_mockgen(
name = "generate_mocks",
out = "mocks_test.go",
manifests = [
"//:mockgen.yaml",
"//:mockgen.test.yaml",
"//:mockgen.temp.yaml",
],
deps = [":build-tracker_lib"],
)