New issue
Advanced search Search tips

Issue 887130 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Dec 19
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug

Blocked on:
issue 886944



Sign in to add a comment

Create workspace "buildspec" builders.

Project Member Reported by dgarr...@chromium.org, Sep 19

Issue description

As a very rough replacement for the "preflight" builders currently used for firmware and factory build branches....

We need a new class of workspace builder that uprevs and publishes new ebuild versions, increments the ChromeOS version, and publishes a matching buildspec.

Finally, it should able able to launch child builders against the new buildspec.
 
Summary: Create workspace "buildspec" builders. (was: Create workspace "buildspace" builders.)
Blockedon: 886944
Setting up builders that create buildspecs should be easy.

Launching workspace builder against those buildspecs is hard, until we revamp how workspace builders sync.  https://crbug.com/886944 
Project Member

Comment 3 by bugdroid1@chromium.org, Sep 28

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

commit 8241a7599974ed98de3e87c521b3a85047f614d3
Author: Don Garrett <dgarrett@google.com>
Date: Fri Sep 28 02:45:27 2018

Create a "buildspec" builder.

Define a new builder class that uprevs ebuilds and defines a new
buildspec. It will be expected to schedule slaves against the new
buildspec, but doesn't do so yet.

BUG= chromium:887130 
TEST=run_tests

Change-Id: I9fb7bdc0ffff2eac1475c1184b33781e61e07f26
Reviewed-on: https://chromium-review.googlesource.com/1244696
Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com>
Tested-by: Don Garrett <dgarrett@chromium.org>
Reviewed-by: Don Garrett <dgarrett@chromium.org>

[modify] https://crrev.com/8241a7599974ed98de3e87c521b3a85047f614d3/config/chromeos_config.py
[modify] https://crrev.com/8241a7599974ed98de3e87c521b3a85047f614d3/cbuildbot/stages/scheduler_stages.py
[rename] https://crrev.com/8241a7599974ed98de3e87c521b3a85047f614d3/cbuildbot/builders/workspace_builders.py
[modify] https://crrev.com/8241a7599974ed98de3e87c521b3a85047f614d3/config/config_dump.json

Project Member

Comment 4 by bugdroid1@chromium.org, Nov 16

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

commit 0f2e056c7541b3baf0e3d0961482e06d74390651
Author: Don Garrett <dgarrett@google.com>
Date: Fri Nov 16 13:01:37 2018

workspace_builders: Refactor inheritance.

Make FirmwareBranchBuilder, and FactoryBranchBuilder inhert from
BuildSpecBuilder, and share common stage invocations.

BUG= chromium:887130 
TEST=run_tests

Change-Id: Ieb1e31ab3ad59ad3c0dd985756caf2dde9cc7c47
Reviewed-on: https://chromium-review.googlesource.com/1336695
Commit-Ready: Don Garrett <dgarrett@chromium.org>
Tested-by: Don Garrett <dgarrett@chromium.org>
Reviewed-by: Alec Thilenius <athilenius@google.com>
Reviewed-by: Alex Klein <saklein@chromium.org>

[modify] https://crrev.com/0f2e056c7541b3baf0e3d0961482e06d74390651/cbuildbot/builders/workspace_builders.py

Project Member

Comment 5 by bugdroid1@chromium.org, Nov 16

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

commit ed79628f6329eda2c31d2161956305d84d21b054
Author: Don Garrett <dgarrett@google.com>
Date: Fri Nov 16 13:01:37 2018

workspace_stages: Create dual sync stage.

Create a new sync stage that coordinates both the Infra and the
Workspace checkouts for workspace builds (firmwarebranch,
factorybranch, etc).

It understands default branches, and the "--version" command line
argument. Later CLs should add support for cherry-picking in patches
for testing.

BUG= chromium:887130 
TEST=run_tests
     cros tryjob --cbuildbot prototype-factorybranch-tryjob
         --pass-through="--workspace=<wdir>"
     cros tryjob --cbuildbot prototype-factorybranch-tryjob
         --pass-through="--workspace=<wdir>"
	 --pass-through="--version=10715.33.0"

Change-Id: I031d14da4266e66343c384a2e82cad3464dca9d1
Reviewed-on: https://chromium-review.googlesource.com/1336696
Commit-Ready: Don Garrett <dgarrett@chromium.org>
Tested-by: Don Garrett <dgarrett@chromium.org>
Reviewed-by: Alex Klein <saklein@chromium.org>

[modify] https://crrev.com/ed79628f6329eda2c31d2161956305d84d21b054/cbuildbot/stages/workspace_stages.py
[modify] https://crrev.com/ed79628f6329eda2c31d2161956305d84d21b054/cbuildbot/builders/workspace_builders.py
[modify] https://crrev.com/ed79628f6329eda2c31d2161956305d84d21b054/lib/config_lib.py

Project Member

Comment 6 by bugdroid1@chromium.org, Nov 16

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

commit a64e6d552792c6a36c7581003d44580ab7f7e8db
Author: Don Garrett <dgarrett@chromium.org>
Date: Fri Nov 16 22:30:06 2018

Revert "workspace_stages: Create dual sync stage."

This reverts commit ed79628f6329eda2c31d2161956305d84d21b054.

Reason for revert:  https://crbug.com/906241 

Original change's description:
> workspace_stages: Create dual sync stage.
> 
> Create a new sync stage that coordinates both the Infra and the
> Workspace checkouts for workspace builds (firmwarebranch,
> factorybranch, etc).
> 
> It understands default branches, and the "--version" command line
> argument. Later CLs should add support for cherry-picking in patches
> for testing.
> 
> BUG= chromium:887130 
> TEST=run_tests
>      cros tryjob --cbuildbot prototype-factorybranch-tryjob
>          --pass-through="--workspace=<wdir>"
>      cros tryjob --cbuildbot prototype-factorybranch-tryjob
>          --pass-through="--workspace=<wdir>"
> 	 --pass-through="--version=10715.33.0"
> 
> Change-Id: I031d14da4266e66343c384a2e82cad3464dca9d1
> Reviewed-on: https://chromium-review.googlesource.com/1336696
> Commit-Ready: Don Garrett <dgarrett@chromium.org>
> Tested-by: Don Garrett <dgarrett@chromium.org>
> Reviewed-by: Alex Klein <saklein@chromium.org>

Bug:  chromium:887130 
Change-Id: I7e819146f9848b678ef17186e3b6444613178aa1
Reviewed-on: https://chromium-review.googlesource.com/c/1340649
Reviewed-by: Don Garrett <dgarrett@chromium.org>
Commit-Queue: Don Garrett <dgarrett@chromium.org>
Tested-by: Don Garrett <dgarrett@chromium.org>

[modify] https://crrev.com/a64e6d552792c6a36c7581003d44580ab7f7e8db/cbuildbot/stages/workspace_stages.py
[modify] https://crrev.com/a64e6d552792c6a36c7581003d44580ab7f7e8db/cbuildbot/builders/workspace_builders.py
[modify] https://crrev.com/a64e6d552792c6a36c7581003d44580ab7f7e8db/lib/config_lib.py

Project Member

Comment 7 by bugdroid1@chromium.org, Nov 16

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

commit 0993eac0a83539043a6b3170e54ae694e6a2ed31
Author: Don Garrett <dgarrett@chromium.org>
Date: Fri Nov 16 22:30:46 2018

Revert "workspace_builders: Refactor inheritance."

This reverts commit 0f2e056c7541b3baf0e3d0961482e06d74390651.

Reason for revert:  https://crbug.com/906241 

Original change's description:
> workspace_builders: Refactor inheritance.
> 
> Make FirmwareBranchBuilder, and FactoryBranchBuilder inhert from
> BuildSpecBuilder, and share common stage invocations.
> 
> BUG= chromium:887130 
> TEST=run_tests
> 
> Change-Id: Ieb1e31ab3ad59ad3c0dd985756caf2dde9cc7c47
> Reviewed-on: https://chromium-review.googlesource.com/1336695
> Commit-Ready: Don Garrett <dgarrett@chromium.org>
> Tested-by: Don Garrett <dgarrett@chromium.org>
> Reviewed-by: Alec Thilenius <athilenius@google.com>
> Reviewed-by: Alex Klein <saklein@chromium.org>

Bug:  chromium:887130 
Change-Id: Icc8349e0d4afe40301905eb0fba4bd7498600fd9
Reviewed-on: https://chromium-review.googlesource.com/c/1340650
Reviewed-by: Don Garrett <dgarrett@chromium.org>
Commit-Queue: Don Garrett <dgarrett@chromium.org>
Tested-by: Don Garrett <dgarrett@chromium.org>

[modify] https://crrev.com/0993eac0a83539043a6b3170e54ae694e6a2ed31/cbuildbot/builders/workspace_builders.py

Project Member

Comment 8 by bugdroid1@chromium.org, Dec 4

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

commit e6ab3dbbd3f108eb80eeb5f2f525f54b3e20d73c
Author: Don Garrett <dgarrett@google.com>
Date: Tue Dec 04 23:23:38 2018

workspace_builders: Refactor inheritance.

Make FirmwareBranchBuilder, and FactoryBranchBuilder inhert from
BuildSpecBuilder, and share common stage invocations.

BUG= chromium:887130 
TEST=run_tests

Change-Id: I9d5789fae9785a58a97b2ed143cec141892b92cf
Reviewed-on: https://chromium-review.googlesource.com/c/1359020
Commit-Queue: Don Garrett <dgarrett@chromium.org>
Tested-by: Don Garrett <dgarrett@chromium.org>
Reviewed-by: David Burger <dburger@chromium.org>
Reviewed-by: Alec Thilenius <athilenius@google.com>

[modify] https://crrev.com/e6ab3dbbd3f108eb80eeb5f2f525f54b3e20d73c/cbuildbot/builders/workspace_builders.py

Project Member

Comment 9 by bugdroid1@chromium.org, Dec 5

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

commit dd96c650814da9aa5b1f8b6bef26f1f29c9f28d7
Author: Don Garrett <dgarrett@google.com>
Date: Wed Dec 05 21:13:33 2018

workspace_stages: Create dual sync stage.

Create a new sync stage that coordinates both the Infra and the
Workspace checkouts for workspace builds (firmwarebranch,
factorybranch, etc).

It understands default branches, and the "--version" command line
argument. Later CLs should add support for cherry-picking in patches
for testing.

BUG= chromium:887130 
TEST=run_tests
     cros tryjob --cbuildbot prototype-factorybranch-tryjob
         --pass-through="--workspace=<wdir>"
     cros tryjob --cbuildbot prototype-factorybranch-tryjob
         --pass-through="--workspace=<wdir>"
	 --pass-through="--version=10715.33.0"

Change-Id: I176a5c16dd118b01ed29a1e0842435c2626b4275
Reviewed-on: https://chromium-review.googlesource.com/c/1359115
Tested-by: Don Garrett <dgarrett@chromium.org>
Reviewed-by: Don Garrett <dgarrett@chromium.org>
Reviewed-by: Lann Martin <lannm@chromium.org>
Commit-Queue: Don Garrett <dgarrett@chromium.org>

[modify] https://crrev.com/dd96c650814da9aa5b1f8b6bef26f1f29c9f28d7/cbuildbot/stages/workspace_stages.py
[modify] https://crrev.com/dd96c650814da9aa5b1f8b6bef26f1f29c9f28d7/cbuildbot/builders/workspace_builders.py

Project Member

Comment 10 by bugdroid1@chromium.org, Dec 5

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

commit 474edce4406d853d1b78d673a9408bf658ff6ceb
Author: Don Garrett <dgarrett@google.com>
Date: Wed Dec 05 23:21:54 2018

buildspec: Schedule child builds.

Create the new WorkspaceScheduleChildrenStage, and have
BuildSpecBuilder run it.

Rework the FactoryBranchBuilder to be suitable as a buildspec child
build, while leaving firmwarebranch alone. Firmware is in production,
but factory isn't.

BUG= chromium:887130 
TEST=run_tests

Change-Id: I88c7324cf9d352e11ab35db01f2fa09b90d22973
Reviewed-on: https://chromium-review.googlesource.com/c/1360232
Tested-by: Don Garrett <dgarrett@chromium.org>
Reviewed-by: Lann Martin <lannm@chromium.org>
Reviewed-by: Alec Thilenius <athilenius@google.com>
Trybot-Ready: Don Garrett <dgarrett@chromium.org>
Commit-Queue: Don Garrett <dgarrett@chromium.org>

[modify] https://crrev.com/474edce4406d853d1b78d673a9408bf658ff6ceb/cbuildbot/stages/workspace_stages.py
[modify] https://crrev.com/474edce4406d853d1b78d673a9408bf658ff6ceb/cbuildbot/builders/workspace_builders.py

Project Member

Comment 11 by bugdroid1@chromium.org, Dec 6

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

commit 0979b51ccfc5d402f65df6846ea4011b1d31496c
Author: Don Garrett <dgarrett@google.com>
Date: Thu Dec 06 19:27:36 2018

chromeos_config: No vm/hwtests on postsubmit builders.

Some postsubmit builders were running tests they shouldn't have, so
turn them off.

BUG= chromium:887130 
TEST=chromeos_config_unittest

Change-Id: Ieeff36de957bee4585fae8a8d2b82aebb2a2c22b
Reviewed-on: https://chromium-review.googlesource.com/1366215
Commit-Ready: Don Garrett <dgarrett@chromium.org>
Tested-by: Don Garrett <dgarrett@chromium.org>
Reviewed-by: Yaakov Shaul <yshaul@chromium.org>
Reviewed-by: Don Garrett <dgarrett@chromium.org>

[modify] https://crrev.com/0979b51ccfc5d402f65df6846ea4011b1d31496c/config/config_dump.json
[modify] https://crrev.com/0979b51ccfc5d402f65df6846ea4011b1d31496c/config/chromeos_config_test.py

Project Member

Comment 12 by bugdroid1@chromium.org, Dec 7

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

commit d1a238cd2311e1172dcd55fb5548dd0a1ce75a9c
Author: Don Garrett <dgarrett@google.com>
Date: Fri Dec 07 06:06:44 2018

chromeos_config: Create prototype-buildspec buildspec.

Create a prototype buildspec builder, and adjust unittests to accept
this type of master builder.

BUG= chromium:887130 
TEST=run_tests

Change-Id: I79b701c269649a92faa5e6f316974a4ac983421a
Reviewed-on: https://chromium-review.googlesource.com/1361677
Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com>
Tested-by: Don Garrett <dgarrett@chromium.org>
Reviewed-by: Lann Martin <lannm@chromium.org>
Reviewed-by: Don Garrett <dgarrett@chromium.org>

[modify] https://crrev.com/d1a238cd2311e1172dcd55fb5548dd0a1ce75a9c/config/chromeos_config.py
[modify] https://crrev.com/d1a238cd2311e1172dcd55fb5548dd0a1ce75a9c/config/waterfall_layout_dump.txt
[modify] https://crrev.com/d1a238cd2311e1172dcd55fb5548dd0a1ce75a9c/config/config_dump.json
[modify] https://crrev.com/d1a238cd2311e1172dcd55fb5548dd0a1ce75a9c/config/chromeos_config_unittest.py
[modify] https://crrev.com/d1a238cd2311e1172dcd55fb5548dd0a1ce75a9c/lib/config_lib.py

Project Member

Comment 13 by bugdroid1@chromium.org, Dec 18

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

commit ab39ef54772ec95f2a731bde066e343331f2c179
Author: Don Garrett <dgarrett@google.com>
Date: Tue Dec 18 08:42:50 2018

chromeos_config: Stop generating prebuilts from paladins.

Stop generating internal or external binary prebuilts on any paladin
builder. We are depending on the postsubmit builders instead.

BUG= chromium:887130 
TEST=run_tests

Change-Id: I7b6c9a82ea8e2d1a8f800b510f0de288fcadbf63
Reviewed-on: https://chromium-review.googlesource.com/1368384
Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com>
Tested-by: Don Garrett <dgarrett@chromium.org>
Reviewed-by: Don Garrett <dgarrett@chromium.org>

[modify] https://crrev.com/ab39ef54772ec95f2a731bde066e343331f2c179/config/chromeos_config.py
[modify] https://crrev.com/ab39ef54772ec95f2a731bde066e343331f2c179/cbuildbot/prebuilts_unittest.py
[modify] https://crrev.com/ab39ef54772ec95f2a731bde066e343331f2c179/config/config_dump.json
[modify] https://crrev.com/ab39ef54772ec95f2a731bde066e343331f2c179/config/chromeos_config_unittest.py

Project Member

Comment 14 by bugdroid1@chromium.org, Dec 19

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

commit 5e7feee9efd2ad95aaa695d94f100188b9f7f469
Author: Don Garrett <dgarrett@google.com>
Date: Wed Dec 19 05:33:23 2018

report_stages: Stop enforcing parent/child "versions".

This sanity check isn't very relevant for buildspec based builders,
and breaks them, so remove it.

BUG= chromium:887130 
TEST=run_tests

Change-Id: If7e18d81bef5303e909f3aabbe20c532cfdefdfb
Reviewed-on: https://chromium-review.googlesource.com/1381791
Commit-Ready: Don Garrett <dgarrett@chromium.org>
Tested-by: Don Garrett <dgarrett@chromium.org>
Reviewed-by: Lann Martin <lannm@chromium.org>

[modify] https://crrev.com/5e7feee9efd2ad95aaa695d94f100188b9f7f469/cbuildbot/stages/report_stages_unittest.py
[modify] https://crrev.com/5e7feee9efd2ad95aaa695d94f100188b9f7f469/cbuildbot/stages/report_stages.py

Project Member

Comment 15 by bugdroid1@chromium.org, Dec 19

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

commit 2b49b1ff9d1d00fbfcb3b719337d6db5fef7bf93
Author: Don Garrett <dgarrett@google.com>
Date: Wed Dec 19 18:47:41 2018

chromeos_config: Create buildspec builders for firmware branches.

Split apart our firmwarebranch builders, so that they only build a
single board at a time, with buildspec builders keeping them in sync.

However, the old firmwarebranch builders will be left behind, and the
new buildspec builders will not yet be scheduled. This allows
buildspec builders to be heavily tested with production builds.

BUG= chromium:887130 
TEST=chromeos_config_unittest

Change-Id: I121e70ffd3a915668aabf485e181b37e5abd923b
Reviewed-on: https://chromium-review.googlesource.com/1382940
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/2b49b1ff9d1d00fbfcb3b719337d6db5fef7bf93/config/chromeos_config.py
[modify] https://crrev.com/2b49b1ff9d1d00fbfcb3b719337d6db5fef7bf93/config/waterfall_layout_dump.txt
[modify] https://crrev.com/2b49b1ff9d1d00fbfcb3b719337d6db5fef7bf93/config/config_dump.json

Woohoo!

Sign in to add a comment