1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
load("@prelude//platforms:defs.bzl", "host_configuration")
load(":defs.bzl", "execution_platform")
# Where every action runs: locally, against the BuildBuddy cache. Registered by
# `[build] execution_platforms` in .buckconfig — and, because a toolchain is
# itself a target in the prelude cell, by `[parser] target_platform_detector_spec`
# there too. Setting only the first leaves every rustc action on the prelude's
# uncached default.
execution_platform(
name = "cache",
cpu_configuration = host_configuration.cpu,
os_configuration = host_configuration.os,
use_windows_path_separators = host_info().os.is_windows,
visibility = ["PUBLIC"],
)
# The same platform, allowed to dispatch. The properties name the worker to run
# on; BuildBuddy matches an action against its executor pool by these.
execution_platform(
name = "remote",
cpu_configuration = host_configuration.cpu,
os_configuration = host_configuration.os,
remote_enabled = True,
remote_execution_properties = {
"OSFamily": "Linux",
"container-image": "docker://gcr.io/flame-public/rbe-ubuntu22-04:latest",
},
use_windows_path_separators = host_info().os.is_windows,
visibility = ["PUBLIC"],
)
# A *target* platform, unlike the two above: this is what a graph is built
# for, not where the building runs. Naming it on a configured_alias moves the
# target configuration and leaves the execution platform alone, so build
# scripts and proc macros still compile and run on the host.
platform(
name = "android-arm64",
constraint_values = [
"prelude//os/constraints:os[android]",
"prelude//cpu/constraints:cpu[arm64]",
],
visibility = ["PUBLIC"],
)
|