github.com/prysmaticlabs/prysm@v1.4.4/cmd/beacon-chain/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/beacon-chain",
    16      visibility = ["//beacon-chain:__subpackages__"],
    17      deps = [
    18          "//beacon-chain/node:go_default_library",
    19          "//cmd/beacon-chain/db:go_default_library",
    20          "//cmd/beacon-chain/flags:go_default_library",
    21          "//shared/cmd:go_default_library",
    22          "//shared/debug:go_default_library",
    23          "//shared/featureconfig:go_default_library",
    24          "//shared/fileutil:go_default_library",
    25          "//shared/journald:go_default_library",
    26          "//shared/logutil:go_default_library",
    27          "//shared/maxprocs:go_default_library",
    28          "//shared/tos:go_default_library",
    29          "//shared/version:go_default_library",
    30          "@com_github_ethereum_go_ethereum//log:go_default_library",
    31          "@com_github_ipfs_go_log_v2//:go_default_library",
    32          "@com_github_joonix_log//:go_default_library",
    33          "@com_github_sirupsen_logrus//:go_default_library",
    34          "@com_github_urfave_cli_v2//:go_default_library",
    35          "@com_github_x_cray_logrus_prefixed_formatter//:go_default_library",
    36      ],
    37  )
    38  
    39  go_image(
    40      name = "image",
    41      base = select({
    42          "//tools:base_image_alpine": "//tools:alpine_cc_image",
    43          "//tools:base_image_cc": "//tools:cc_image",
    44          "//conditions:default": "//tools:cc_image",
    45      }),
    46      binary = ":beacon-chain",
    47      tags = ["manual"],
    48      visibility = ["//beacon-chain:__pkg__"],
    49  )
    50  
    51  container_image(
    52      name = "image_with_creation_time",
    53      base = "image",
    54      stamp = True,
    55      visibility = ["//beacon-chain:__pkg__"],
    56  )
    57  
    58  container_bundle(
    59      name = "image_bundle",
    60      images = {
    61          "gcr.io/prysmaticlabs/prysm/beacon-chain:latest": ":image_with_creation_time",
    62          "gcr.io/prysmaticlabs/prysm/beacon-chain:{DOCKER_TAG}": ":image_with_creation_time",
    63          "index.docker.io/prysmaticlabs/prysm-beacon-chain:latest": ":image_with_creation_time",
    64          "index.docker.io/prysmaticlabs/prysm-beacon-chain:{DOCKER_TAG}": ":image_with_creation_time",
    65      },
    66      tags = ["manual"],
    67      visibility = ["//beacon-chain:__pkg__"],
    68  )
    69  
    70  go_image_debug(
    71      name = "image_debug",
    72      image = ":image",
    73      tags = ["manual"],
    74      visibility = ["//beacon-chain:__pkg__"],
    75  )
    76  
    77  container_bundle(
    78      name = "image_bundle_debug",
    79      images = {
    80          "gcr.io/prysmaticlabs/prysm/beacon-chain:latest-debug": ":image_debug",
    81          "gcr.io/prysmaticlabs/prysm/beacon-chain:{DOCKER_TAG}-debug": ":image_debug",
    82          "index.docker.io/prysmaticlabs/prysm-beacon-chain:latest-debug": ":image_debug",
    83          "index.docker.io/prysmaticlabs/prysm-beacon-chain:{DOCKER_TAG}-debug": ":image_debug",
    84      },
    85      tags = ["manual"],
    86      visibility = ["//beacon-chain:__pkg__"],
    87  )
    88  
    89  go_image_alpine(
    90      name = "image_alpine",
    91      image = ":image",
    92      tags = ["manual"],
    93      visibility = ["//beacon-chain:__pkg__"],
    94  )
    95  
    96  container_bundle(
    97      name = "image_bundle_alpine",
    98      images = {
    99          "gcr.io/prysmaticlabs/prysm/beacon-chain:latest-alpine": ":image_alpine",
   100          "gcr.io/prysmaticlabs/prysm/beacon-chain:{DOCKER_TAG}-alpine": ":image_alpine",
   101          "index.docker.io/prysmaticlabs/prysm-beacon-chain:latest-alpine": ":image_alpine",
   102          "index.docker.io/prysmaticlabs/prysm-beacon-chain:{DOCKER_TAG}-alpine": ":image_alpine",
   103      },
   104      tags = ["manual"],
   105      visibility = ["//beacon-chain:__pkg__"],
   106  )
   107  
   108  docker_push(
   109      name = "push_images",
   110      bundle = ":image_bundle",
   111      tags = ["manual"],
   112      visibility = ["//beacon-chain:__pkg__"],
   113  )
   114  
   115  docker_push(
   116      name = "push_images_debug",
   117      bundle = ":image_bundle_debug",
   118      tags = ["manual"],
   119      visibility = ["//beacon-chain:__pkg__"],
   120  )
   121  
   122  docker_push(
   123      name = "push_images_alpine",
   124      bundle = ":image_bundle_alpine",
   125      tags = ["manual"],
   126      visibility = ["//beacon-chain:__pkg__"],
   127  )
   128  
   129  go_binary(
   130      name = "beacon-chain",
   131      embed = [":go_default_library"],
   132      visibility = [
   133          "//beacon-chain:__subpackages__",
   134          "//endtoend:__pkg__",
   135      ],
   136  )
   137  
   138  go_test(
   139      name = "go_default_test",
   140      size = "small",
   141      srcs = ["usage_test.go"],
   142      embed = [":go_default_library"],
   143      visibility = ["//beacon-chain:__pkg__"],
   144      deps = [
   145          "//shared/featureconfig:go_default_library",
   146          "@com_github_urfave_cli_v2//:go_default_library",
   147      ],
   148  )