prysm-pulse/validator/BUILD.bazel
Preston Van Loon cc696d90e3 Docker: use container bundles to upload multiple image tags (#3003)
* use docker tag from environment, if exists

* use container bundles to upload multiple image tags
2019-07-19 21:55:09 -07:00

91 lines
3.0 KiB
Python

load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library")
load("@io_bazel_rules_docker//go:image.bzl", "go_image")
load("@io_bazel_rules_docker//container:container.bzl", "container_bundle")
load("//tools:binary_targets.bzl", "binary_targets")
go_library(
name = "go_default_library",
srcs = [
"main.go",
"usage.go",
],
importpath = "github.com/prysmaticlabs/prysm/validator",
visibility = ["//validator:__subpackages__"],
deps = [
"//shared/cmd:go_default_library",
"//shared/debug:go_default_library",
"//shared/featureconfig:go_default_library",
"//shared/logutil:go_default_library",
"//shared/version:go_default_library",
"//validator/accounts:go_default_library",
"//validator/node:go_default_library",
"//validator/types:go_default_library",
"@com_github_joonix_log//:go_default_library",
"@com_github_sirupsen_logrus//:go_default_library",
"@com_github_urfave_cli//:go_default_library",
"@com_github_x_cray_logrus_prefixed_formatter//:go_default_library",
"@org_golang_x_crypto//ssh/terminal:go_default_library",
"@org_uber_go_automaxprocs//:go_default_library",
],
)
go_image(
name = "image",
srcs = [
"main.go",
"usage.go",
],
goarch = "amd64",
goos = "linux",
importpath = "github.com/prysmaticlabs/prysm/validator",
pure = "on",
race = "off",
static = "on",
tags = ["manual"],
visibility = ["//visibility:private"],
deps = [
"//shared/cmd:go_default_library",
"//shared/debug:go_default_library",
"//shared/featureconfig:go_default_library",
"//shared/logutil:go_default_library",
"//shared/version:go_default_library",
"//validator/accounts:go_default_library",
"//validator/node:go_default_library",
"//validator/types:go_default_library",
"@com_github_joonix_log//:go_default_library",
"@com_github_sirupsen_logrus//:go_default_library",
"@com_github_urfave_cli//:go_default_library",
"@com_github_x_cray_logrus_prefixed_formatter//:go_default_library",
"@org_golang_x_crypto//ssh/terminal:go_default_library",
"@org_uber_go_automaxprocs//:go_default_library",
],
)
container_bundle(
name = "push_images",
images = {
"gcr.io/prysmaticlabs/prysm/validator:latest": ":image",
"gcr.io/prysmaticlabs/prysm/validator:{DOCKER_TAG}": ":image",
},
tags = ["manual"],
)
go_binary(
name = "validator",
embed = [":go_default_library"],
pure = "on", # Enabled unless there is a valid reason to include cgo dep.
visibility = ["//validator:__subpackages__"],
)
[go_binary(
name = "validator-{}-{}".format(
pair[0],
pair[1],
),
embed = [":go_default_library"],
goarch = pair[1],
goos = pair[0],
tags = ["manual"],
visibility = ["//visibility:public"],
) for pair in binary_targets]