Repository navigation
Revert: Goma is dead, long live RBE! - #196001
Conversation
This reverts commit b9944cf.
|
It looks like this pull request may not have tests. Please make sure to add tests or get an explicit test exemption before merging. If you are not sure if you need tests, consider this rule of thumb: the purpose of a test is to make sure someone doesn't accidentally revert the fix. Ask yourself, is there anything in your PR that you feel it is important we not accidentally revert back to how it was before your fix? Reviewers: Read the Tree Hygiene page and make sure this patch meets those guidelines before LGTMing. If both you and the PR author believe this PR qualifies for a test exemption, escalate to the tech lead for the changed area to review and apply the |
There was a problem hiding this comment.
Code Review
This pull request adds --goma and --no-goma command-line flags to the GN build tool and updates various CI builder configuration files to include the --no-goma argument. Feedback on these changes includes addressing a bug in the GN argument parser where the default value for the goma destination unintentionally resolves to True instead of None because --no-goma lacks an explicit default. Additionally, minor formatting cleanup is recommended to remove unnecessary blank lines in mac_host_engine.json.
| parser.add_argument('--goma', default=None, action='store_true') | ||
| parser.add_argument('--no-goma', dest='goma', action='store_false') |
There was a problem hiding this comment.
In argparse, when multiple arguments share the same destination (dest='goma'), the default value of the last defined argument will overwrite any previously specified default. Since --no-goma is defined second with action='store_false' and no explicit default, its default value of True will overwrite the default=None specified on --goma. This means args.goma will default to True when neither flag is passed, which may unintentionally enable Goma by default and break builds for environments without Goma.
To preserve the intended None default (allowing for auto-detection or conditional logic), we should explicitly set default=None on the --no-goma argument as well.
| parser.add_argument('--goma', default=None, action='store_true') | |
| parser.add_argument('--no-goma', dest='goma', action='store_false') | |
| parser.add_argument('--goma', default=None, action='store_true') | |
| parser.add_argument('--no-goma', dest='goma', default=None, action='store_false') |
| "--xcode-symlinks" | ||
|
|
||
| ], |
| "--xcode-symlinks" | ||
|
|
||
| ], |
|
Detected the If you add the The "Merge" button is also unlocked. To bypass presubmits as well as the tree status, press the GitHub "Add to Merge Queue". |
|
re-running |
Reverts: Goma is dead, long live RBE!
Initiated by: @jtmcdole
Reason for reverting: https://logs.chromium.org/logs/flutter/buildbucket/cr-buildbucket/8666031972009164465/+/u/gn_--ios_--simulator_--simulator-cpu_arm64_--runtime-mode_debug_--unoptimized_--no-stripped_--no-lto_--xcode-symlinks_--rbe_--no-goma_--rbe-server-address_unix:___Volumes_Work_s_w_ir_x_w_rc_rbe62p4t_vg_reproxy.sock/stdout
Original PR Author: @rmacnak-google
Reviewed By: @ievdokdm
The original PR description is provided below: