mirror of
https://gitlab.com/pulsechaincom/prysm-pulse.git
synced 2024-12-22 03:30:35 +00:00
02ee6897bb
* Add bazel-zig-cc for a hermetic cc toolchain * gazelle * Remove llvm * remove wl * Add new URLs for renamed repo * gazelle * Update to v2.0.0-rc1 * bump to rc2 * Proof of concept multi-arch containers for beacon-chain * TODO and gaz * Refactor to starlark macro. Use a version of bash that actually works * progress * gaz * multirun to use multiple repositories, but doesn't work with tag stamping * Revert "multirun to use multiple repositories, but doesn't work with tag stamping" This reverts commit 93afa76f65daeba9426c3d714dabf94410fa3a0c. * Add targets for all supported docker images and temporarily set the repository to prysm-dev for testing * use a temporary fix to see if it works on buildkite * Revert "use a temporary fix to see if it works on buildkite" This reverts commit ddc79283caa6b39c8aff4c62772728832d0dfe64. * testing a cURL fix * try fix with my fix * Revert "try fix with my fix" This reverts commit bb7521bf4712abb6779bbf3132e64911b751db65. * Revert "testing a cURL fix" This reverts commit 8a4782110f8853cb7278baf507621bd6684572b1. * try tip of main branch for rules_oci * update to 1.2.0 * Update rules_oci to v1.3.0 * Update rule_oci to 1.3.4 * Disable experimental_remote_downloader * Remove extra zig bazelrc * Move image deps to its own file * PR feedback --------- Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
31 lines
970 B
Python
31 lines
970 B
Python
"a rule transitioning an oci_image to multiple platforms"
|
|
|
|
def _multiarch_transition(settings, attr):
|
|
return [
|
|
{"//command_line_option:platforms": str(platform)}
|
|
for platform in attr.platforms
|
|
]
|
|
|
|
multiarch_transition = transition(
|
|
implementation = _multiarch_transition,
|
|
inputs = [],
|
|
outputs = ["//command_line_option:platforms"],
|
|
)
|
|
|
|
# multiarch_transition impl returns a DefaultInfo provider with the image deps as declared outputs to
|
|
# build.
|
|
def _impl(ctx):
|
|
return DefaultInfo(files = depset(ctx.files.image))
|
|
|
|
# The multi_arch rule builds the image for multiple platforms defined in the platforms attribute.
|
|
multi_arch = rule(
|
|
implementation = _impl,
|
|
attrs = {
|
|
"image": attr.label(cfg = multiarch_transition),
|
|
"platforms": attr.label_list(),
|
|
"_allowlist_function_transition": attr.label(
|
|
default = "@bazel_tools//tools/allowlists/function_transition_allowlist",
|
|
),
|
|
},
|
|
)
|