github.com/munnerz/test-infra@v0.0.0-20190108210205-ce3d181dc989/prow/cmd/peribolos/BUILD.bazel (about)

     1  load("//def:configmap.bzl", "k8s_configmap")
     2  load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library", "go_test")
     3  load("@io_bazel_rules_k8s//k8s:object.bzl", "k8s_object")
     4  load("@io_bazel_rules_k8s//k8s:objects.bzl", "k8s_objects")
     5  load("//prow:def.bzl", "prow_image")
     6  
     7  go_library(
     8      name = "go_default_library",
     9      srcs = ["main.go"],
    10      importpath = "k8s.io/test-infra/prow/cmd/peribolos",
    11      visibility = ["//visibility:private"],
    12      deps = [
    13          "//prow/config:go_default_library",
    14          "//prow/config/org:go_default_library",
    15          "//prow/config/secret:go_default_library",
    16          "//prow/flagutil:go_default_library",
    17          "//prow/github:go_default_library",
    18          "//prow/logrusutil:go_default_library",
    19          "//vendor/github.com/sirupsen/logrus:go_default_library",
    20          "//vendor/k8s.io/apimachinery/pkg/util/sets:go_default_library",
    21          "//vendor/sigs.k8s.io/yaml:go_default_library",
    22      ],
    23  )
    24  
    25  go_binary(
    26      name = "peribolos",
    27      embed = [":go_default_library"],
    28      pure = "on",
    29      visibility = ["//visibility:public"],
    30  )
    31  
    32  filegroup(
    33      name = "package-srcs",
    34      srcs = glob(["**"]),
    35      tags = ["automanaged"],
    36      visibility = ["//visibility:private"],
    37  )
    38  
    39  filegroup(
    40      name = "all-srcs",
    41      srcs = [":package-srcs"],
    42      tags = ["automanaged"],
    43      visibility = ["//visibility:public"],
    44  )
    45  
    46  go_test(
    47      name = "go_default_test",
    48      srcs = ["main_test.go"],
    49      embed = [":go_default_library"],
    50      deps = [
    51          "//prow/config/org:go_default_library",
    52          "//prow/flagutil:go_default_library",
    53          "//prow/github:go_default_library",
    54          "//vendor/k8s.io/apimachinery/pkg/util/sets:go_default_library",
    55          "//vendor/sigs.k8s.io/yaml:go_default_library",
    56      ],
    57  )
    58  
    59  # Usage:
    60  # bazel run :e2e-dump -- --github-token-path ~/whatever # --dump=whatever etc
    61  go_binary(
    62      name = "e2e",
    63      args = [
    64          "--tokens=0",
    65      ],
    66      data = [":test-config.yaml"],
    67      embed = [":go_default_library"],
    68  )
    69  
    70  go_binary(
    71      name = "e2e-dump",
    72      args = [
    73          "--tokens=0",
    74          "--dump=fejtaverse",
    75      ],
    76      embed = [":go_default_library"],
    77  )
    78  
    79  go_binary(
    80      name = "e2e-change",
    81      args = [
    82          "--tokens=0",
    83          "--config-path=prow/cmd/peribolos/test-config.yaml",
    84          "--min-admins=2",
    85          "--fix-org",
    86          "--fix-org-members",
    87          "--fix-teams",
    88          "--fix-team-members",
    89      ],
    90      data = [":test-config.yaml"],
    91      embed = [":go_default_library"],
    92  )
    93  
    94  # Usage:
    95  #   bazel run :dev-job.{create,delete,describe}
    96  CLUSTER = "gke_fejta-prod_us-central1-f_erick"  # TODO(fejta): fix
    97  
    98  k8s_object(
    99      name = "peribolos-job",
   100      cluster = CLUSTER,
   101      image_chroot = "{STABLE_DOCKER_REPO}",
   102      images = {"gcr.io/k8s-testimages/peribolos:latest": ":image"},
   103      kind = "Job",
   104      template = ":dev.yaml",
   105  )
   106  
   107  k8s_configmap(
   108      name = "peribolos-test-config",
   109      cluster = CLUSTER,
   110      data = {
   111          "config.yaml": ":test-config.yaml",
   112      },
   113  )
   114  
   115  k8s_objects(
   116      name = "dev",
   117      objects = [
   118          ":peribolos-job",
   119          ":peribolos-test-config",
   120      ],
   121  )
   122  
   123  prow_image(
   124      name = "image",
   125      base = "@alpine-base//image",
   126      visibility = ["//visibility:public"],
   127  )