Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Set up Chrobalt build acceleration with RBE. #4604

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

briantting
Copy link
Contributor

@briantting briantting commented Dec 18, 2024

b/384982606

@briantting briantting changed the title Setup default RBE usage, facilitating CI RBE usage. Set up Chrobalt build acceleration with RBE. Dec 18, 2024
@briantting briantting force-pushed the main branch 2 times, most recently from a320f77 to dd5de54 Compare December 20, 2024 22:41
@briantting briantting force-pushed the main branch 4 times, most recently from 7985666 to 8ae2da3 Compare January 9, 2025 13:44
@briantting briantting marked this pull request as ready for review January 9, 2025 21:06
@briantting briantting requested review from a team as code owners January 9, 2025 21:06
@briantting briantting requested a review from dahlstrom-g January 9, 2025 21:06
Set up Chrobalt build acceleration with RBE making it the default
accelerator for both developers and the CI system.

b/384982606
@@ -261,7 +261,7 @@ vars = {
# Fetch configuration files required for the 'use_remoteexec' gn arg
'download_remoteexec_cfg': False,
# RBE instance to use for running remote builds
'rbe_instance': Str('projects/rbe-chrome-untrusted/instances/default_instance'),
'rbe_instance': Str('projects/cobalt-actions-prod/instances/default_instance'),
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can't this be specified in the .gclient file instead of us needing to change the DEPS file? Though I don't know if there's a good way to easily do this for all devs

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It should be able to be specified in .gclient much like how download_remoteexec_cfg is when we do gclient config --name=src https://github.com/${{ github.repository }} --custom-var=download_remoteexec_cfg=True, but I wasn't sure we wanted to ever "risk" using rbe-chrome-untrusted.

Also secondly, it's a dumb question but how do you pass "/" chars in key=value command line arg. `--custom-var=rbe_instance=projects/cobalt-actions-prod/instances/default_instance' throws errors. I've tried using quotes and escape chars

buildtools/reclient_cfgs/rewrapper_linux_cc.cfg Outdated Show resolved Hide resolved
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe there's a way we can set these variables for builds, but it would rely on gn.py—if someone runs gn gen locally without arguments do we care if they end up using the chromium reclient server vs ours?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I rather not risk it.

  1. they won't be able to because the default files will not exist since we aren't running CIPD to download them / we won't require people to have chromium CIPD access

  2. if they did manage it would be slower since the Chromium's instances cache wont be updated with our compile tasks constantly like our instance's cache would be.

Remove fetching of RBE cfg files with CIPD. Instead rely on local cfg
files which use public docker images rather than private ones. Taken
from Chromium's trunk.

b/384982606
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants