From cc696d90e399238679401c92c8b50e6531b28278 Mon Sep 17 00:00:00 2001 From: Preston Van Loon Date: Sat, 20 Jul 2019 00:55:09 -0400 Subject: [PATCH] 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 --- beacon-chain/BUILD.bazel | 16 +++---- beacon-chain/gateway/server/BUILD.bazel | 16 +++---- .../deployContract/BUILD.bazel | 43 ------------------- k8s/geth/prober/BUILD.bazel | 20 ++++----- tools/bootnode/BUILD.bazel | 22 +++++----- tools/cluster-pk-manager/client/BUILD.bazel | 16 +++---- tools/cluster-pk-manager/server/BUILD.bazel | 16 +++---- tools/contract-addr/BUILD.bazel | 16 +++---- tools/eth1exporter/BUILD.bazel | 16 +++---- tools/faucet/BUILD.bazel | 16 +++---- tools/relaynode/BUILD.bazel | 22 +++++----- tools/ssz-server/BUILD.bazel | 16 +++---- validator/BUILD.bazel | 15 +++---- 13 files changed, 92 insertions(+), 158 deletions(-) diff --git a/beacon-chain/BUILD.bazel b/beacon-chain/BUILD.bazel index ed9d568fbb..d29bef4ca2 100644 --- a/beacon-chain/BUILD.bazel +++ b/beacon-chain/BUILD.bazel @@ -1,6 +1,6 @@ load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library", "go_test") load("@io_bazel_rules_docker//go:image.bzl", "go_image") -load("@io_bazel_rules_docker//container:container.bzl", "container_push") +load("@io_bazel_rules_docker//container:container.bzl", "container_bundle") load("//tools:binary_targets.bzl", "binary_targets") go_library( @@ -59,15 +59,13 @@ go_image( ], ) -container_push( - name = "push_image", - format = "Docker", - image = ":image", - registry = "gcr.io", - repository = "prysmaticlabs/prysm/beacon-chain", - tag = "{DOCKER_TAG}", +container_bundle( + name = "push_images", + images = { + "gcr.io/prysmaticlabs/prysm/beacon-chain:latest": ":image", + "gcr.io/prysmaticlabs/prysm/beacon-chain:{DOCKER_TAG}": ":image", + }, tags = ["manual"], - visibility = ["//visibility:private"], ) go_binary( diff --git a/beacon-chain/gateway/server/BUILD.bazel b/beacon-chain/gateway/server/BUILD.bazel index 712b193b52..a2afa28671 100644 --- a/beacon-chain/gateway/server/BUILD.bazel +++ b/beacon-chain/gateway/server/BUILD.bazel @@ -1,6 +1,6 @@ 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_push") +load("@io_bazel_rules_docker//container:container.bzl", "container_bundle") go_library( name = "go_default_library", @@ -41,13 +41,11 @@ go_image( ], ) -container_push( - name = "push_image", - format = "Docker", - image = ":image", - registry = "gcr.io", - repository = "prysmaticlabs/prysm/beacon-chain/gateway", - tag = "{DOCKER_TAG}", +container_bundle( + name = "push_images", + images = { + "gcr.io/prysmaticlabs/prysm/beacon-chain/gateway:latest": ":image", + "gcr.io/prysmaticlabs/prysm/beacon-chain/gateway:{DOCKER_TAG}": ":image", + }, tags = ["manual"], - visibility = ["//visibility:private"], ) diff --git a/contracts/deposit-contract/deployContract/BUILD.bazel b/contracts/deposit-contract/deployContract/BUILD.bazel index 2caf149633..364310b19c 100644 --- a/contracts/deposit-contract/deployContract/BUILD.bazel +++ b/contracts/deposit-contract/deployContract/BUILD.bazel @@ -1,6 +1,4 @@ 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_push") go_library( name = "go_default_library", @@ -31,44 +29,3 @@ go_binary( embed = [":go_default_library"], visibility = ["//visibility:public"], ) - -go_image( - name = "image", - srcs = ["deployContract.go"], - importpath = "github.com/prysmaticlabs/prysm/contracts/deposit-contract/deployContract", - deps = [ - "//contracts/deposit-contract:go_default_library", - "//shared/params:go_default_library", - "//shared/version:go_default_library", - "@com_github_ethereum_go_ethereum//accounts/abi/bind:go_default_library", - "@com_github_ethereum_go_ethereum//accounts/keystore:go_default_library", - "@com_github_ethereum_go_ethereum//common:go_default_library", - "@com_github_ethereum_go_ethereum//crypto:go_default_library", - "@com_github_ethereum_go_ethereum//ethclient:go_default_library", - "@com_github_ethereum_go_ethereum//rpc: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", - "@io_k8s_apimachinery//pkg/apis/meta/v1:go_default_library", - "@io_k8s_client_go//kubernetes:go_default_library", - "@io_k8s_client_go//rest:go_default_library", - ], - visibility = ["//visibility:private"], - pure = "off", # depends on cgo for go-etheruem crypto - static = "on", - tags = ["manual"], - goarch = "amd64", - goos = "linux", - race = "off", -) - -container_push( - name = "push_image", - format = "Docker", - image = ":image", - registry = "gcr.io", - repository = "prysmaticlabs/prysm/deploy-deposit-contract", - tag = "{DOCKER_TAG}", - tags = ["manual"], - visibility = ["//visibility:private"], -) diff --git a/k8s/geth/prober/BUILD.bazel b/k8s/geth/prober/BUILD.bazel index e674107d10..d3327a32a9 100644 --- a/k8s/geth/prober/BUILD.bazel +++ b/k8s/geth/prober/BUILD.bazel @@ -1,6 +1,6 @@ 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_push") +load("@io_bazel_rules_docker//container:container.bzl", "container_bundle") go_library( name = "go_default_library", @@ -21,19 +21,17 @@ go_image( goarch = "amd64", goos = "linux", importpath = "github.com/prysmaticlabs/prysm/k8s/geth/prober", - static = "on", - visibility = ["//visibility:private"], pure = "on", + static = "on", tags = ["manual"], + visibility = ["//visibility:private"], ) -container_push( - name = "push_image", - format = "Docker", - image = ":image", - registry = "gcr.io", - repository = "prysmaticlabs/prysm/geth-prober", - tag = "{DOCKER_TAG}", +container_bundle( + name = "push_images", + images = { + "gcr.io/prysmaticlabs/prysm/geth-prober:latest": ":image", + "gcr.io/prysmaticlabs/prysm/geth-prober:{DOCKER_TAG}": ":image", + }, tags = ["manual"], - visibility = ["//visibility:private"], ) diff --git a/tools/bootnode/BUILD.bazel b/tools/bootnode/BUILD.bazel index 83d629b30f..739b896d7b 100644 --- a/tools/bootnode/BUILD.bazel +++ b/tools/bootnode/BUILD.bazel @@ -1,6 +1,6 @@ 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_push") +load("@io_bazel_rules_docker//container:container.bzl", "container_bundle") go_library( name = "go_default_library", @@ -48,19 +48,17 @@ go_image( ], ) -container_push( - name = "push_image", - format = "Docker", - image = ":image", - registry = "gcr.io", - repository = "prysmaticlabs/prysm/bootnode", - tag = "{DOCKER_TAG}", - tags = ["manual"], - visibility = ["//visibility:private"], -) - go_binary( name = "bootnode", embed = [":go_default_library"], visibility = ["//visibility:public"], ) + +container_bundle( + name = "push_images", + images = { + "gcr.io/prysmaticlabs/prysm/bootnode:latest": ":image", + "gcr.io/prysmaticlabs/prysm/bootnode:{DOCKER_TAG}": ":image", + }, + tags = ["manual"], +) diff --git a/tools/cluster-pk-manager/client/BUILD.bazel b/tools/cluster-pk-manager/client/BUILD.bazel index cb8cd6e6db..3915882615 100644 --- a/tools/cluster-pk-manager/client/BUILD.bazel +++ b/tools/cluster-pk-manager/client/BUILD.bazel @@ -1,6 +1,6 @@ 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_push") +load("@io_bazel_rules_docker//container:container.bzl", "container_bundle") go_library( name = "go_default_library", @@ -44,13 +44,11 @@ go_image( ], ) -container_push( - name = "push_image", - format = "Docker", - image = ":image", - registry = "gcr.io", - repository = "prysmaticlabs/prysm/cluster-pk-manager/client", - tag = "{DOCKER_TAG}", +container_bundle( + name = "push_images", + images = { + "gcr.io/prysmaticlabs/prysm/cluster-pk-manager/client:latest": ":image", + "gcr.io/prysmaticlabs/prysm/cluster-pk-manager/client:{DOCKER_TAG}": ":image", + }, tags = ["manual"], - visibility = ["//visibility:private"], ) diff --git a/tools/cluster-pk-manager/server/BUILD.bazel b/tools/cluster-pk-manager/server/BUILD.bazel index e5f5248254..3b3fa4c1dc 100644 --- a/tools/cluster-pk-manager/server/BUILD.bazel +++ b/tools/cluster-pk-manager/server/BUILD.bazel @@ -1,6 +1,6 @@ load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library", "go_test") load("@io_bazel_rules_docker//go:image.bzl", "go_image") -load("@io_bazel_rules_docker//container:container.bzl", "container_push") +load("@io_bazel_rules_docker//container:container.bzl", "container_bundle") go_library( name = "go_default_library", @@ -105,13 +105,11 @@ go_image( ], ) -container_push( - name = "push_image", - format = "Docker", - image = ":image", - registry = "gcr.io", - repository = "prysmaticlabs/prysm/cluster-pk-manager/server", - tag = "{DOCKER_TAG}", +container_bundle( + name = "push_images", + images = { + "gcr.io/prysmaticlabs/prysm/cluster-pk-manager/server:latest": ":image", + "gcr.io/prysmaticlabs/prysm/cluster-pk-manager/server:{DOCKER_TAG}": ":image", + }, tags = ["manual"], - visibility = ["//visibility:private"], ) diff --git a/tools/contract-addr/BUILD.bazel b/tools/contract-addr/BUILD.bazel index 6a04a02f59..cad4823cd3 100644 --- a/tools/contract-addr/BUILD.bazel +++ b/tools/contract-addr/BUILD.bazel @@ -1,6 +1,6 @@ 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_push") +load("@io_bazel_rules_docker//container:container.bzl", "container_bundle") go_library( name = "go_default_library", @@ -30,13 +30,11 @@ go_image( deps = ["@org_uber_go_automaxprocs//:go_default_library"], ) -container_push( - name = "push_image", - format = "Docker", - image = ":image", - registry = "gcr.io", - repository = "prysmaticlabs/prysm/contract-addr", - tag = "{DOCKER_TAG}", +container_bundle( + name = "push_images", + images = { + "gcr.io/prysmaticlabs/prysm/contract-addr:latest": ":image", + "gcr.io/prysmaticlabs/prysm/contract-addr:{DOCKER_TAG}": ":image", + }, tags = ["manual"], - visibility = ["//visibility:private"], ) diff --git a/tools/eth1exporter/BUILD.bazel b/tools/eth1exporter/BUILD.bazel index c64123690a..1328d43186 100644 --- a/tools/eth1exporter/BUILD.bazel +++ b/tools/eth1exporter/BUILD.bazel @@ -1,6 +1,6 @@ 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_push") +load("@io_bazel_rules_docker//container:container.bzl", "container_bundle") go_library( name = "go_default_library", @@ -39,13 +39,11 @@ go_image( ], ) -container_push( - name = "push_image", - format = "Docker", - image = ":image", - registry = "gcr.io", - repository = "prysmaticlabs/eth1monitor", - tag = "{DOCKER_TAG}", +container_bundle( + name = "push_images", + images = { + "gcr.io/prysmaticlabs/prysm/eth1monitor:latest": ":image", + "gcr.io/prysmaticlabs/prysm/eth1monitor:{DOCKER_TAG}": ":image", + }, tags = ["manual"], - visibility = ["//visibility:private"], ) diff --git a/tools/faucet/BUILD.bazel b/tools/faucet/BUILD.bazel index ea5fa8f59e..f5e6e87cfb 100644 --- a/tools/faucet/BUILD.bazel +++ b/tools/faucet/BUILD.bazel @@ -2,7 +2,7 @@ load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library") load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library") load("@io_bazel_rules_docker//go:image.bzl", "go_image") -load("@io_bazel_rules_docker//container:container.bzl", "container_push") +load("@io_bazel_rules_docker//container:container.bzl", "container_bundle") IMPORT_PATH = "github.com/prysmaticlabs/prysm/tools/faucet" @@ -53,13 +53,11 @@ go_image( deps = DEPS, ) -container_push( - name = "push_image", - format = "Docker", - image = ":image", - registry = "gcr.io", - repository = "prysmaticlabs/prysm/faucet", - tag = "{DOCKER_TAG}", +container_bundle( + name = "push_images", + images = { + "gcr.io/prysmaticlabs/prysm/faucet:latest": ":image", + "gcr.io/prysmaticlabs/prysm/faucet:{DOCKER_TAG}": ":image", + }, tags = ["manual"], - visibility = ["//visibility:private"], ) diff --git a/tools/relaynode/BUILD.bazel b/tools/relaynode/BUILD.bazel index 0b54749feb..2395100775 100644 --- a/tools/relaynode/BUILD.bazel +++ b/tools/relaynode/BUILD.bazel @@ -1,6 +1,6 @@ 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_push") +load("@io_bazel_rules_docker//container:container.bzl", "container_bundle") go_library( name = "go_default_library", @@ -40,19 +40,17 @@ go_image( ], ) -container_push( - name = "push_image", - format = "Docker", - image = ":image", - registry = "gcr.io", - repository = "prysmaticlabs/prysm/relaynode", - tag = "{DOCKER_TAG}", - tags = ["manual"], - visibility = ["//visibility:private"], -) - go_binary( name = "relaynode", embed = [":go_default_library"], visibility = ["//visibility:public"], ) + +container_bundle( + name = "push_images", + images = { + "gcr.io/prysmaticlabs/prysm/relaynode:latest": ":image", + "gcr.io/prysmaticlabs/prysm/relaynode:{DOCKER_TAG}": ":image", + }, + tags = ["manual"], +) diff --git a/tools/ssz-server/BUILD.bazel b/tools/ssz-server/BUILD.bazel index 0fb6cecfe1..f554b067c6 100644 --- a/tools/ssz-server/BUILD.bazel +++ b/tools/ssz-server/BUILD.bazel @@ -1,6 +1,6 @@ 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_push") +load("@io_bazel_rules_docker//container:container.bzl", "container_bundle") go_library( name = "go_default_library", @@ -38,13 +38,11 @@ go_image( ], ) -container_push( - name = "push_image", - format = "Docker", - image = ":image", - registry = "gcr.io", - repository = "prysmaticlabs/prysm/ssz-server", - tag = "{DOCKER_TAG}", +container_bundle( + name = "push_images", + images = { + "gcr.io/prysmaticlabs/prysm/ssz-server:latest": ":image", + "gcr.io/prysmaticlabs/prysm/ssz-server:{DOCKER_TAG}": ":image", + }, tags = ["manual"], - visibility = ["//visibility:private"], ) diff --git a/validator/BUILD.bazel b/validator/BUILD.bazel index 045065ddb1..465ecdc9a0 100644 --- a/validator/BUILD.bazel +++ b/validator/BUILD.bazel @@ -1,6 +1,6 @@ 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_push") +load("@io_bazel_rules_docker//container:container.bzl", "container_bundle") load("//tools:binary_targets.bzl", "binary_targets") go_library( @@ -61,13 +61,12 @@ go_image( ], ) -container_push( - name = "push_image", - format = "Docker", - image = ":image", - registry = "gcr.io", - repository = "prysmaticlabs/prysm/validator", - tag = "{DOCKER_TAG}", +container_bundle( + name = "push_images", + images = { + "gcr.io/prysmaticlabs/prysm/validator:latest": ":image", + "gcr.io/prysmaticlabs/prysm/validator:{DOCKER_TAG}": ":image", + }, tags = ["manual"], )