0
0
Fork 0
mirror of https://github.com/denoland/rusty_v8.git synced 2024-11-25 15:29:43 -05:00
denoland-rusty-v8/tools/setup_rbe.py
snek f4a706fc49
chore: update all v8 deps (#1554)
chore: track upstream buildtools
2024-08-07 12:17:50 +02:00

46 lines
1.1 KiB
Python

"""
This script sets up re_client sort of like https://chromium.googlesource.com/chromium/src/+/main/docs/linux/build_instructions.md#use-reclient
You will need to set these gn args:
```
use_remoteexec=true
reclient_cfg_dir="../../buildtools/reclient_cfgs/linux"
cc_wrapper=""
```
and set these env vars:
```
NINJA=autoninja
```
"""
Str = str
def Var(name):
if name == 'rbe_instance':
return 'projects/rbe-chromium-untrusted/instances/default_instance'
return vars[name]
with open('./v8/DEPS') as f:
exec(f.read())
import subprocess
import os
def run(name):
hook = next(h for h in hooks if h['name'] == name)
print(subprocess.run(hook['action']))
run('configure_reclient_cfgs')
run('configure_siso')
rbe_version = Var('reclient_version')
ensure_file = f'''
$ParanoidMode CheckPresence
@Subdir buildtools/reclient
infra/rbe/client/linux-amd64 {rbe_version}
'''
print(ensure_file)
with open("./cipd.ensure", "w") as f:
f.write(ensure_file)
print(subprocess.run(['cipd', 'ensure', '-root', '.', '-ensure-file', 'cipd.ensure']))
os.remove('./cipd.ensure')