New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 602528 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Apr 2016
Cc:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 1
Type: Bug



Sign in to add a comment

MB should support GN's //build/args files

Project Member Reported by dpranke@chromium.org, Apr 12 2016

Issue description

MB should support GN's //build/args files.

As we move more and more builders to GN-only we want them to be
using checked-in args.gn template files, but currently MB doesn't
really support this. We should make this work.

This is needed most obviously for Blimp and the headless Chrome
projects, both of which are GN-only now, but we can probably also
switch Cast builders to this.
 
Proposed implementation of this posted to https://codereview.chromium.org/1881823002/.

Please let me know what you think.
Project Member

Comment 2 by bugdroid1@chromium.org, Apr 13 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d0c138bb06b285b4ad0015f2fff407f5840e481e

commit d0c138bb06b285b4ad0015f2fff407f5840e481e
Author: dpranke <dpranke@chromium.org>
Date: Wed Apr 13 18:28:47 2016

Change how MB handles goma_dir.

Since both GN and GYP actually have two settings for
whether to use GOMA and where to find it, it turns
out that you can and should set goma_dir independently
of what is actually specified in the MB configs (or iOS
configs): if MB specifies --goma-dir, then explicitly
set goma_dir, else don't set it at all.

This simplifies the code a bit and will solve a problem
in GN down the road as we switch to using args files.

R=brettw@chromium.org
BUG= 602528 

Review URL: https://codereview.chromium.org/1877173002

Cr-Commit-Position: refs/heads/master@{#387038}

[modify] https://crrev.com/d0c138bb06b285b4ad0015f2fff407f5840e481e/ios/build/bots/chromium.mac/iOS_Device_(ninja).json
[modify] https://crrev.com/d0c138bb06b285b4ad0015f2fff407f5840e481e/ios/build/bots/chromium.mac/iOS_Device_GN.json
[modify] https://crrev.com/d0c138bb06b285b4ad0015f2fff407f5840e481e/ios/build/bots/chromium.mac/iOS_Simulator_GN_(dbg).json
[modify] https://crrev.com/d0c138bb06b285b4ad0015f2fff407f5840e481e/ios/build/bots/tryserver.chromium.mac/ios_dbg_simulator_gn.json
[modify] https://crrev.com/d0c138bb06b285b4ad0015f2fff407f5840e481e/ios/build/bots/tryserver.chromium.mac/ios_dbg_simulator_ninja.json
[modify] https://crrev.com/d0c138bb06b285b4ad0015f2fff407f5840e481e/ios/build/bots/tryserver.chromium.mac/ios_rel_device_gn.json
[modify] https://crrev.com/d0c138bb06b285b4ad0015f2fff407f5840e481e/ios/build/bots/tryserver.chromium.mac/ios_rel_device_ninja.json
[modify] https://crrev.com/d0c138bb06b285b4ad0015f2fff407f5840e481e/tools/mb/mb.py
[modify] https://crrev.com/d0c138bb06b285b4ad0015f2fff407f5840e481e/tools/mb/mb_config.pyl
[modify] https://crrev.com/d0c138bb06b285b4ad0015f2fff407f5840e481e/tools/mb/mb_unittest.py

Project Member

Comment 3 by bugdroid1@chromium.org, Apr 14 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/eca4a786d114c8a36583503f3d251a37dcffa023

commit eca4a786d114c8a36583503f3d251a37dcffa023
Author: dpranke <dpranke@chromium.org>
Date: Thu Apr 14 01:42:38 2016

Switch MB to write the GN args to args.gn.

This CL switches MB from passing the gn arguments on the
command line via --args to actually writing them to an
args.gn file. This makes some of the escaping slightly cleaner
and also will enable us to embed import() lines in a follow-on
CL, so that we can use //build/args templates.

R=brettw@chromium.org
BUG= 602528 

Review URL: https://codereview.chromium.org/1880903002

Cr-Commit-Position: refs/heads/master@{#387205}

[modify] https://crrev.com/eca4a786d114c8a36583503f3d251a37dcffa023/build/gn_helpers.py
[modify] https://crrev.com/eca4a786d114c8a36583503f3d251a37dcffa023/tools/mb/mb.py
[modify] https://crrev.com/eca4a786d114c8a36583503f3d251a37dcffa023/tools/mb/mb_unittest.py

Project Member

Comment 4 by bugdroid1@chromium.org, Apr 14 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/9dd5e25ac7e13a059c68e71b8a22955d952c23a3

commit 9dd5e25ac7e13a059c68e71b8a22955d952c23a3
Author: dpranke <dpranke@chromium.org>
Date: Thu Apr 14 04:23:09 2016

Support references to args files in MB.

Eventually we want most of the MB implementation to go away;
in particular, we probably want the bots to pick up their
GN configurations from args files, rather than from configs
in the mb_config.pyl file.

This CL adds support for specifying a given args file for a bot
in the master/builder configs directly, so you can specify
"masters": {"master": {"builder": "//foo/bar/baz.gn"}}. When
MB runs, it'll create an args.gn in the build directory that
contains the line 'import("//foo/bar/baz.gn")', which will
ensure the args are kept in sync.

R=brettw@chromium.org, jessicag@chromium.org, perezju@chromium.org
BUG= 602528 

Review URL: https://codereview.chromium.org/1881823002

Cr-Commit-Position: refs/heads/master@{#387234}

[add] https://crrev.com/9dd5e25ac7e13a059c68e71b8a22955d952c23a3/build/args/bots/official.desktop/blimp-engine.gn
[modify] https://crrev.com/9dd5e25ac7e13a059c68e71b8a22955d952c23a3/tools/mb/mb.py
[modify] https://crrev.com/9dd5e25ac7e13a059c68e71b8a22955d952c23a3/tools/mb/mb_config.pyl
[modify] https://crrev.com/9dd5e25ac7e13a059c68e71b8a22955d952c23a3/tools/mb/mb_unittest.py

Status: Fixed (was: Started)

Sign in to add a comment