chore: add some cpu resource_set values as well
This commit is contained in:
parent
6ca3a959ff
commit
069328799d
|
@ -4,8 +4,11 @@ Utilities for rules that expose resource_set on ctx.actions.run[_shell]
|
|||
|
||||
Workaround for https://github.com/bazelbuild/bazel/issues/15187
|
||||
|
||||
By default, Bazel allocates 1 cpu and 250M of RAM:
|
||||
https://github.com/bazelbuild/bazel/blob/058f943037e21710837eda9ca2f85b5f8538c8c5/src/main/java/com/google/devtools/build/lib/actions/AbstractAction.java#L77
|
||||
Note, this workaround only provides some fixed values for either CPU or Memory.
|
||||
|
||||
Rule authors who are ALSO the BUILD author might know better, and can
|
||||
write custom resource_set functions for use within their own repository.
|
||||
This seems to be the use case that Google engineers imagined.
|
||||
|
||||
|
||||
<a id="resource_set"></a>
|
||||
|
|
|
@ -2,11 +2,16 @@
|
|||
|
||||
Workaround for https://github.com/bazelbuild/bazel/issues/15187
|
||||
|
||||
By default, Bazel allocates 1 cpu and 250M of RAM:
|
||||
https://github.com/bazelbuild/bazel/blob/058f943037e21710837eda9ca2f85b5f8538c8c5/src/main/java/com/google/devtools/build/lib/actions/AbstractAction.java#L77
|
||||
Note, this workaround only provides some fixed values for either CPU or Memory.
|
||||
|
||||
Rule authors who are ALSO the BUILD author might know better, and can
|
||||
write custom resource_set functions for use within their own repository.
|
||||
This seems to be the use case that Google engineers imagined.
|
||||
"""
|
||||
|
||||
resource_set_values = [
|
||||
"cpu_2",
|
||||
"cpu_4",
|
||||
"default",
|
||||
"mem_512m",
|
||||
"mem_1g",
|
||||
|
@ -17,6 +22,12 @@ resource_set_values = [
|
|||
"mem_32g",
|
||||
]
|
||||
|
||||
def _resource_set_cpu_2(_, __):
|
||||
return {"cpu": 2}
|
||||
|
||||
def _resource_set_cpu_4(_, __):
|
||||
return {"cpu": 4}
|
||||
|
||||
def _resource_set_mem_512m(_, __):
|
||||
return {"memory": 512}
|
||||
|
||||
|
@ -40,6 +51,10 @@ def _resource_set_mem_32g(_, __):
|
|||
|
||||
# buildifier: disable=function-docstring
|
||||
def resource_set(attr):
|
||||
if attr.resource_set == "cpu_2":
|
||||
return _resource_set_cpu_2
|
||||
if attr.resource_set == "cpu_4":
|
||||
return _resource_set_cpu_4
|
||||
if attr.resource_set == "default":
|
||||
return None
|
||||
if attr.resource_set == "mem_512m":
|
||||
|
@ -65,6 +80,7 @@ resource_set_attr = {
|
|||
Used with --experimental_action_resource_set to reserve more RAM/CPU, preventing Bazel overscheduling resource-intensive actions.
|
||||
|
||||
By default, Bazel allocates 1 CPU and 250M of RAM.
|
||||
https://github.com/bazelbuild/bazel/blob/058f943037e21710837eda9ca2f85b5f8538c8c5/src/main/java/com/google/devtools/build/lib/actions/AbstractAction.java#L77
|
||||
""",
|
||||
default = "default",
|
||||
values = resource_set_values,
|
||||
|
|
Loading…
Reference in New Issue