prysm-pulse/cmd/slasher/BUILD.bazel
Raul Jordan d215607e55
Add Goland Standard "cmd" Pattern for Slasher Binaries (#8542)
* vis

* gaz

* imports

* slasher img

Co-authored-by: Victor Farazdagi <simple.square@gmail.com>
2021-03-03 18:37:57 +00:00

89 lines
2.7 KiB
Python

load("@prysm//tools/go:def.bzl", "go_library")
load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_test")
load("@io_bazel_rules_docker//go:image.bzl", "go_image")
load("@io_bazel_rules_docker//container:container.bzl", "container_bundle", "container_image")
load("@io_bazel_rules_docker//contrib:push-all.bzl", "docker_push")
go_library(
name = "go_default_library",
srcs = [
"log.go",
"main.go",
"usage.go",
],
importpath = "github.com/prysmaticlabs/prysm/cmd/slasher",
visibility = ["//slasher:__subpackages__"],
deps = [
"//cmd/slasher/flags:go_default_library",
"//shared/cmd:go_default_library",
"//shared/debug:go_default_library",
"//shared/featureconfig:go_default_library",
"//shared/journald:go_default_library",
"//shared/logutil:go_default_library",
"//shared/tos:go_default_library",
"//shared/version:go_default_library",
"//slasher/db:go_default_library",
"//slasher/node:go_default_library",
"@com_github_joonix_log//:go_default_library",
"@com_github_sirupsen_logrus//:go_default_library",
"@com_github_urfave_cli_v2//:go_default_library",
"@com_github_x_cray_logrus_prefixed_formatter//:go_default_library",
],
)
go_test(
name = "go_default_test",
size = "small",
srcs = ["usage_test.go"],
embed = [":go_default_library"],
visibility = ["//slasher:__pkg__"],
deps = [
"//shared/featureconfig:go_default_library",
"//shared/testutil/assert:go_default_library",
"@com_github_urfave_cli_v2//:go_default_library",
],
)
go_image(
name = "image",
base = "//tools:cc_image",
binary = ":slasher",
tags = ["manual"],
visibility = ["//slasher:__pkg__"],
)
container_image(
name = "image_with_creation_time",
base = "image",
stamp = True,
visibility = ["//slasher:__pkg__"],
)
container_bundle(
name = "image_bundle",
images = {
"gcr.io/prysmaticlabs/prysm/slasher:latest": ":image_with_creation_time",
"gcr.io/prysmaticlabs/prysm/slasher:{DOCKER_TAG}": ":image_with_creation_time",
"index.docker.io/prysmaticlabs/prysm-slasher:latest": ":image_with_creation_time",
"index.docker.io/prysmaticlabs/prysm-slasher:{DOCKER_TAG}": ":image_with_creation_time",
},
tags = ["manual"],
visibility = ["//slasher:__pkg__"],
)
docker_push(
name = "push_images",
bundle = ":image_bundle",
tags = ["manual"],
visibility = ["//slasher:__pkg__"],
)
go_binary(
name = "slasher",
embed = [":go_default_library"],
visibility = [
"//endtoend:__pkg__",
"//slasher:__subpackages__",
],
)