Skip to content

Commit

Permalink
prow: Build minimal arm64 payload
Browse files Browse the repository at this point in the history
The arm64 payload only contains the following four images which are
the minimal requirements for scheduling Prow builds on an arm64 build
farm:
- clonerefs
- entrypoint
- initupload
- sidecar

The arm64 images will be tagged with an additional `-arm64` suffix.
  • Loading branch information
LorbusChris committed Jul 6, 2021
1 parent c150127 commit d688f81
Show file tree
Hide file tree
Showing 6 changed files with 74 additions and 49 deletions.
109 changes: 60 additions & 49 deletions prow/BUILD.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -2,60 +2,70 @@ package(default_visibility = ["//visibility:public"])

load("@io_bazel_rules_docker//container:bundle.bzl", "container_bundle")
load("@io_bazel_rules_docker//contrib:push-all.bzl", "docker_push")
load("//prow:def.bzl", "prefix", "prow_push", "tags")
load("//prow:def.bzl", "prefix", "prow_push", "tags", "tags_arm64", "dict_union")
load("//def:image.bzl", image_tags = "tags")

prow_push(
name = "release-push",
bundle_name = "release",
images = tags(
cmds = [
"admission",
"autobump",
"branchprotector",
"checkconfig",
"clonerefs",
"config-bootstrapper",
"deck",
"entrypoint",
"exporter",
"gerrit",
"crier",
"generic-autobumper",
"grandmatriarch",
"gcsupload",
"hook",
"hmac",
"horologium",
"initupload",
"invitations-accepter",
"jenkins-operator",
"mkpj",
"mkpod",
"peribolos",
"sidecar",
"sinker",
"status-reconciler",
"sub",
"tide",
"tot",
"pipeline",
"prow-controller-manager",
],
targets = {
"needs-rebase": "//prow/external-plugins/needs-rebase:image",
"cherrypicker": "//prow/external-plugins/cherrypicker:image",
"refresh": "//prow/external-plugins/refresh:image",
"ghproxy": "//ghproxy:image",
"label_sync": "//label_sync:image",
"commenter": "//robots/commenter:image",
"pr-creator": "//robots/pr-creator:image",
"issue-creator": "//robots/issue-creator:image",
"configurator": "//testgrid/cmd/configurator:image",
"transfigure": "//testgrid/cmd/transfigure:image",
"gcsweb": "//gcsweb/cmd/gcsweb:image",
"bumpmonitoring": "//experiment/bumpmonitoring:image",
},
images = dict_union(
tags(
cmds = [
"admission",
"autobump",
"branchprotector",
"checkconfig",
"clonerefs",
"config-bootstrapper",
"deck",
"entrypoint",
"exporter",
"gerrit",
"crier",
"generic-autobumper",
"grandmatriarch",
"gcsupload",
"hook",
"hmac",
"horologium",
"initupload",
"invitations-accepter",
"jenkins-operator",
"mkpj",
"mkpod",
"peribolos",
"sidecar",
"sinker",
"status-reconciler",
"sub",
"tide",
"tot",
"pipeline",
"prow-controller-manager",
],
targets = {
"needs-rebase": "//prow/external-plugins/needs-rebase:image",
"cherrypicker": "//prow/external-plugins/cherrypicker:image",
"refresh": "//prow/external-plugins/refresh:image",
"ghproxy": "//ghproxy:image",
"label_sync": "//label_sync:image",
"commenter": "//robots/commenter:image",
"pr-creator": "//robots/pr-creator:image",
"issue-creator": "//robots/issue-creator:image",
"configurator": "//testgrid/cmd/configurator:image",
"transfigure": "//testgrid/cmd/transfigure:image",
"gcsweb": "//gcsweb/cmd/gcsweb:image",
"bumpmonitoring": "//experiment/bumpmonitoring:image",
},
),
tags_arm64(
cmds = [
"clonerefs",
"entrypoint",
"initupload",
"sidecar",
],
),
),
)

Expand Down Expand Up @@ -190,3 +200,4 @@ filegroup(
],
tags = ["automanaged"],
)

2 changes: 2 additions & 0 deletions prow/cmd/clonerefs/BUILD.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,8 @@ go_binary(
prow_image(
name = "image",
base = "@git-base//image",
base_arm64 = "@git-base-arm64//image",
build_arm64 = True,
component = NAME,
files = [
"github_known_hosts",
Expand Down
2 changes: 2 additions & 0 deletions prow/cmd/entrypoint/BUILD.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,8 @@ go_binary(
prow_image(
name = "image",
base = "@git-base//image",
base_arm64 = "@git-base-arm64//image",
build_arm64 = True,
component = NAME,
symlinks = {"/entrypoint": "/app/prow/cmd/entrypoint/app.binary"},
visibility = ["//visibility:public"],
Expand Down
2 changes: 2 additions & 0 deletions prow/cmd/initupload/BUILD.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,8 @@ go_binary(
prow_image(
name = "image",
base = "@alpine-base//image",
base_arm64 = "@git-base-arm64//image",
build_arm64 = True,
component = NAME,
symlinks = {"/initupload": "/app/prow/cmd/initupload/app.binary"},
visibility = ["//visibility:public"],
Expand Down
2 changes: 2 additions & 0 deletions prow/cmd/sidecar/BUILD.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,8 @@ go_binary(
prow_image(
name = "image",
base = "@git-base//image",
base_arm64 = "@git-base-arm64//image",
build_arm64 = True,
component = NAME,
symlinks = {"/sidecar": "/app/prow/cmd/sidecar/app.binary"},
visibility = ["//visibility:public"],
Expand Down
6 changes: 6 additions & 0 deletions prow/def.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -238,3 +238,9 @@ def release(name, *components):
name = name,
objects = objs,
)

def dict_union(x, y):
z = {}
z.update(x)
z.update(y)
return z

0 comments on commit d688f81

Please sign in to comment.