0

Move gn check into the generate_build_files step.

The dedicated GN bots run a script test step called `gn_check`
that (unsurprisingly) runs `gn check` to validate that we
haven't introduced any bad build dependencies.

When we enabled GN on the regular Linux bots, we forgot to add
that step. It turns out that we can't easily add it, because
the Linux bots use a builder/tester split, and the script would
run on the tester, where we don't have a build directory and
don't know what GN args to check against.

This patch changes the MB/generate_build_files step to add the
--check flag to the normal `gn gen` invocation. This slows
down the generate_build_files step, but the time would be spent
somewhere anyway when we ran the gn check step, later.

This patch also removes the explicit gn_check test step from
all of the bots. This patch will have the side effect of starting
to run `gn check` on *every* GN configuration (GN check was only
being run on some of the configurations before).

R=jam@chromium.org, brettw@chromium.org
BUG=532230
CQ_EXTRA_TRYBOTS=tryserver.chromium.mac:mac_chromium_gn_rel,mac_chromium_gn_dbg;tryserver.chromium.win:win8_chromium_gn_dbg,win_chromium_gn_x64_rel

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

Cr-Commit-Position: refs/heads/master@{#349731}
This commit is contained in:
dpranke
2015-09-18 12:07:00 -07:00
committed by Commit bot
parent 31b2721a44
commit b218d91ef1
10 changed files with 14 additions and 32 deletions

7
.gn

@ -24,7 +24,7 @@ check_targets = [
"//cc/*",
#"//chrome/*", # Epic number of errors.
"//chrome/installer/*",
#"//chrome/installer/*", # A few errors, need to verify the size after fixing.
"//chromecast/*",
# TODO(brettw): Fix http://crbug.com/460828 and uncomment the following
@ -38,7 +38,10 @@ check_targets = [
"//components/bookmarks/*",
"//components/google/*",
"//components/history/*",
"//components/html_viewer/*",
# TODO(dpranke): Reenable once v8 exports v8_base as a public_dep
#"//components/html_viewer/*",
"//components/mus/*",
"//components/omnibox/*",
"//components/os_crypt/*",

@ -197,6 +197,7 @@ source_set("lib") {
"//ui/mojo/init",
"//ui/native_theme",
"//url",
"//v8",
]
public_deps = [
@ -228,6 +229,7 @@ mojo_native_application("html_viewer") {
deps = [
":lib",
":pak",
"//base",
"//mojo/application/public/cpp:sources",
"//third_party/mojo/src/mojo/public/c/system:for_shared_library",
]

@ -46,6 +46,7 @@ source_set("unit_tests") {
deps = [
":os_crypt",
"//base",
"//crypto",
"//testing/gtest",
]
}

@ -58,6 +58,7 @@ source_set("update_client") {
"//third_party/libxml",
"//third_party/zlib:zip",
"//net",
"//ui/base",
"//url",
]
}

@ -61,6 +61,7 @@ source_set("test_support") {
":user_manager",
"//base",
"//skia",
"//ui/base",
]
}
}

@ -68,12 +68,6 @@
{
"test": "view_manager_unittests"
}
],
"scripts": [
{
"name": "gn_check",
"script": "gn_check.py"
}
]
},
"Android GN (dbg)": {
@ -577,10 +571,6 @@
}
],
"scripts": [
{
"name": "gn_check",
"script": "gn_check.py"
},
{
"args": [
"chrome"

@ -58,13 +58,6 @@
"url_unittests",
"views_unittests",
"wm_unittests"
],
"gtest_tests": [],
"scripts": [
{
"name": "gn_check",
"script": "gn_check.py"
}
]
}
}

@ -346,10 +346,6 @@
}
],
"scripts": [
{
"name": "gn_check",
"script": "gn_check.py"
},
{
"args": [
"chrome"

@ -59,13 +59,6 @@
"url_unittests",
"views_unittests",
"wm_unittests"
],
"gtest_tests": [],
"scripts": [
{
"name": "gn_check",
"script": "gn_check.py"
}
]
}
}

@ -353,7 +353,7 @@ class MetaBuildWrapper(object):
def RunGNGen(self, vals):
path = self.args.path[0]
cmd = self.GNCmd('gen', path, vals['gn_args'])
cmd = self.GNCmd('gen', path, vals['gn_args'], extra_args=['--check'])
swarming_targets = []
if self.args.swarming_targets_file:
@ -437,7 +437,7 @@ class MetaBuildWrapper(object):
return ret
def GNCmd(self, subcommand, path, gn_args=''):
def GNCmd(self, subcommand, path, gn_args='', extra_args=None):
if self.platform == 'linux2':
subdir = 'linux64'
elif self.platform == 'darwin':
@ -450,6 +450,8 @@ class MetaBuildWrapper(object):
gn_args = gn_args.replace("$(goma_dir)", self.args.goma_dir)
if gn_args:
cmd.append('--args=%s' % gn_args)
if extra_args:
cmd.extend(extra_args)
return cmd
def RunGYPGen(self, vals):