Need "default" and "small" configuration in gclient (and to remove deps on CHROME_HEADLESS) |
|||
Issue descriptionSimiliar to the issues in bug 570091 and bug 756686, we have at least one hook (for node) in gclient that checks for CHROME_HEADLESS in the environment, so that the hook is run on the bots but not by default on a dev checkout. I'd like to get rid of the "bot"/"not a bot" distinction where possible, and I think we've generally used it as a proxy for "I don't want to download this tool that I'm never going to run, but we need it on the bots to run test X". Now that we have conditions in gclient, we can just set individual conditions as needed for each hook/target/test, but I'd prefer not to have to specify a bunch of different conditions either locally or on the bot, so I think we need some sort of generic "category"-type flag that each condition can use as a default. E.g., setting vars = { 'checkout_size': 'minimal', # valid values are 'full' and 'minimal' 'checkout_nacl': 'checkout_size == "full"', 'download_node': 'checkout_size == "full"', 'download_llvm_cov': 'checkout_size == "full"', ... } and so forth. I think the questions then are: - should we default to "full" or "minimal"? - what's in which category? - do we need more than two categories? I suggest we start with defaulting to 'minimal', since it's easier to add stuff to the default than it is to remove things, try to start with two categories since it's not clear what would be in a third, and use as a heuristic that the 'minimal' category just contains what you need to build chrome and run the most common tests (unit_tests, browser_tests). Anyone have other thoughts or opinions?
,
Oct 4 2017
The latest thinking on this is that "default" will be, well, "default", and so we won't need a configuration for it. More specifically, DEPS should be defaulting to download whatever a "main waterfall" bot would download on a given platform. "main waterfall" == master.chromium master.chromium.android master.chromium.chromiumos, master.chromium.gpu, master.chromium.linux, master.chromium.lkgr, master.chromium.mac, master.chromium.memory, master.chromium.perf, master.chromium.webkit, master.chromium.win We will also define a "small" configuration that will not include NaCl and may not include other things not needed to build Chromium; most of the other hooks can conditionally default to that.
,
Oct 4 2017
,
Oct 5 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/f044b6b0c1dbc43f4c5f42bfa72c03671c9a22f9 commit f044b6b0c1dbc43f4c5f42bfa72c03671c9a22f9 Author: Dirk Pranke <dpranke@chromium.org> Date: Thu Oct 05 22:02:03 2017 Add a `checkout_configuration` var to DEPS. By default, we want to check out everything that is needed to run on one of the main waterfalls (see the list in the bug for specifics). However, we also want to support a "small" configuration that can be used to skip things like NaCl that are optional for development, in the interest of a smaller download. R=thakis@chromium.org, phajdan.jr@chromium.org BUG= 768433 Change-Id: I45d8984616f7e25bd587070569d471eaab9ce8d7 Reviewed-on: https://chromium-review.googlesource.com/699834 Reviewed-by: Nico Weber <thakis@chromium.org> Commit-Queue: Dirk Pranke <dpranke@chromium.org> Cr-Commit-Position: refs/heads/master@{#506874} [modify] https://crrev.com/f044b6b0c1dbc43f4c5f42bfa72c03671c9a22f9/DEPS
,
Oct 6 2017
|
|||
►
Sign in to add a comment |
|||
Comment 1 by dpranke@chromium.org
, Sep 26 2017Owner: dpranke@chromium.org
Status: Started (was: Assigned)