github.com/prysmaticlabs/prysm@v1.4.4/cmd/validator/BUILD.bazel (about)

     1  load("@prysm//tools/go:def.bzl", "go_library", "go_test")
     2  load("@io_bazel_rules_go//go:def.bzl", "go_binary")
     3  load("@io_bazel_rules_docker//go:image.bzl", "go_image")
     4  load("@io_bazel_rules_docker//container:container.bzl", "container_bundle", "container_image")
     5  load("//tools:go_image.bzl", "go_image_alpine", "go_image_debug")
     6  load("@io_bazel_rules_docker//contrib:push-all.bzl", "docker_push")
     7  
     8  go_library(
     9      name = "go_default_library",
    10      srcs = [
    11          "log.go",
    12          "main.go",
    13          "usage.go",
    14      ],
    15      importpath = "github.com/prysmaticlabs/prysm/cmd/validator",
    16      visibility = ["//validator:__subpackages__"],
    17      deps = [
    18          "//cmd/validator/accounts:go_default_library",
    19          "//cmd/validator/db:go_default_library",
    20          "//cmd/validator/flags:go_default_library",
    21          "//cmd/validator/slashing-protection:go_default_library",
    22          "//cmd/validator/wallet:go_default_library",
    23          "//shared/cmd:go_default_library",
    24          "//shared/debug:go_default_library",
    25          "//shared/featureconfig:go_default_library",
    26          "//shared/fileutil:go_default_library",
    27          "//shared/journald:go_default_library",
    28          "//shared/logutil:go_default_library",
    29          "//shared/maxprocs:go_default_library",
    30          "//shared/tos:go_default_library",
    31          "//shared/version:go_default_library",
    32          "//validator/node:go_default_library",
    33          "@com_github_joonix_log//:go_default_library",
    34          "@com_github_sirupsen_logrus//:go_default_library",
    35          "@com_github_urfave_cli_v2//:go_default_library",
    36          "@com_github_x_cray_logrus_prefixed_formatter//:go_default_library",
    37      ],
    38  )
    39  
    40  go_image(
    41      name = "image",
    42      base = select({
    43          "//tools:base_image_alpine": "//tools:alpine_cc_image",
    44          "//tools:base_image_cc": "//tools:cc_image",
    45          "//conditions:default": "//tools:cc_image",
    46      }),
    47      binary = ":validator",
    48      tags = ["manual"],
    49      visibility = ["//validator:__pkg__"],
    50  )
    51  
    52  container_image(
    53      name = "image_with_creation_time",
    54      base = "image",
    55      stamp = True,
    56      visibility = ["//validator:__pkg__"],
    57  )
    58  
    59  container_bundle(
    60      name = "image_bundle",
    61      images = {
    62          "gcr.io/prysmaticlabs/prysm/validator:latest": ":image_with_creation_time",
    63          "gcr.io/prysmaticlabs/prysm/validator:{DOCKER_TAG}": ":image_with_creation_time",
    64          "index.docker.io/prysmaticlabs/prysm-validator:latest": ":image_with_creation_time",
    65          "index.docker.io/prysmaticlabs/prysm-validator:{DOCKER_TAG}": ":image_with_creation_time",
    66      },
    67      tags = ["manual"],
    68      visibility = ["//validator:__pkg__"],
    69  )
    70  
    71  go_image_debug(
    72      name = "image_debug",
    73      image = ":image",
    74      tags = ["manual"],
    75      visibility = ["//validator:__pkg__"],
    76  )
    77  
    78  container_bundle(
    79      name = "image_bundle_debug",
    80      images = {
    81          "gcr.io/prysmaticlabs/prysm/validator:latest-debug": ":image_debug",
    82          "gcr.io/prysmaticlabs/prysm/validator:{DOCKER_TAG}-debug": ":image_debug",
    83          "index.docker.io/prysmaticlabs/prysm-validator:latest-debug": ":image_debug",
    84          "index.docker.io/prysmaticlabs/prysm-validator:{DOCKER_TAG}-debug": ":image_debug",
    85      },
    86      tags = ["manual"],
    87      visibility = ["//validator:__pkg__"],
    88  )
    89  
    90  go_image_alpine(
    91      name = "image_alpine",
    92      image = ":image",
    93      tags = ["manual"],
    94      visibility = ["//validator:__pkg__"],
    95  )
    96  
    97  container_bundle(
    98      name = "image_bundle_alpine",
    99      images = {
   100          "gcr.io/prysmaticlabs/prysm/validator:latest-alpine": ":image_alpine",
   101          "gcr.io/prysmaticlabs/prysm/validator:{DOCKER_TAG}-alpine": ":image_alpine",
   102          "index.docker.io/prysmaticlabs/prysm-validator:latest-alpine": ":image_alpine",
   103          "index.docker.io/prysmaticlabs/prysm-validator:{DOCKER_TAG}-alpine": ":image_alpine",
   104      },
   105      tags = ["manual"],
   106      visibility = ["//validator:__pkg__"],
   107  )
   108  
   109  docker_push(
   110      name = "push_images",
   111      bundle = ":image_bundle",
   112      tags = ["manual"],
   113      visibility = ["//validator:__pkg__"],
   114  )
   115  
   116  docker_push(
   117      name = "push_images_debug",
   118      bundle = ":image_bundle_debug",
   119      tags = ["manual"],
   120      visibility = ["//validator:__pkg__"],
   121  )
   122  
   123  docker_push(
   124      name = "push_images_alpine",
   125      bundle = ":image_bundle_alpine",
   126      tags = ["manual"],
   127      visibility = ["//validator:__pkg__"],
   128  )
   129  
   130  go_binary(
   131      name = "validator",
   132      embed = [":go_default_library"],
   133      pure = "off",  # Enabled unless there is a valid reason to include cgo dep.
   134      visibility = [
   135          "//endtoend:__pkg__",
   136          "//validator:__subpackages__",
   137      ],
   138  )
   139  
   140  go_test(
   141      name = "go_default_test",
   142      srcs = ["usage_test.go"],
   143      embed = [":go_default_library"],
   144      visibility = ["//validator:__pkg__"],
   145      deps = [
   146          "//shared/featureconfig:go_default_library",
   147          "@com_github_urfave_cli_v2//:go_default_library",
   148      ],
   149  )