mirror of
https://github.com/OffchainLabs/prysm.git
synced 2026-01-08 23:18:15 -05:00
Bazel: minimal test build transitions (#9122)
* Add build transitions for minimal config based tests * respect existing gotags * clean up import * Add some commentary * gaz Co-authored-by: terence tsao <terence@prysmaticlabs.com> Co-authored-by: rauljordan <raul@prysmaticlabs.com>
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
load("@prysm//tools/go:def.bzl", "go_library")
|
||||
load("@io_bazel_rules_go//go:def.bzl", "go_test", "go_tool_library")
|
||||
load("@prysm//tools/go:def.bzl", "go_library", "go_test")
|
||||
load("@io_bazel_rules_go//go:def.bzl", "go_tool_library")
|
||||
|
||||
go_library(
|
||||
name = "go_default_library",
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
load("@prysm//tools/go:def.bzl", "go_library")
|
||||
load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_test")
|
||||
load("@prysm//tools/go:def.bzl", "go_library", "go_test")
|
||||
load("@io_bazel_rules_go//go:def.bzl", "go_binary")
|
||||
load("@io_bazel_rules_docker//go:image.bzl", "go_image")
|
||||
load("@io_bazel_rules_docker//container:container.bzl", "container_bundle")
|
||||
load("@io_bazel_rules_docker//contrib:push-all.bzl", "docker_push")
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
load("@prysm//tools/go:def.bzl", "go_library")
|
||||
load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_test")
|
||||
load("@prysm//tools/go:def.bzl", "go_library", "go_test")
|
||||
load("@io_bazel_rules_go//go:def.bzl", "go_binary")
|
||||
load("@io_bazel_rules_docker//go:image.bzl", "go_image")
|
||||
load("@io_bazel_rules_docker//container:container.bzl", "container_bundle")
|
||||
load("@io_bazel_rules_docker//contrib:push-all.bzl", "docker_push")
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
load("@prysm//tools/go:def.bzl", "go_library")
|
||||
load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_test")
|
||||
load("@prysm//tools/go:def.bzl", "go_library", "go_test")
|
||||
load("@io_bazel_rules_go//go:def.bzl", "go_binary")
|
||||
load("@io_bazel_rules_docker//go:image.bzl", "go_image")
|
||||
load("@io_bazel_rules_docker//container:container.bzl", "container_bundle")
|
||||
load("@io_bazel_rules_docker//contrib:push-all.bzl", "docker_push")
|
||||
|
||||
@@ -1,6 +1,51 @@
|
||||
load("@io_bazel_rules_go//go:def.bzl", _go_library = "go_library")
|
||||
load("@io_bazel_rules_go//go/private/rules:library.bzl", _go_library = "go_library")
|
||||
load("@io_bazel_rules_go//go/private/rules:test.bzl", "go_test_kwargs")
|
||||
load("@bazel_gazelle//:deps.bzl", _go_repository = "go_repository")
|
||||
|
||||
def _go_test_transition_impl(settings, attr):
|
||||
"""Edge transition to add minimal or mainnet build tags"""
|
||||
settings = dict(settings)
|
||||
|
||||
if attr.eth_network == "minimal":
|
||||
settings["//proto:network"] = "minimal"
|
||||
settings["@io_bazel_rules_go//go/config:tags"] += ["minimal"]
|
||||
elif attr.eth_network == "mainnet": # Default / optional
|
||||
settings["//proto:network"] = "mainnet"
|
||||
settings["@io_bazel_rules_go//go/config:tags"] += ["mainnet"]
|
||||
|
||||
if attr.gotags:
|
||||
settings["@io_bazel_rules_go//go/config:tags"] += attr.gotags
|
||||
|
||||
return settings
|
||||
|
||||
go_test_transition = transition(
|
||||
implementation = _go_test_transition_impl,
|
||||
inputs = [
|
||||
"@io_bazel_rules_go//go/config:tags",
|
||||
"//proto:network",
|
||||
],
|
||||
outputs = [
|
||||
"@io_bazel_rules_go//go/config:tags",
|
||||
"//proto:network",
|
||||
],
|
||||
)
|
||||
|
||||
def _go_test_transition_rule(**kwargs):
|
||||
"""A wrapper around go_test to add an eth_network attribute and incoming edge transition to support compile time configuration"""
|
||||
kwargs = dict(kwargs)
|
||||
attrs = dict(kwargs["attrs"])
|
||||
attrs.update({
|
||||
"eth_network": attr.string(values = ["mainnet", "minimal"]),
|
||||
"_whitelist_function_transition": attr.label(
|
||||
default = "@bazel_tools//tools/whitelists/function_transition_whitelist",
|
||||
),
|
||||
})
|
||||
kwargs["attrs"] = attrs
|
||||
kwargs["cfg"] = go_test_transition
|
||||
return rule(**kwargs)
|
||||
|
||||
go_test = _go_test_transition_rule(**go_test_kwargs)
|
||||
|
||||
def go_library(name, **kwargs):
|
||||
gc_goopts = []
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
load("@prysm//tools/go:def.bzl", "go_library")
|
||||
load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_test")
|
||||
load("@prysm//tools/go:def.bzl", "go_library", "go_test")
|
||||
load("@io_bazel_rules_go//go:def.bzl", "go_binary")
|
||||
load("@io_bazel_rules_docker//go:image.bzl", "go_image")
|
||||
load("@io_bazel_rules_docker//container:container.bzl", "container_bundle")
|
||||
load("@io_bazel_rules_docker//contrib:push-all.bzl", "docker_push")
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_test")
|
||||
load("@prysm//tools/go:def.bzl", "go_library")
|
||||
load("@io_bazel_rules_go//go:def.bzl", "go_binary")
|
||||
load("@prysm//tools/go:def.bzl", "go_library", "go_test")
|
||||
|
||||
go_library(
|
||||
name = "go_default_library",
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_test")
|
||||
load("@prysm//tools/go:def.bzl", "go_library")
|
||||
load("@io_bazel_rules_go//go:def.bzl", "go_binary")
|
||||
load("@prysm//tools/go:def.bzl", "go_library", "go_test")
|
||||
|
||||
go_library(
|
||||
name = "go_default_library",
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
load("@prysm//tools/go:def.bzl", "go_library")
|
||||
load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_test")
|
||||
load("@prysm//tools/go:def.bzl", "go_library", "go_test")
|
||||
load("@io_bazel_rules_go//go:def.bzl", "go_binary")
|
||||
|
||||
go_library(
|
||||
name = "go_default_library",
|
||||
|
||||
Reference in New Issue
Block a user