We should get rid of (most of) MB in Chromium |
|||||||
Issue descriptionMB was originally designed to be a transitional tool for the GYP->GN migration. Now that Chromium is fully on GN, we should figure out if we can get rid of it and remove some layers and logic. However, MB has grown to be useful in its own right and so we should figure out what we need to replace it with. It currently does the following things, all of which are useful: 1) manage which GN args should be used on which builder 2) manages a Ninja compile target <-> GN label mapping needed for analyze 3) manages the command lines needed for isolates on desktop platforms in conjunction with the //testing/buildbot/*.json files. 4) creating the *.isolated.gen.json files for the requested list of swarming targets (by passing the list of labels to `gn gen` to generate .runtime_deps files) 5) providing a slightly more friendly command line interface to //tools/swarming_client for generating and running isolates locally. It's not yet clear what the best way to replace these things is. Some thoughts: 1) could be replaced with args files per builder or merged into JSON files like we do on iOS. 2) The recipes, JSON files, and script wrappers could be switched to specifying the ninja targets that more directly map to the labels (e.g., ui/base:ui_base_unittests instead of ui_base_unitttests). 3) The command lines can be pushed into GN itself (e.g., as an `args` variable in the test() template) and then written to a wrapper script (like out/Default/bin/run_ui_base_unittests), as we currently do on Android. 4) We could potentially just generate the .runtime_deps files all the time for any test() binary. 5) We could make the generated wrappers handle the isolating and swarming as well.
,
Nov 14 2016
,
Nov 15 2016
,
Nov 15 2016
Some random thoughts are; * We should make the bots and developer workflow as similar as possible. When a developer is looking at what the bot is running it should be familiar. It should be similar to what they might be running on their own machine. * Things like the correct args to give a command line and the ninja mapping sound useful for not only bots but developers too. This feels like something that gn should be looking after... * "We" own isolate / swarming. If they are too hard to use for some reason (or don't provide sensible defaults), we should improve them.
,
Nov 15 2017
This issue has been Available for over a year. If it's no longer important or seems unlikely to be fixed, please consider closing it out. If it is important, please re-triage the issue. Sorry for the inconvenience if the bug really should have been left as Available. If you change it back, also remove the "Hotlist-Recharge-Cold" label. For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
,
Nov 15 2017
<trimming cc list> One important thing that changed since then: It is now easy to specify the command at Swarming task trigger time, further reducing the isolate file to not need to list the command to run anymore, reducing it to a flat list of input files.
,
Nov 16 2017
This is still active/available. I hope to address most of it within the next quarter.
,
Oct 19
|
|||||||
►
Sign in to add a comment |
|||||||
Comment 1 by dpranke@chromium.org
, Nov 14 2016