New issue
Advanced search Search tips

Issue 735720 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Aug 2017
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug

Blocking:
issue 752342



Sign in to add a comment

Create "cros trybot" command.

Project Member Reported by dgarr...@chromium.org, Jun 21 2017

Issue description

Instead of using cbuildbot to launch tryjobs, we should use a "cros tryjob" command dedicated to the purpose.

This would heavily simplify command line options for cbuildbot.
 
Status: Started (was: Untriaged)
Project Member

Comment 2 by bugdroid1@chromium.org, Jun 27 2017

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

commit 887ca9391cec34b96af520a431bea62482296925
Author: Don Garrett <dgarrett@google.com>
Date: Tue Jun 27 17:55:48 2017

remote_try: Remove direct use of options object.

Change the constructor of RemoteTryJob to accept explicit flags,
instead of a reference to the options object. This reduces the
cbuildbot coupling.

BUG= chromium:735720 
TEST=run_tests

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

[modify] https://crrev.com/887ca9391cec34b96af520a431bea62482296925/scripts/cbuildbot.py
[modify] https://crrev.com/887ca9391cec34b96af520a431bea62482296925/cbuildbot/remote_try.py
[modify] https://crrev.com/887ca9391cec34b96af520a431bea62482296925/cbuildbot/remote_try_unittest.py

Blocking: 752342
Project Member

Comment 4 by bugdroid1@chromium.org, Aug 4 2017

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

commit 7d7c2da8a2ce6f0108e5e5b3f36c89ee532fb7d5
Author: Don Garrett <dgarrett@google.com>
Date: Fri Aug 04 00:10:59 2017

cros tryjob: Create a new command.

This is intended as an evnentual replacement for "cbuildbot --remote
<args>".

Does not (yet) support local changes, or local tryjobs. Also needs
improved help messages, and improved unittests.

BUG= chromium:735720 
TEST=run_tests + cros tryjob -g 544630 kevin-compile-only-pre-cq

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

[add] https://crrev.com/7d7c2da8a2ce6f0108e5e5b3f36c89ee532fb7d5/cli/cros/cros_tryjob_unittest.py
[add] https://crrev.com/7d7c2da8a2ce6f0108e5e5b3f36c89ee532fb7d5/cli/cros/cros_tryjob_unittest
[add] https://crrev.com/7d7c2da8a2ce6f0108e5e5b3f36c89ee532fb7d5/cli/cros/cros_tryjob.py

Project Member

Comment 5 by bugdroid1@chromium.org, Aug 6 2017

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

commit 9f36a55ac1e22b34280b433d20e45f25747f44ca
Author: Don Garrett <dgarrett@google.com>
Date: Sun Aug 06 05:07:50 2017

cros tryjob: Add support for local patches.

Add support -p, --local-patches, the same as cbuidlbot. This is a
simpler change than I thought it would be.

BUG= chromium:735720 
TEST=run_tests + cros tryjob -p chromiumos/chromite kevin-compile-only-pre-cq

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

[modify] https://crrev.com/9f36a55ac1e22b34280b433d20e45f25747f44ca/cli/cros/cros_tryjob.py

Project Member

Comment 6 by bugdroid1@chromium.org, Aug 6 2017

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

commit 135a1eec9c9ed085384fbf3a9276c675be2ddbe1
Author: Don Garrett <dgarrett@google.com>
Date: Sun Aug 06 05:07:51 2017

cros tryjob: Add support for local tryjobs.

Add for --local tryjobs. These are slightly different from local
tryjobs used to be, because they go through cbuildbot_launcher,
like what is used on builders.

BUG= chromium:735720 
TEST=run_tests
     cros tryjob --local -g X lumpy-compile-only-pre-cq
     cros tryjob --local --production lumpy-compile-only-pre-cq
     Hand examined cbuildbot_launch and cbuildbot command lines.

Change-Id: Icba47b24f61fe27b33f5f9edb92fdd240925683a
Reviewed-on: https://chromium-review.googlesource.com/602516
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/135a1eec9c9ed085384fbf3a9276c675be2ddbe1/cli/cros/cros_tryjob.py

Project Member

Comment 7 by bugdroid1@chromium.org, Aug 18 2017

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

commit 05b6668407bdb2caa2f5de67f03d6c8be44e546b
Author: Don Garrett <dgarrett@google.com>
Date: Fri Aug 18 03:41:56 2017

cros tryjob: Add additional build options.

Add a number of build config modification command line options from
cbuildbot into the options here. Start using append_option and
append_option_value to make handling simpler.

Revamp unittests a bit.

BUG= chromium:735720 
TEST=unittests + running tryjobs.

Change-Id: I258001d5ac7aae06ecc42f0fb2f7a651b825ea81
Reviewed-on: https://chromium-review.googlesource.com/618510
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/05b6668407bdb2caa2f5de67f03d6c8be44e546b/cli/cros/cros_tryjob_unittest.py
[modify] https://crrev.com/05b6668407bdb2caa2f5de67f03d6c8be44e546b/cli/cros/cros_tryjob.py

Project Member

Comment 8 by bugdroid1@chromium.org, Aug 22 2017

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

commit 3340cf5b42f0bc69866feaa49eb1c74656ce683e
Author: Don Garrett <dgarrett@google.com>
Date: Tue Aug 22 02:53:03 2017

cros tryjob: Change --passthrough to --pass-through.

This also changes the behavior to be more similar to cbuildbot style
passthrough support, which makes the command line parser simpler, and
more predictable.

CQ-DEPEND=CL:619616
BUG= chromium:735720 
TEST=unittests

Change-Id: If1595b5546fc6c1da2e3480215994ddbe9c6828c
Reviewed-on: https://chromium-review.googlesource.com/621271
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/3340cf5b42f0bc69866feaa49eb1c74656ce683e/cli/cros/cros_tryjob_unittest.py
[modify] https://crrev.com/3340cf5b42f0bc69866feaa49eb1c74656ce683e/cli/cros/cros_tryjob.py

Project Member

Comment 9 by bugdroid1@chromium.org, Aug 22 2017

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

commit 806fb5c461ea41906ec75b9fb9dd7b886a775c62
Author: Don Garrett <dgarrett@google.com>
Date: Tue Aug 22 05:03:55 2017

remote_try: Select 'etc' build column for unkown build configs.

When scheduling a tryjob for a build config name that isn't known
(perhaps because it only exists on a branch), don't crash, and use
the builder column of 'etc'.

BUG= chromium:735720 
TEST="cros tryjob foo"

Change-Id: I33ec5ce0323e837a87d4b914f11f0d9b46079ed9
Reviewed-on: https://chromium-review.googlesource.com/624672
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/806fb5c461ea41906ec75b9fb9dd7b886a775c62/cbuildbot/remote_try.py

Project Member

Comment 10 by bugdroid1@chromium.org, Aug 23 2017

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

commit 97dc2a5efd0d207aa30603803c2bfeed4f6bffe0
Author: Don Garrett <dgarrett@google.com>
Date: Wed Aug 23 02:05:12 2017

cros tryjob: Confirm unknown build configs.

cros tryjob now checks that build configs are valid before scheduling
them.

Unlike cbuildbot, it allows unknown configs to be scheduled, if the
user confirms. This allows configs that only exist on branches (or
other special cases) to be run. There have been requests for this on
cbuildbot for a while.

BUG= chromium:735720 
TEST=cros tryjob foo lumpy-compile-only-pre-cq

Change-Id: Ic9b2a87fd5f2c9515045f6b9766a0feb7adcc359
Reviewed-on: https://chromium-review.googlesource.com/624673
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/97dc2a5efd0d207aa30603803c2bfeed4f6bffe0/cli/cros/cros_tryjob_unittest.py
[modify] https://crrev.com/97dc2a5efd0d207aa30603803c2bfeed4f6bffe0/cli/cros/cros_tryjob.py

Project Member

Comment 11 by bugdroid1@chromium.org, Aug 23 2017

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

commit 313d5c5d012ad363bb1b2c958a89eda9e470ce0c
Author: Don Garrett <dgarrett@google.com>
Date: Wed Aug 23 19:19:10 2017

cros tryjob: Add --timeout and --sanity-check-build options.

Add passthrough options used by the PreCQ launcher when it schedules
PreCQ builds. This is preperation for switching the PreCQ launcher to
use cros tryjob for launching PreCQ jobs.

BUG= chromium:735720 
TEST=Unittests

Change-Id: I176e668e929dfe322973fba991a34a73bfa2c02d
Reviewed-on: https://chromium-review.googlesource.com/627111
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/313d5c5d012ad363bb1b2c958a89eda9e470ce0c/cli/cros/cros_tryjob_unittest.py
[modify] https://crrev.com/313d5c5d012ad363bb1b2c958a89eda9e470ce0c/cli/cros/cros_tryjob.py

Project Member

Comment 12 by bugdroid1@chromium.org, Aug 23 2017

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

commit f56c0abaeaa759a40dfe9c6ca6e7a8e4e26a370a
Author: Don Garrett <dgarrett@google.com>
Date: Wed Aug 23 22:26:46 2017

PreCQLauncher: cbuildbot --remote -> cros tryjob.

The PreCQLauncher shells out to start tryjobs. Switch it to the new
tryjob command.

BUG= chromium:735720 
TEST=run_tests

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

[modify] https://crrev.com/f56c0abaeaa759a40dfe9c6ca6e7a8e4e26a370a/cbuildbot/stages/sync_stages.py

Status: Fixed (was: Started)
Project Member

Comment 14 by bugdroid1@chromium.org, Nov 15 2017

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

commit 5e948826b354104b8fe792eaf7eda78f90e9efa3
Author: Mike Frysinger <vapier@chromium.org>
Date: Wed Nov 15 00:03:20 2017

cros tryjob: restore metavar

This was commented out because the internal argparse logic barfs on
certain formatted names.  Tweak the form to workaround the bug.

BUG= chromium:735720 
TEST=--help output looks OK still

Change-Id: I096f99ad120b854a640536e646fc821e9c68f07f
Reviewed-on: https://chromium-review.googlesource.com/768627
Commit-Ready: Mike Frysinger <vapier@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>

[modify] https://crrev.com/5e948826b354104b8fe792eaf7eda78f90e9efa3/cli/cros/cros_tryjob.py

Sign in to add a comment