New issue
Advanced search Search tips

Issue 645296 link

Starred by 1 user

Issue metadata

Status: Archived
Owner:
Closed: Jul 2017
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Feature



Sign in to add a comment

Refactor chromeos_config to be easier to understand.

Project Member Reported by dgarr...@chromium.org, Sep 8 2016

Issue description

chromeos_config contains a single several thousand line method that's very hard to follow.

It should be refactored into distinct phases to make it easier to follow, and to make it more obvious how to add things in the future.
 
Project Member

Comment 1 by bugdroid1@chromium.org, Sep 13 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/chromite/+/a554c4bededf01e32dc648599ef8a50a2d74b1db

commit a554c4bededf01e32dc648599ef8a50a2d74b1db
Author: Don Garrett <dgarrett@google.com>
Date: Thu Sep 08 23:40:57 2016

chromeos_config: Start split up of GetConfig() method.

Create SiteParameters() and DefaultSettings methods to break
up the several thousand line method GetConfig.

Move most current GetConfig content into _GetConfig(). Plan to further
split out everything in _GetConfig into new methods in future CLs.

BUG= chromium:645296 
TEST=chromeos_config_unittest (and config_dump.json is unmodified).

Change-Id: Ie395c90e2a7aa0646ac2f88600cd9a41f441a470
Reviewed-on: https://chromium-review.googlesource.com/383892
Commit-Ready: Don Garrett <dgarrett@chromium.org>
Tested-by: Don Garrett <dgarrett@chromium.org>
Reviewed-by: Ningning Xia <nxia@chromium.org>

[modify] https://crrev.com/a554c4bededf01e32dc648599ef8a50a2d74b1db/cbuildbot/chromeos_config.py

Comment 2 by autumn@chromium.org, Sep 13 2016

Labels: -current-issue
Project Member

Comment 3 by bugdroid1@chromium.org, Sep 15 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/chromite/+/a20a45ea58360ecac8322b8549594337327ad918

commit a20a45ea58360ecac8322b8549594337327ad918
Author: Don Garrett <dgarrett@google.com>
Date: Fri Sep 09 00:10:58 2016

chromeos_config: Move GE parsing out of global space.

Move GE parsing into methods, out of the global space.

BUG= chromium:645296 
TEST=chromeos_config_unittest (and config_dump.json is unmodified).

Change-Id: I513dbb7c3d2308cc2ebb77e1b255dd068abbb557
Reviewed-on: https://chromium-review.googlesource.com/383893
Commit-Ready: Don Garrett <dgarrett@chromium.org>
Tested-by: Don Garrett <dgarrett@chromium.org>
Reviewed-by: Ningning Xia <nxia@chromium.org>

[modify] https://crrev.com/a20a45ea58360ecac8322b8549594337327ad918/cbuildbot/chromeos_config.py

Project Member

Comment 4 by bugdroid1@chromium.org, Sep 15 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/chromite/+/81b43aafb9fc3f394db26f06a79d8a89d582789e

commit 81b43aafb9fc3f394db26f06a79d8a89d582789e
Author: Don Garrett <dgarrett@google.com>
Date: Fri Sep 09 00:42:10 2016

chromeos_config: Break out default values methods.

Break out the methods that define default HWTestOverride values, and
waterfall values into their own methods.

BUG= chromium:645296 
TEST=chromeos_config_unittest (and config_dump.json is unmodified).

Change-Id: I61b50532a6f37ebfce0734aea3f813a55026c79e
Reviewed-on: https://chromium-review.googlesource.com/383894
Commit-Ready: Don Garrett <dgarrett@chromium.org>
Tested-by: Don Garrett <dgarrett@chromium.org>
Reviewed-by: Ningning Xia <nxia@chromium.org>

[modify] https://crrev.com/81b43aafb9fc3f394db26f06a79d8a89d582789e/cbuildbot/chromeos_config_unittest.py
[modify] https://crrev.com/81b43aafb9fc3f394db26f06a79d8a89d582789e/cbuildbot/chromeos_config.py

Project Member

Comment 5 by bugdroid1@chromium.org, Sep 17 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/chromite/+/d58569527c96e289caed2a6bac17a66ee60f9aef

commit d58569527c96e289caed2a6bac17a66ee60f9aef
Author: Don Garrett <dgarrett@google.com>
Date: Fri Sep 09 01:54:03 2016

config_lib: Make it easier to update BuildConfigs.

Pull the BuildConfig.derive logic into BuildConfig.apply, which applies
without making a copy. BuildConfig.derive still exists with unchanged
behavior.

Also touch up deepcopy() in passing, which was needed to avoid having
it do special handling of delete or callable values.

BUG= chromium:645296 
TEST=run_tests

Change-Id: Ie930f05dcce2bdca2a63ec5fdb1fe94969e55a70
Reviewed-on: https://chromium-review.googlesource.com/384636
Commit-Ready: Don Garrett <dgarrett@chromium.org>
Tested-by: Don Garrett <dgarrett@chromium.org>
Reviewed-by: Ningning Xia <nxia@chromium.org>

[modify] https://crrev.com/d58569527c96e289caed2a6bac17a66ee60f9aef/cbuildbot/config_lib.py
[modify] https://crrev.com/d58569527c96e289caed2a6bac17a66ee60f9aef/cbuildbot/config_lib_unittest.py

Project Member

Comment 6 by bugdroid1@chromium.org, Sep 17 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/chromite/+/bfdd332261debc8391214abd57a4a247771cf04a

commit bfdd332261debc8391214abd57a4a247771cf04a
Author: Don Garrett <dgarrett@google.com>
Date: Mon Sep 12 22:40:35 2016

chromeos_config: Remove unneeded derive.

Switch from a derive to deepcopy, since it's simpler/faster.

BUG= chromium:645296 
TEST=run_tests

Change-Id: Iad542a222c94fad90700b68ad4e2561ec9c5c455
Reviewed-on: https://chromium-review.googlesource.com/384691
Commit-Ready: Don Garrett <dgarrett@chromium.org>
Tested-by: Don Garrett <dgarrett@chromium.org>
Reviewed-by: Don Garrett <dgarrett@chromium.org>

[modify] https://crrev.com/bfdd332261debc8391214abd57a4a247771cf04a/cbuildbot/chromeos_config.py

Project Member

Comment 7 by bugdroid1@chromium.org, Sep 17 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/chromite/+/913e205090590a58fea257a3cb3f607930b13408

commit 913e205090590a58fea257a3cb3f607930b13408
Author: Don Garrett <dgarrett@google.com>
Date: Tue Sep 13 21:40:24 2016

config_lib: Create site_config.templates.<name>.

Currently, when we define templates, we store them in local
variables and use those variables when using the templates. These
variables make it hard to separate template and build config
definitions.

But creating a light weight way to access those templates from the
SiteConfig, we make it easy to get rid of the local variables.

This change creates the new mechanism, and uses in in one sample
location, but does not fully update chromeos_config to use the new
mechanism. That very large change will be in a follow up CL.

BUG= chromium:645296 
TEST=run_tests

Change-Id: I4d0b6b36b4b2baa76c4e101591e5f5140ae5ef8e
Reviewed-on: https://chromium-review.googlesource.com/385119
Commit-Ready: Don Garrett <dgarrett@chromium.org>
Tested-by: Don Garrett <dgarrett@chromium.org>
Reviewed-by: Ningning Xia <nxia@chromium.org>

[modify] https://crrev.com/913e205090590a58fea257a3cb3f607930b13408/cbuildbot/config_lib.py
[modify] https://crrev.com/913e205090590a58fea257a3cb3f607930b13408/cbuildbot/config_lib_unittest.py
[modify] https://crrev.com/913e205090590a58fea257a3cb3f607930b13408/cbuildbot/chromeos_config.py

Project Member

Comment 8 by bugdroid1@chromium.org, Sep 17 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/chromite/+/2c773c521b7e4a8a7e8482a9c753c30c1999bfdd

commit 2c773c521b7e4a8a7e8482a9c753c30c1999bfdd
Author: Don Garrett <dgarrett@google.com>
Date: Tue Sep 13 23:31:25 2016

chromeos_config: Switch to SiteConfig.templates.

Replace all local variables for templates with site_config.templates
references.

In addition, rename many templates to be python attribute friendly by
replacing '-' in names with '_'.

Update a template name maching unittest to be agnostic to '-' versus
'_'.

This CL modifies config_dump.json because of the template renames. To
confirm there were no significant changes, I ran
"bin/cbuildbot_view_config --full | grep -v _template" and saw no
changes with/without the CL.

BUG= chromium:645296 
TEST=run_tests

Change-Id: Id2fd88f5eb67ca02a84e96bbae9e5f55d0d421b0
Reviewed-on: https://chromium-review.googlesource.com/385238
Commit-Ready: Don Garrett <dgarrett@chromium.org>
Tested-by: Don Garrett <dgarrett@chromium.org>
Reviewed-by: Ningning Xia <nxia@chromium.org>

[modify] https://crrev.com/2c773c521b7e4a8a7e8482a9c753c30c1999bfdd/cbuildbot/config_dump.json
[modify] https://crrev.com/2c773c521b7e4a8a7e8482a9c753c30c1999bfdd/cbuildbot/chromeos_config_unittest.py
[modify] https://crrev.com/2c773c521b7e4a8a7e8482a9c753c30c1999bfdd/cbuildbot/chromeos_config.py

Project Member

Comment 9 by bugdroid1@chromium.org, Sep 17 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/chromite/+/b16466f76bad5cf6f4c355a432ebacd73a468d36

commit b16466f76bad5cf6f4c355a432ebacd73a468d36
Author: Don Garrett <dgarrett@google.com>
Date: Wed Sep 14 18:32:47 2016

config_lib: Stop saving unused templates.

Strip out unreferenced templates from site configs before saving to
Json. Has no effect today, but I'm planning to add many more templates
soon that don't need saving.

BUG= chromium:645296 
TEST=run_tests

Change-Id: Iffd6a1caced001d3028d86b48f400458953dfd6b
Reviewed-on: https://chromium-review.googlesource.com/385284
Commit-Ready: Don Garrett <dgarrett@chromium.org>
Tested-by: Don Garrett <dgarrett@chromium.org>
Reviewed-by: Ningning Xia <nxia@chromium.org>

[modify] https://crrev.com/b16466f76bad5cf6f4c355a432ebacd73a468d36/cbuildbot/config_lib.py
[modify] https://crrev.com/b16466f76bad5cf6f4c355a432ebacd73a468d36/cbuildbot/config_lib_unittest.py

Project Member

Comment 10 by bugdroid1@chromium.org, Sep 22 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/chromite/+/2969325484f862e40f423d867b6869ebffb3f2fa

commit 2969325484f862e40f423d867b6869ebffb3f2fa
Author: Don Garrett <dgarrett@google.com>
Date: Wed Sep 14 19:56:09 2016

chromeos_config: Remove local config instances.

Instead of creating local BuildConfig instances, always use
templates. This proved a bit awkward because we compare builder names
against the 'base' template name. So... beaglebone-release should use
the template 'release'. Still, this CL means we only use template to
create build configs, which will make it easier to break apart the
_GetConfig method.

Tweaked config_lib to allow template names to be explicitly
overridden. A later CL will adjust SiteConfig.Add so that the base
config is always explicitly stated, which should be cleaner.

Ran "bin/cbuildbot_view_config --full | grep -v _template" and saw no
changes with/without the CL.

BUG= chromium:645296 
TEST=run_tests

Change-Id: I73791af37d5ef3f528423ec5c2e215793e2d75a9
Reviewed-on: https://chromium-review.googlesource.com/385285
Commit-Ready: Don Garrett <dgarrett@chromium.org>
Tested-by: Don Garrett <dgarrett@chromium.org>
Reviewed-by: Ningning Xia <nxia@chromium.org>

[modify] https://crrev.com/2969325484f862e40f423d867b6869ebffb3f2fa/cbuildbot/config_dump.json
[modify] https://crrev.com/2969325484f862e40f423d867b6869ebffb3f2fa/cbuildbot/config_lib.py
[modify] https://crrev.com/2969325484f862e40f423d867b6869ebffb3f2fa/cbuildbot/chromeos_config_unittest.py
[modify] https://crrev.com/2969325484f862e40f423d867b6869ebffb3f2fa/cbuildbot/chromeos_config.py

Project Member

Comment 11 by bugdroid1@chromium.org, Sep 22 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/chromite/+/71a4f153f5b9c64b9de26537b6f409ead7312165

commit 71a4f153f5b9c64b9de26537b6f409ead7312165
Author: Don Garrett <dgarrett@google.com>
Date: Wed Sep 14 20:39:13 2016

config_lib: Give SiteConfig.Add an explicit template arg.

The first config passed to Add is used as the template, and can be None
if there is no template. _template can no longer be explicitly
overridden. Later configs can no longer override the template to use.

I hope this generally makes template definitions a little simpler to
follow.

BUG= chromium:645296 
TEST=run_tests

Change-Id: Ib0f0b0a3b955501526d78c4ab7e788d158e9046e
Reviewed-on: https://chromium-review.googlesource.com/385287
Commit-Ready: Don Garrett <dgarrett@chromium.org>
Tested-by: Don Garrett <dgarrett@chromium.org>
Reviewed-by: Ningning Xia <nxia@chromium.org>

[modify] https://crrev.com/71a4f153f5b9c64b9de26537b6f409ead7312165/cbuildbot/config_lib.py
[modify] https://crrev.com/71a4f153f5b9c64b9de26537b6f409ead7312165/cbuildbot/config_lib_unittest.py
[modify] https://crrev.com/71a4f153f5b9c64b9de26537b6f409ead7312165/cbuildbot/chromeos_config.py

Project Member

Comment 12 by bugdroid1@chromium.org, Sep 22 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/chromite/+/eac9bd80ccc6241efdaf1c7f6609e93cb341abd4

commit eac9bd80ccc6241efdaf1c7f6609e93cb341abd4
Author: Don Garrett <dgarrett@google.com>
Date: Thu Sep 15 01:01:14 2016

chromeos_config: add CreateBuilderTemplates()

Move all builder template definitions into a new method named
CreateBuilderTemplates. These definitions might be split up further over
time.

No changes were made to the definitions, they were only moved. I found a
couple of things to clean up further, but will wait until a later CL.

BUG= chromium:645296 
TEST=run_tests

Change-Id: I08fdcd8152baa12f221309f67caebddc0286c3b7
Reviewed-on: https://chromium-review.googlesource.com/385288
Commit-Ready: Don Garrett <dgarrett@chromium.org>
Tested-by: Don Garrett <dgarrett@chromium.org>
Reviewed-by: Ningning Xia <nxia@chromium.org>

[modify] https://crrev.com/eac9bd80ccc6241efdaf1c7f6609e93cb341abd4/cbuildbot/chromeos_config.py

Project Member

Comment 13 by bugdroid1@chromium.org, Sep 22 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/chromite/+/3086437c9928e92f3141683ec451f324f3832467

commit 3086437c9928e92f3141683ec451f324f3832467
Author: Don Garrett <dgarrett@google.com>
Date: Thu Sep 15 01:50:44 2016

chromeos_config: Clean up a few more template oddities.

Found a couple of additional local variable style build patterns used
for firmware and AFDO builds, add templates for them.

Found a kernel builder that defined a template dynamically, and used it
for a single builder. Replace with a more generic template that reused.

Ran "bin/cbuildbot_view_config --full | grep -v _template" and saw no
changes with/without the CL.

BUG= chromium:645296 
TEST=run_tests

Change-Id: I8c32384da2cb21d2be5cfaa8fb01bdc4d7156870
Reviewed-on: https://chromium-review.googlesource.com/386140
Commit-Ready: Don Garrett <dgarrett@chromium.org>
Tested-by: Don Garrett <dgarrett@chromium.org>
Reviewed-by: Ningning Xia <nxia@chromium.org>

[modify] https://crrev.com/3086437c9928e92f3141683ec451f324f3832467/cbuildbot/config_dump.json
[modify] https://crrev.com/3086437c9928e92f3141683ec451f324f3832467/cbuildbot/chromeos_config.py

Project Member

Comment 14 by bugdroid1@chromium.org, Sep 24 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/chromite/+/4c4dc428351ea668806ca97e1016c05d13c170aa

commit 4c4dc428351ea668806ca97e1016c05d13c170aa
Author: Don Garrett <dgarrett@google.com>
Date: Mon Sep 19 22:04:08 2016

chromeos_config: Move toolchain configs to new method.

Move all toolchain related builds into a new method. This change
is a reorganization only.

BUG= chromium:645296 
TEST=run_tests

Change-Id: Ibfc109fc7d58f350b28a37497cf1e83062fca865
Reviewed-on: https://chromium-review.googlesource.com/387108
Commit-Ready: Don Garrett <dgarrett@chromium.org>
Tested-by: Don Garrett <dgarrett@chromium.org>
Reviewed-by: Don Garrett <dgarrett@chromium.org>

[modify] https://crrev.com/4c4dc428351ea668806ca97e1016c05d13c170aa/cbuildbot/chromeos_config.py

Project Member

Comment 15 by bugdroid1@chromium.org, Sep 24 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/chromite/+/d00c64c37c3e933ac33e62e344ebd901b9db0c39

commit d00c64c37c3e933ac33e62e344ebd901b9db0c39
Author: Don Garrett <dgarrett@google.com>
Date: Tue Sep 20 20:52:52 2016

config_lib: Assert if duplicate configs added.

Remove duplicate config definitions from chromeos_config, and use the
overwrite mechanisms to set the special flags we were setting via
duplicate configs.

This creates a few changes in config_dump.json, but in each case, the
change fixes an error in the old version of the build config.

BUG= chromium:645296 
TEST=run_tests

Change-Id: I018cb80ea3c9228af8a3bd81570585e9b1c53388
Reviewed-on: https://chromium-review.googlesource.com/387193
Commit-Ready: Don Garrett <dgarrett@chromium.org>
Tested-by: Don Garrett <dgarrett@chromium.org>
Reviewed-by: Ningning Xia <nxia@chromium.org>

[modify] https://crrev.com/d00c64c37c3e933ac33e62e344ebd901b9db0c39/cbuildbot/config_dump.json
[modify] https://crrev.com/d00c64c37c3e933ac33e62e344ebd901b9db0c39/cbuildbot/config_lib.py
[modify] https://crrev.com/d00c64c37c3e933ac33e62e344ebd901b9db0c39/cbuildbot/chromeos_config.py

Project Member

Comment 16 by bugdroid1@chromium.org, Sep 24 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/chromite/+/87276d121bf07a74cb3a49b869b6b7adf75628f1

commit 87276d121bf07a74cb3a49b869b6b7adf75628f1
Author: Don Garrett <dgarrett@google.com>
Date: Fri Sep 16 22:47:19 2016

chromeos_config: Move per-board configs into new method.

There are additional changes an improvements to make with this code, but
start by moving this block into it's own method, unchanged, except for
starting to give GE control over which boards exist.

We found a few boards GE doesn't know about, hard code them for now, but
we have an agreement to get them added shortly.

BUG= chromium:645296 
TEST=run_tests

Change-Id: I78768278624c2f8e0eb497c953b99f6b1e5ff1de
Reviewed-on: https://chromium-review.googlesource.com/387109
Commit-Ready: Don Garrett <dgarrett@chromium.org>
Tested-by: Don Garrett <dgarrett@chromium.org>
Reviewed-by: Don Garrett <dgarrett@chromium.org>

[modify] https://crrev.com/87276d121bf07a74cb3a49b869b6b7adf75628f1/cbuildbot/config_lib.py
[modify] https://crrev.com/87276d121bf07a74cb3a49b869b6b7adf75628f1/cbuildbot/chromeos_config.py

Project Member

Comment 17 by bugdroid1@chromium.org, Sep 24 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/chromite/+/2c78dc5fb24af759c8737015a52ff2a19adc64a0

commit 2c78dc5fb24af759c8737015a52ff2a19adc64a0
Author: Don Garrett <dgarrett@google.com>
Date: Tue Sep 20 23:21:27 2016

chromeos_config: Add remove_images.

Add a new callable, similar to 'append_useflags' intended to remove
image types that are not supported. Use this new callable to remove a
hack in _CreateConfigsForBoards.

This has small changes in config_dump.json for builds which have
probably never been run.

BUG= chromium:645296 
TEST=run_tests

Change-Id: I86faba9f3b6435fa6f8a521412ec9ee61d5d65ca
Reviewed-on: https://chromium-review.googlesource.com/387845
Commit-Ready: Don Garrett <dgarrett@chromium.org>
Tested-by: Don Garrett <dgarrett@chromium.org>
Reviewed-by: Bernie Thompson <bhthompson@chromium.org>

[modify] https://crrev.com/2c78dc5fb24af759c8737015a52ff2a19adc64a0/cbuildbot/config_dump.json
[modify] https://crrev.com/2c78dc5fb24af759c8737015a52ff2a19adc64a0/cbuildbot/chromeos_config.py

Project Member

Comment 18 by bugdroid1@chromium.org, Oct 1 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/chromite/+/d7a22a4c074ab5765bbe8f74203a69219cca3f7b

commit d7a22a4c074ab5765bbe8f74203a69219cca3f7b
Author: Don Garrett <dgarrett@google.com>
Date: Tue Sep 20 19:52:41 2016

config_lib: Add AddForBoards.

The new method is intended as a replacement for chromeos_config's
_CreateConfigsForBoards, but accepts multiple templates in the style of
SiteConfig.Add.

BUG= chromium:645296 
TEST=run_tests

Change-Id: I6710a5f297e5bd90eb11a2e085ff360755f51561
Reviewed-on: https://chromium-review.googlesource.com/387194
Commit-Ready: Don Garrett <dgarrett@chromium.org>
Tested-by: Don Garrett <dgarrett@chromium.org>
Reviewed-by: Don Garrett <dgarrett@chromium.org>

[modify] https://crrev.com/d7a22a4c074ab5765bbe8f74203a69219cca3f7b/cbuildbot/config_lib.py

Project Member

Comment 19 by bugdroid1@chromium.org, Oct 1 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/chromite/+/d2ffb9cc372c68f71af28a6879c8b17b1e76c4e3

commit d2ffb9cc372c68f71af28a6879c8b17b1e76c4e3
Author: Don Garrett <dgarrett@google.com>
Date: Tue Sep 20 23:32:50 2016

chromeos_config: Switch _CreateConfigsForBoards to AddForBoards.

Stop using the helper method _CreateConfigForBoards, and switch to
AddForBoards.

Since _Create would skip build configs that already exists. AddForBoards
does not, to force things to be more explicit. So, part of this change
is to get rid of redundant build definitions where reasonable.

BUG= chromium:645296 
TEST=run_tests

Change-Id: Ia63c1ef6241f73b9b306cf3a182b23beb4e0806b
Reviewed-on: https://chromium-review.googlesource.com/388005
Commit-Ready: Don Garrett <dgarrett@chromium.org>
Tested-by: Don Garrett <dgarrett@chromium.org>
Reviewed-by: Prathmesh Prabhu <pprabhu@chromium.org>

[modify] https://crrev.com/d2ffb9cc372c68f71af28a6879c8b17b1e76c4e3/cbuildbot/chromeos_config.py

Project Member

Comment 20 by bugdroid1@chromium.org, Oct 1 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/chromite/+/b84ff28e641ca4bf3133d999379429fb6d553ec4

commit b84ff28e641ca4bf3133d999379429fb6d553ec4
Author: Don Garrett <dgarrett@google.com>
Date: Fri Sep 23 23:13:02 2016

chromeos_config: Remove delete_keys() usage.

Remove all usage of config_lib.BuildConfig.delete_key().

BUG= chromium:645296 
TEST=run_tests

Change-Id: I265e0a9d49a73408d4a36af3594d6e93ac1980ac
Reviewed-on: https://chromium-review.googlesource.com/388817
Commit-Ready: Don Garrett <dgarrett@chromium.org>
Tested-by: Don Garrett <dgarrett@chromium.org>
Reviewed-by: Prathmesh Prabhu <pprabhu@chromium.org>

[modify] https://crrev.com/b84ff28e641ca4bf3133d999379429fb6d553ec4/cbuildbot/chromeos_config.py

Project Member

Comment 21 by bugdroid1@chromium.org, Oct 1 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/chromite/+/a5919a428fa5ccc30e157b4eca0028c6443f506a

commit a5919a428fa5ccc30e157b4eca0028c6443f506a
Author: Don Garrett <dgarrett@google.com>
Date: Fri Sep 23 23:21:19 2016

config_lib: Remove delete_key support.

Since the weird semantics of delete_key aren't used any more, get rid fo
them.

BUG= chromium:645296 
TEST=run_tests

Change-Id: Ie782a5b7c6430b2f043c31cc6215b61301d3ecab
Reviewed-on: https://chromium-review.googlesource.com/388818
Commit-Ready: Don Garrett <dgarrett@chromium.org>
Tested-by: Don Garrett <dgarrett@chromium.org>
Reviewed-by: Prathmesh Prabhu <pprabhu@chromium.org>

[modify] https://crrev.com/a5919a428fa5ccc30e157b4eca0028c6443f506a/cbuildbot/config_lib.py
[modify] https://crrev.com/a5919a428fa5ccc30e157b4eca0028c6443f506a/cbuildbot/config_lib_unittest.py

Project Member

Comment 22 by bugdroid1@chromium.org, Oct 1 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/chromite/+/84d40be6dc3060d9d325dd96b4c698ca1ad26628

commit 84d40be6dc3060d9d325dd96b4c698ca1ad26628
Author: Don Garrett <dgarrett@google.com>
Date: Sat Sep 24 04:52:36 2016

chromeos_config: Stop using _template in template definitions.

Stop using _template when creating templates by being more explicit
about which template is the real base when adding build configs.

BUG= chromium:645296 
TEST=run_tests

Change-Id: I966bd85fb03b68ec51a19c007e104749353a745f
Reviewed-on: https://chromium-review.googlesource.com/388903
Commit-Ready: Don Garrett <dgarrett@chromium.org>
Tested-by: Don Garrett <dgarrett@chromium.org>
Reviewed-by: Prathmesh Prabhu <pprabhu@chromium.org>

[modify] https://crrev.com/84d40be6dc3060d9d325dd96b4c698ca1ad26628/cbuildbot/config_lib.py
[modify] https://crrev.com/84d40be6dc3060d9d325dd96b4c698ca1ad26628/cbuildbot/chromeos_config.py

Project Member

Comment 23 by bugdroid1@chromium.org, Oct 1 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/chromite/+/b8842146bfa4bc07e6243eab06ce9600f85a04d0

commit b8842146bfa4bc07e6243eab06ce9600f85a04d0
Author: Don Garrett <dgarrett@google.com>
Date: Thu Sep 22 15:02:17 2016

config_lib: Save only meaningful template values.

Templates often have values like the default build config. Since build
configs are rebuilt from json with default + template + config, there is
no need to save anything from a template that is different from default.

Also, templates can contain callables, or delete_key values which can't
be correctly serialized to json. This CL resolves them to concrete
values before saving.

I further tested by comparing cbuildbot_view_config --full from
before/after. Nothing changed other than the template dumps, which
proves this didn't break anything.

BUG= chromium:645296 
TEST=run_tests

Change-Id: I0d62bc2a647f07ab0f6b3b76cd74a92fb8c853bf
Reviewed-on: https://chromium-review.googlesource.com/389251
Commit-Ready: Don Garrett <dgarrett@chromium.org>
Tested-by: Don Garrett <dgarrett@chromium.org>
Reviewed-by: Don Garrett <dgarrett@chromium.org>

[modify] https://crrev.com/b8842146bfa4bc07e6243eab06ce9600f85a04d0/cbuildbot/config_dump.json
[modify] https://crrev.com/b8842146bfa4bc07e6243eab06ce9600f85a04d0/cbuildbot/config_lib.py
[modify] https://crrev.com/b8842146bfa4bc07e6243eab06ce9600f85a04d0/cbuildbot/config_lib_unittest.py

Project Member

Comment 24 by bugdroid1@chromium.org, Oct 1 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/chromite/+/097d93e63182403df6b423512854ab3bc0acd2da

commit 097d93e63182403df6b423512854ab3bc0acd2da
Author: Don Garrett <dgarrett@google.com>
Date: Thu Sep 22 15:02:17 2016

config_lib: Make callables stackable.

It's now safe to declare callables in a template, and if a template
inherits from another (with one or more using callables), they will be
resolved correctly in all cases.

BUG= chromium:645296 
TEST=run_tests

Change-Id: Iabbe27bc96f461b1c4733203d0111508ba5fdabb
Reviewed-on: https://chromium-review.googlesource.com/389252
Commit-Ready: Don Garrett <dgarrett@chromium.org>
Tested-by: Don Garrett <dgarrett@chromium.org>
Reviewed-by: Don Garrett <dgarrett@chromium.org>

[modify] https://crrev.com/097d93e63182403df6b423512854ab3bc0acd2da/cbuildbot/config_lib_unittest.py
[modify] https://crrev.com/097d93e63182403df6b423512854ab3bc0acd2da/cbuildbot/config_lib.py
[modify] https://crrev.com/097d93e63182403df6b423512854ab3bc0acd2da/cbuildbot/builders/simple_builders_unittest.py
[modify] https://crrev.com/097d93e63182403df6b423512854ab3bc0acd2da/cbuildbot/chromeos_config_unittest.py

Project Member

Comment 25 by bugdroid1@chromium.org, Oct 6 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/chromite/+/870bb15b89ede73ea0143a30a3665055ca8235e0

commit 870bb15b89ede73ea0143a30a3665055ca8235e0
Author: Don Garrett <dgarrett@google.com>
Date: Sat Sep 24 05:21:14 2016

config_lib: Remove _template setting through apply().

apply() will no longer update _template in any case. Update other
config_lib methods to have explicit _template value handling. Remove
all remaining references to _template from chromeos_config.

Also, removed a bunch of unneccesary overwrite values. Some of the
overwrite values now come build board configs, so there is no need to
overwrite them.

Include the assert that detected these as commented out code as a
reminder to add an appropriate unittest later on. This test is useful,
but I don't want to run it every time, otherwise auto-updated values
might hit asserts when they are good changes to accept.

Get rid of unused method definitions, and local variables.
Get rid of local BuildConfig instances.
Use apply instead of derive in a variety of places.
Use arguments in apply, instead of creating single use templates.

BUG= chromium:645296 
TEST=run_tests, no config_dump.json changes.

Change-Id: I19825a7c8c4f9bda2a9c74d48d7cec0d05792f9a
Reviewed-on: https://chromium-review.googlesource.com/388904
Commit-Ready: Don Garrett <dgarrett@chromium.org>
Tested-by: Don Garrett <dgarrett@chromium.org>
Reviewed-by: Don Garrett <dgarrett@chromium.org>

[modify] https://crrev.com/870bb15b89ede73ea0143a30a3665055ca8235e0/cbuildbot/config_lib.py
[modify] https://crrev.com/870bb15b89ede73ea0143a30a3665055ca8235e0/cbuildbot/chromeos_config.py

Project Member

Comment 26 by bugdroid1@chromium.org, Oct 6 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/chromite/+/bede7f6f40066e702ab8a28dbf5d352471861da9

commit bede7f6f40066e702ab8a28dbf5d352471861da9
Author: Don Garrett <dgarrett@google.com>
Date: Thu Sep 29 03:12:20 2016

chromeos_config: Create ApplyCustomOverrides method.

Move special build overrides out into a standalone method.

BUG= chromium:645296 
TEST=run_tests, no config_dump.json changes.

Change-Id: Iadc11b0edbaab07e850660a2e47cd6a82eab2c71
Reviewed-on: https://chromium-review.googlesource.com/390382
Commit-Ready: Don Garrett <dgarrett@chromium.org>
Tested-by: Don Garrett <dgarrett@chromium.org>
Reviewed-by: Don Garrett <dgarrett@chromium.org>

[modify] https://crrev.com/bede7f6f40066e702ab8a28dbf5d352471861da9/cbuildbot/config_dump.json
[modify] https://crrev.com/bede7f6f40066e702ab8a28dbf5d352471861da9/cbuildbot/chromeos_config.py

Project Member

Comment 27 by bugdroid1@chromium.org, Oct 6 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/chromite/+/39c5862bdb611d9c27fbcc2b3e4415f357cf0adc

commit 39c5862bdb611d9c27fbcc2b3e4415f357cf0adc
Author: Don Garrett <dgarrett@google.com>
Date: Thu Sep 29 03:52:08 2016

chromeos_config: Setup beaglebone board configs.

This adds most beaglebone special handling into a board specific
values. This affects the config_dump.json quite a bit, but only for
builds that were unused and look like they never could have been built.

When looking at the config_dump, these are the only configs in real use.
  beaglebone-paladin
  beaglebone-release
  beaglebone_servo-release

BUG= chromium:645296 
TEST=run_tests, no config_dump.json changes.

Change-Id: I2f6638725b42bf4d0f2f184939f8f1bf72b68e39
Reviewed-on: https://chromium-review.googlesource.com/390383
Commit-Ready: Don Garrett <dgarrett@chromium.org>
Tested-by: Don Garrett <dgarrett@chromium.org>
Reviewed-by: Don Garrett <dgarrett@chromium.org>

[modify] https://crrev.com/39c5862bdb611d9c27fbcc2b3e4415f357cf0adc/cbuildbot/config_dump.json
[modify] https://crrev.com/39c5862bdb611d9c27fbcc2b3e4415f357cf0adc/cbuildbot/chromeos_config.py

Project Member

Comment 28 by bugdroid1@chromium.org, Oct 10 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/chromite/+/0a0e35d853e747eaf5c09b4862ce6c5af6bb51e4

commit 0a0e35d853e747eaf5c09b4862ce6c5af6bb51e4
Author: Don Garrett <dgarrett@google.com>
Date: Thu Sep 29 18:24:22 2016

chromeos_config: Move assorted builds to own methods.

New builder methods:
 ReleaseBuilders - *-release configs.
 PaygenTryjobs - *-payloads tryjobs.
 SpecialtyBuilders - Assorted one off builders.
 PreCqBuilders - *-pre-cq configs, including variants.
 AndroidPfqBuilders - *-android-pfq

There are config_dump changes because some descriptions were updated.

BUG= chromium:645296 
TEST=run_tests

Change-Id: I9db79a439b6fb9587f03c6dbbfe4c3e4c4d3312e
Reviewed-on: https://chromium-review.googlesource.com/391183
Commit-Ready: Don Garrett <dgarrett@chromium.org>
Tested-by: Don Garrett <dgarrett@chromium.org>
Reviewed-by: Prathmesh Prabhu <pprabhu@chromium.org>

[modify] https://crrev.com/0a0e35d853e747eaf5c09b4862ce6c5af6bb51e4/cbuildbot/config_dump.json
[modify] https://crrev.com/0a0e35d853e747eaf5c09b4862ce6c5af6bb51e4/cbuildbot/chromeos_config.py

Project Member

Comment 29 by bugdroid1@chromium.org, Oct 10 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/chromite/+/0a0e35d853e747eaf5c09b4862ce6c5af6bb51e4

commit 0a0e35d853e747eaf5c09b4862ce6c5af6bb51e4
Author: Don Garrett <dgarrett@google.com>
Date: Thu Sep 29 18:24:22 2016

chromeos_config: Move assorted builds to own methods.

New builder methods:
 ReleaseBuilders - *-release configs.
 PaygenTryjobs - *-payloads tryjobs.
 SpecialtyBuilders - Assorted one off builders.
 PreCqBuilders - *-pre-cq configs, including variants.
 AndroidPfqBuilders - *-android-pfq

There are config_dump changes because some descriptions were updated.

BUG= chromium:645296 
TEST=run_tests

Change-Id: I9db79a439b6fb9587f03c6dbbfe4c3e4c4d3312e
Reviewed-on: https://chromium-review.googlesource.com/391183
Commit-Ready: Don Garrett <dgarrett@chromium.org>
Tested-by: Don Garrett <dgarrett@chromium.org>
Reviewed-by: Prathmesh Prabhu <pprabhu@chromium.org>

[modify] https://crrev.com/0a0e35d853e747eaf5c09b4862ce6c5af6bb51e4/cbuildbot/config_dump.json
[modify] https://crrev.com/0a0e35d853e747eaf5c09b4862ce6c5af6bb51e4/cbuildbot/chromeos_config.py

Status: Started (was: Untriaged)
Project Member

Comment 31 by bugdroid1@chromium.org, Oct 17 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/chromite/+/06d5dd6d77fbfa26aea5eab19182e6957e9d6f35

commit 06d5dd6d77fbfa26aea5eab19182e6957e9d6f35
Author: Don Garrett <dgarrett@google.com>
Date: Thu Sep 29 21:01:42 2016

chromeos_config: Explicitly assign to trybot waterfall.

Explicitly state the build configs which are run only on the trybot
waterfall. These values are not currently used. Builder type is
not currently assigned.

This, intentionally, causes config_dump and waterfall_layout_dump
changes.

BUG= chromium:645296 
TEST=run_tests, no config_dump.json changes.

Change-Id: I73dd101331d97d6a6c659af85f8471bebf778b3b
Reviewed-on: https://chromium-review.googlesource.com/391184
Commit-Ready: Don Garrett <dgarrett@chromium.org>
Tested-by: Don Garrett <dgarrett@chromium.org>
Reviewed-by: Don Garrett <dgarrett@chromium.org>

[modify] https://crrev.com/06d5dd6d77fbfa26aea5eab19182e6957e9d6f35/cbuildbot/config_dump.json
[modify] https://crrev.com/06d5dd6d77fbfa26aea5eab19182e6957e9d6f35/cbuildbot/waterfall_layout_dump.txt
[modify] https://crrev.com/06d5dd6d77fbfa26aea5eab19182e6957e9d6f35/cbuildbot/chromeos_config.py

Project Member

Comment 32 by bugdroid1@chromium.org, Oct 17 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/chromite/+/06d5dd6d77fbfa26aea5eab19182e6957e9d6f35

commit 06d5dd6d77fbfa26aea5eab19182e6957e9d6f35
Author: Don Garrett <dgarrett@google.com>
Date: Thu Sep 29 21:01:42 2016

chromeos_config: Explicitly assign to trybot waterfall.

Explicitly state the build configs which are run only on the trybot
waterfall. These values are not currently used. Builder type is
not currently assigned.

This, intentionally, causes config_dump and waterfall_layout_dump
changes.

BUG= chromium:645296 
TEST=run_tests, no config_dump.json changes.

Change-Id: I73dd101331d97d6a6c659af85f8471bebf778b3b
Reviewed-on: https://chromium-review.googlesource.com/391184
Commit-Ready: Don Garrett <dgarrett@chromium.org>
Tested-by: Don Garrett <dgarrett@chromium.org>
Reviewed-by: Don Garrett <dgarrett@chromium.org>

[modify] https://crrev.com/06d5dd6d77fbfa26aea5eab19182e6957e9d6f35/cbuildbot/config_dump.json
[modify] https://crrev.com/06d5dd6d77fbfa26aea5eab19182e6957e9d6f35/cbuildbot/waterfall_layout_dump.txt
[modify] https://crrev.com/06d5dd6d77fbfa26aea5eab19182e6957e9d6f35/cbuildbot/chromeos_config.py

Project Member

Comment 33 by bugdroid1@chromium.org, Oct 17 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/chromite/+/11931e9f3913c1640a8ece0b12c554a25e9d13e7

commit 11931e9f3913c1640a8ece0b12c554a25e9d13e7
Author: Don Garrett <dgarrett@google.com>
Date: Wed Oct 12 01:54:03 2016

binhost_test: Ignore WATERFALL_TRYBOT only boards.

When binhost test looks for boards to test, it looks for boards on a
waterfall. Ignore the Trybot waterfall, since no production builds are
there.

BUG= chromium:645296 
TEST=run_tests + tryjob with CL adding new boards to trybot waterfall.

Change-Id: Id8bab6524ba486b0f4882df8028d6c11364a6d08
Reviewed-on: https://chromium-review.googlesource.com/396921
Commit-Ready: Don Garrett <dgarrett@chromium.org>
Tested-by: Don Garrett <dgarrett@chromium.org>
Reviewed-by: David James <davidjames@chromium.org>

[modify] https://crrev.com/11931e9f3913c1640a8ece0b12c554a25e9d13e7/cbuildbot/binhost_test.py

Project Member

Comment 34 by bugdroid1@chromium.org, Oct 26 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/chromite/+/dfbb8fc708c340aa56b2480574a0d9e22f154b2e

commit dfbb8fc708c340aa56b2480574a0d9e22f154b2e
Author: Don Garrett <dgarrett@google.com>
Date: Thu Sep 29 22:40:01 2016

config_lib: Fix template handling when saving.

Apply templates to default before deciding which part of build configs
to save to disk. Callables and other magic are now expanded properly. We
were saving values to config_dump.json that matched the templates
exactly, except for magic.

When creating a SiteConfig, always populate all default build config and
site config parameters. This means that all default values are present
when creating a site config, when before they might not be present until
after we reloaded.

When loading templates, handle vm_test, and hw_test magic the same way
we do for build configs.

chromeos_config unittests are extended to better cover our ability to
save/load configs.

Fixed trivial (unrelated) lint error in chromeos_config at the same time.

BUG= chromium:645296 
TEST=run_tests, no config_dump.json changes.

Change-Id: I0a647486773ccaf110069288eda82106c60f6b95
Reviewed-on: https://chromium-review.googlesource.com/391185
Commit-Ready: Don Garrett <dgarrett@chromium.org>
Tested-by: Don Garrett <dgarrett@chromium.org>
Reviewed-by: Don Garrett <dgarrett@chromium.org>

[modify] https://crrev.com/dfbb8fc708c340aa56b2480574a0d9e22f154b2e/lib/config_lib_unittest.py
[modify] https://crrev.com/dfbb8fc708c340aa56b2480574a0d9e22f154b2e/lib/config_lib.py
[modify] https://crrev.com/dfbb8fc708c340aa56b2480574a0d9e22f154b2e/cbuildbot/chromeos_config_unittest.py
[modify] https://crrev.com/dfbb8fc708c340aa56b2480574a0d9e22f154b2e/cbuildbot/chromeos_config.py

Project Member

Comment 35 by bugdroid1@chromium.org, Oct 26 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/chromite/+/c1e2a790fcd7cecbc83d81c5987c9710e015e4ce

commit c1e2a790fcd7cecbc83d81c5987c9710e015e4ce
Author: Don Garrett <dgarrett@google.com>
Date: Fri Sep 30 02:16:02 2016

chromeos_config: append_useflags in official_chrome.

Switch out all templates to use append_useflags, other than firmware
templates (next CL since they cause changes) so that they can be stacked
and get consistent results.

BUG= chromium:645296 
TEST=run_tests, no config_dump.json changes.

Change-Id: I9aa3ead6ed675531dc4cb309391cbc37947714e9
Reviewed-on: https://chromium-review.googlesource.com/391186
Commit-Ready: Don Garrett <dgarrett@chromium.org>
Tested-by: Don Garrett <dgarrett@chromium.org>
Reviewed-by: Prathmesh Prabhu <pprabhu@chromium.org>

[modify] https://crrev.com/c1e2a790fcd7cecbc83d81c5987c9710e015e4ce/cbuildbot/chromeos_config.py

Project Member

Comment 36 by bugdroid1@chromium.org, Oct 29 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/chromite/+/2c450f538cef54dffd6710e13db97a6de0e2373f

commit 2c450f538cef54dffd6710e13db97a6de0e2373f
Author: Don Garrett <dgarrett@google.com>
Date: Fri Sep 30 20:06:25 2016

chromeos_config: Use append_useflag in firmware base.

All firmware builds are official builds, which set "-cros-debug". The
template firmware_base set an explicit useflag which overwrote
this. Switching the template to use append_useflags allows "-cros-debug"
to come through as expected.

This affects many builder definitions, so I asked the firmware team, and
got an answer from vapier@ that the useflag should be present. Checking
full config dumps, the changes are of the follwing pattern.

From:

asuka-firmware:
        "useflags": [
            "chrome_internal",
            "chromeless_tty"
        ],

auron-depthcharge-firmware:
        "useflags": [
            "chrome_internal",
            "chromeless_tty",
            "depthcharge"
        ],

To:

asuka-firmware:
        "useflags": [
            "-cros-debug",
            "chrome_internal",
            "chromeless_tty"
        ],

auron-depthcharge-firmware:
        "useflags": [
            "-cros-debug",
            "chrome_internal",
            "chromeless_tty",
            "depthcharge"
        ],

The config_dump.json changes show that the build configs now match their
templates, and no longer need to directly express their useflags, but
make this change a little harder to follow.

BUG= chromium:645296 
TEST=run_tests

Change-Id: I2b1ad104a45a92141554a1d903bf5cb19abcbde0
Reviewed-on: https://chromium-review.googlesource.com/391187
Commit-Ready: Don Garrett <dgarrett@chromium.org>
Tested-by: Don Garrett <dgarrett@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>

[modify] https://crrev.com/2c450f538cef54dffd6710e13db97a6de0e2373f/cbuildbot/config_dump.json
[modify] https://crrev.com/2c450f538cef54dffd6710e13db97a6de0e2373f/cbuildbot/chromeos_config.py

Project Member

Comment 37 by bugdroid1@chromium.org, Dec 2 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/chromite/+/b44bceeed5bc4e8eee8e0ffc5fb78f7f86f61254

commit b44bceeed5bc4e8eee8e0ffc5fb78f7f86f61254
Author: Don Garrett <dgarrett@google.com>
Date: Fri Oct 28 01:41:14 2016

config_lib: AddForBoards set boards value by default.

AddForBoards was requiring that a per_boards dictionary was passed in to
set the correct value for boards. Now set the boards value
automatically, though it can be overriden by per_boards, or other means.

Also, add a bunch of tests.

BUG= chromium:645296 
TEST=run_tests

Change-Id: I7efd64c05af7f666ae739adcfbdb91b55c508996
Reviewed-on: https://chromium-review.googlesource.com/411512
Commit-Ready: Don Garrett <dgarrett@chromium.org>
Tested-by: Don Garrett <dgarrett@chromium.org>
Reviewed-by: Ningning Xia <nxia@chromium.org>

[modify] https://crrev.com/b44bceeed5bc4e8eee8e0ffc5fb78f7f86f61254/lib/config_lib_unittest.py
[modify] https://crrev.com/b44bceeed5bc4e8eee8e0ffc5fb78f7f86f61254/lib/config_lib.py

Project Member

Comment 38 by bugdroid1@chromium.org, Dec 6 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/chromite/+/3104a4ae6f88ecab2d6afe25425a0af647000d87

commit 3104a4ae6f88ecab2d6afe25425a0af647000d87
Author: Don Garrett <dgarrett@google.com>
Date: Thu Oct 27 23:48:21 2016

chromeos_config: Split out many build types.

Break out Paladins, Incremtals, ReleaseAfdoTryjobs,
TotChromePfqInformational, ChromePfq and Firmware builders into their
own methods.

Also simplify CreateBoardConfigs a little.

BUG= chromium:645296 
TEST=run_tests

Change-Id: I7f6c1a645b9e5ad45af8970fe14ff686d755edd0
Reviewed-on: https://chromium-review.googlesource.com/411513
Commit-Ready: Don Garrett <dgarrett@chromium.org>
Tested-by: Don Garrett <dgarrett@chromium.org>
Reviewed-by: Ningning Xia <nxia@chromium.org>

[modify] https://crrev.com/3104a4ae6f88ecab2d6afe25425a0af647000d87/cbuildbot/chromeos_config_unittest.py
[modify] https://crrev.com/3104a4ae6f88ecab2d6afe25425a0af647000d87/cbuildbot/chromeos_config.py

Project Member

Comment 39 by bugdroid1@chromium.org, Dec 10 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/chromite/+/25cb50edabc4e43bdaad078c95723e18ab81c878

commit 25cb50edabc4e43bdaad078c95723e18ab81c878
Author: Don Garrett <dgarrett@google.com>
Date: Thu Nov 17 01:42:24 2016

chromeos_config: Pass in ge_build_config, not derived values.

Stop passing board_configs, hw_test_list, and is_release_branch into
each method. Instead, just pass in ge_build_config and let them
generate whatever values are needed. This makes the call signature
consistent, and allows that processing to be specialized to the build
method as needed.

BUG= chromium:645296 
TEST=run_tests

Change-Id: I8b9fd5b8dfc822ba95bd7f752b5738a6bd5e4db9
Reviewed-on: https://chromium-review.googlesource.com/412152
Commit-Ready: Don Garrett <dgarrett@chromium.org>
Tested-by: Don Garrett <dgarrett@chromium.org>
Reviewed-by: Don Garrett <dgarrett@chromium.org>

[modify] https://crrev.com/25cb50edabc4e43bdaad078c95723e18ab81c878/cbuildbot/chromeos_config.py

Project Member

Comment 40 by bugdroid1@chromium.org, Jan 21 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/chromite/+/7a4cd40d1f7feb739c9fa88dbed3bde9f3302889

commit 7a4cd40d1f7feb739c9fa88dbed3bde9f3302889
Author: Don Garrett <dgarrett@google.com>
Date: Thu Nov 17 02:04:02 2016

chromeos_config: Stop overriding external boards to internal.

To create external builders, we would create them as internal
builders, then convert back. Stop doing that. EXCEPT, set the use flag
"-chrome_internal". This seems to be necessary to avoid breaking
binhost_test and may or may not be needed for correct builds.

BUG= chromium:645296 
TEST=run_tests

Change-Id: If22f20af45c36ccd5337c03ba22e7641bb79634d
Reviewed-on: https://chromium-review.googlesource.com/412153
Commit-Ready: Don Garrett <dgarrett@chromium.org>
Tested-by: Don Garrett <dgarrett@chromium.org>
Reviewed-by: Prathmesh Prabhu <pprabhu@chromium.org>

[modify] https://crrev.com/7a4cd40d1f7feb739c9fa88dbed3bde9f3302889/cbuildbot/chromeos_config.py

Project Member

Comment 41 by bugdroid1@chromium.org, Jan 21 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/chromite/+/1225b30e76853bed9261e0ccc9a6ce4cda1d395f

commit 1225b30e76853bed9261e0ccc9a6ce4cda1d395f
Author: Don Garrett <dgarrett@google.com>
Date: Sat Dec 17 00:11:18 2016

chromeos_config: Move last of builders into custom methods.

Split out the last of the builder definitions into their own methods,
removing _GetConfig.

Also, rename methods to have a consistent naming scheme.

BUG= chromium:645296 
TEST=run_tests

Change-Id: I9d9ec0c90ded8e309624effebc30dc93f1b48260
Reviewed-on: https://chromium-review.googlesource.com/421274
Commit-Ready: Don Garrett <dgarrett@chromium.org>
Tested-by: Don Garrett <dgarrett@chromium.org>
Reviewed-by: Prathmesh Prabhu <pprabhu@chromium.org>

[modify] https://crrev.com/1225b30e76853bed9261e0ccc9a6ce4cda1d395f/cbuildbot/chromeos_config.py

Project Member

Comment 42 by bugdroid1@chromium.org, Mar 28 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/chromite/+/5a47ca5a4371e159f2594ef183aad26eba4884df

commit 5a47ca5a4371e159f2594ef183aad26eba4884df
Author: Don Garrett <dgarrett@google.com>
Date: Tue Mar 28 10:47:42 2017

chromeos_config: Remove unneeded beaglebone overrides.

These beaglebone overrides haven't been needed in a while, delete
them.

BUG= chromium:645296 
TEST=chromeos_config_unittest

Change-Id: Ifc3ec45fba0fd1e7246e92f3777f350ae98cd65e
Reviewed-on: https://chromium-review.googlesource.com/457125
Commit-Ready: Don Garrett <dgarrett@chromium.org>
Tested-by: Don Garrett <dgarrett@chromium.org>
Reviewed-by: Paul Hobbs <phobbs@google.com>
Reviewed-by: Don Garrett <dgarrett@chromium.org>

[modify] https://crrev.com/5a47ca5a4371e159f2594ef183aad26eba4884df/cbuildbot/chromeos_config.py

Project Member

Comment 43 by bugdroid1@chromium.org, Mar 29 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/chromite/+/58f40a5eb39067429031208f84704f2b7017c11f

commit 58f40a5eb39067429031208f84704f2b7017c11f
Author: Don Garrett <dgarrett@google.com>
Date: Wed Mar 29 01:16:31 2017

chromeos_config: Stop generating pfq builders for non-Chrome boards.

Some of our boards don't build/use Chrome at all. Stop generating PFQ
build configs for them. This configs weren't used anyway, and were
incapable of ever working.

BUG= chromium:645296 
TEST=chromeos_config_unittest

Change-Id: Ib0f649dae4015f63dd67bdbb3ba11aab455d5451
Reviewed-on: https://chromium-review.googlesource.com/457126
Commit-Queue: Don Garrett <dgarrett@chromium.org>
Tested-by: Don Garrett <dgarrett@chromium.org>
Reviewed-by: Don Garrett <dgarrett@chromium.org>

[modify] https://crrev.com/58f40a5eb39067429031208f84704f2b7017c11f/cbuildbot/config_dump.json
[modify] https://crrev.com/58f40a5eb39067429031208f84704f2b7017c11f/cbuildbot/chromeos_config.py

Project Member

Comment 44 by bugdroid1@chromium.org, Mar 29 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/chromite/+/a20ce4454a5850135ab2092118d1fdf7ff8fbbd5

commit a20ce4454a5850135ab2092118d1fdf7ff8fbbd5
Author: Don Garrett <dgarrett@google.com>
Date: Wed Mar 29 01:16:46 2017

chromeos_config: Explicitly assign slaves.

Update all of our master builders to explicitly list the slaves they
use.

Also, make it a little easier to add slaves in general.

BUG= chromium:645296 
TEST=chromeos_config_unittest

Change-Id: I4016b67c454531b8a0b422d7881632f58a38a7ea
Reviewed-on: https://chromium-review.googlesource.com/457127
Commit-Queue: Don Garrett <dgarrett@chromium.org>
Tested-by: Don Garrett <dgarrett@chromium.org>
Reviewed-by: Don Garrett <dgarrett@chromium.org>

[modify] https://crrev.com/a20ce4454a5850135ab2092118d1fdf7ff8fbbd5/cbuildbot/config_dump.json
[modify] https://crrev.com/a20ce4454a5850135ab2092118d1fdf7ff8fbbd5/lib/config_lib.py
[modify] https://crrev.com/a20ce4454a5850135ab2092118d1fdf7ff8fbbd5/cbuildbot/chromeos_config_unittest.py
[modify] https://crrev.com/a20ce4454a5850135ab2092118d1fdf7ff8fbbd5/cbuildbot/chromeos_config.py

Labels: -Type-Bug Type-Feature
Status: Fixed (was: Started)
There is room for improvement, but enough has been done that the bug isn't needed anymore.

Comment 47 by dchan@chromium.org, Jan 22 2018

Status: Archived (was: Fixed)

Sign in to add a comment