New issue
Advanced search Search tips

Issue 591172 link

Starred by 1 user

Issue metadata

Status: WontFix
Owner:
Closed: Jun 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug

Blocked on:
issue 604099

Blocking:
issue 584077



Sign in to add a comment

try recipe changes across repos

Project Member Reported by martiniss@chromium.org, Mar 1 2016

Issue description

It should be possible to try recipe changes on more than the initial repository you're affecting. For example, if you have a change to depot_tools, you should be able to see how this would affect build, and eventually chromium. 

The interface would be the following. You pass in a list of Rietveld issue numbers, and the tool downloads your patches, applies them to the projects you care about, and then runs the tests on all affected repos, reporting any errors in any of the repositories. 

I've started work on this; I'm waiting for code review for a couple patches to the bot_update module, but once those land I should be able to get something running.
 
Project Member

Comment 1 by bugdroid1@chromium.org, Mar 16 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/tools/depot_tools.git/+/21217f42dfa510ec0457e5e74a206b389f7fc534

commit 21217f42dfa510ec0457e5e74a206b389f7fc534
Author: martiniss@chromium.org <martiniss@chromium.org>
Date: Wed Mar 16 22:21:52 2016

Convert the bot_update module to use properties

R=iannucci@chromium.org
BUG= 591172 

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@299329 0039d316-1c4b-4281-b951-d872f2087c98

[modify] https://crrev.com/21217f42dfa510ec0457e5e74a206b389f7fc534/recipe_modules/bot_update/__init__.py
[modify] https://crrev.com/21217f42dfa510ec0457e5e74a206b389f7fc534/recipe_modules/bot_update/api.py

Project Member

Comment 2 by bugdroid1@chromium.org, Mar 16 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/tools/depot_tools.git/+/29c3b34610a0f0fd0bb299e21e7cd703ff6e74f6

commit 29c3b34610a0f0fd0bb299e21e7cd703ff6e74f6
Author: martiniss@chromium.org <martiniss@chromium.org>
Date: Wed Mar 16 23:21:22 2016

bot_update: Rewrite to use properties, and add override options for patches.

Depends on https://codereview.chromium.org/1755593003

BUG= 591172 

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@299332 0039d316-1c4b-4281-b951-d872f2087c98

[modify] https://crrev.com/29c3b34610a0f0fd0bb299e21e7cd703ff6e74f6/recipe_modules/bot_update/api.py

Project Member

Comment 4 by bugdroid1@chromium.org, Apr 8 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/tools/build.git/+/b8cd92c6ea8655c642f7d360f45af26ee34ba710

commit b8cd92c6ea8655c642f7d360f45af26ee34ba710
Author: martiniss@chromium.org <martiniss@chromium.org>
Date: Fri Apr 08 02:56:27 2016

recipe_roll_tryjob: Add service_account argument.

R=estaab
BUG= 591172 

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/build@299787 0039d316-1c4b-4281-b951-d872f2087c98

[modify] https://crrev.com/b8cd92c6ea8655c642f7d360f45af26ee34ba710/scripts/slave/recipes/infra/recipe_roll_tryjob.py

Project Member

Comment 5 by bugdroid1@chromium.org, Apr 8 2016

The following revision refers to this bug:
  https://chrome-internal.googlesource.com/infradata/master-manager.git/+/8b5e467e6114b547163ff12fcf6f25708d6fd966

commit 8b5e467e6114b547163ff12fcf6f25708d6fd966
Author: martiniss <martiniss@google.com>
Date: Fri Apr 08 03:15:48 2016

Project Member

Comment 6 by bugdroid1@chromium.org, Apr 15 2016

The following revision refers to this bug:
  http://goto.ext.google.com/viewvc/chrome-internal?view=rev&revision=86622

------------------------------------------------------------------
r86622 | martiniss@google.com | 2016-04-15T02:23:30.940713Z

-----------------------------------------------------------------
Project Member

Comment 7 by bugdroid1@chromium.org, Apr 15 2016

The following revision refers to this bug:
  https://chrome-internal.googlesource.com/infradata/master-manager.git/+/d542640d595081f0ff4b094c73514e1ebebf6dbd

commit d542640d595081f0ff4b094c73514e1ebebf6dbd
Author: martiniss <martiniss@google.com>
Date: Fri Apr 15 02:25:58 2016

Ok!

The trybots are live. See https://codereview.chromium.org/1874563004 for an example CL. This gets tried across all externally visible luci-config projects in https://build.chromium.org/p/tryserver.infra/builders/Recipe%20Roll%20Downstream%20Tester/builds/361 and all internally visible luci-config projects in https://uberchromegw.corp.google.com/i/internal.infra.try/builders/build-internal-recipe-downstream-tryjob/builds/262

This particular CL forces a breaking change downstream, which the tryjob detects. Hooray!

I talked to estaab today and we thought of a couple things we need moving forward:

* A CL tag which denotes other CLs to care about (allow repeated elements in it probably)
* Something to autogenerate non-trivial expectation changes for the author; the tryjob can do this?
* Instructions in the tryjob results about what to do

The auto generating might be a lower priority thing, but we might want it before we put recipes in repos.
Blockedon: 604099
> A CL tag which denotes other CLs to care about (allow repeated elements in it probably)

Sorry, didn't see this earlier. I recommend that a) call it footer b) use footer notation b) look at what Gerrit calls topic.

> Something to autogenerate non-trivial expectation changes for the author; the tryjob can do this?

How about a tryjob uploads a CL for the author? :) I actually really like this idea.
sorry, please ignore   "b) look at what Gerrit calls topic." above.
Components: Infra>Platform>Recipes
Labels: -Infra-Recipes
Project Member

Comment 13 by bugdroid1@chromium.org, Apr 27 2016

The following revision refers to this bug:
  https://chrome-internal.googlesource.com/infra/infra_internal.git/+/8cd88d653599ccd627bb012e2e78e0be9807da8e

commit 8cd88d653599ccd627bb012e2e78e0be9807da8e
Author: tandrii <tandrii@google.com>
Date: Wed Apr 27 15:21:24 2016

Project Member

Comment 14 by bugdroid1@chromium.org, Apr 30 2016

The following revision refers to this bug:
  https://chrome-internal.googlesource.com/infra/infra_internal.git/+/ba5845c84239f140e36ac48045288bbcb6bbb68f

commit ba5845c84239f140e36ac48045288bbcb6bbb68f
Author: tandrii <tandrii@google.com>
Date: Sat Apr 30 17:03:41 2016

Project Member

Comment 15 by bugdroid1@chromium.org, May 23 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/tools/depot_tools.git/+/456ca7f0c2a5692a517418343f40bedb151d2a75

commit 456ca7f0c2a5692a517418343f40bedb151d2a75
Author: martiniss@chromium.org <martiniss@chromium.org>
Date: Mon May 23 21:33:28 2016

tryserver recipe_module: Add get_tags.

Lets you get CL tags for a given CL.

BUG= 591172 

Review-Url: https://codereview.chromium.org/1915833003

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@300658 0039d316-1c4b-4281-b951-d872f2087c98

[modify] https://crrev.com/456ca7f0c2a5692a517418343f40bedb151d2a75/git_footers.py
[add] https://crrev.com/456ca7f0c2a5692a517418343f40bedb151d2a75/recipe_modules/depot_tools/example.expected/basic.json
[add] https://crrev.com/456ca7f0c2a5692a517418343f40bedb151d2a75/recipe_modules/depot_tools/example.expected/win.json
[add] https://crrev.com/456ca7f0c2a5692a517418343f40bedb151d2a75/recipe_modules/depot_tools/example.py
[modify] https://crrev.com/456ca7f0c2a5692a517418343f40bedb151d2a75/recipe_modules/git_cl/api.py
[modify] https://crrev.com/456ca7f0c2a5692a517418343f40bedb151d2a75/recipe_modules/git_cl/example.expected/basic.json
[modify] https://crrev.com/456ca7f0c2a5692a517418343f40bedb151d2a75/recipe_modules/git_cl/example.py
[modify] https://crrev.com/456ca7f0c2a5692a517418343f40bedb151d2a75/recipe_modules/tryserver/__init__.py
[modify] https://crrev.com/456ca7f0c2a5692a517418343f40bedb151d2a75/recipe_modules/tryserver/api.py
[add] https://crrev.com/456ca7f0c2a5692a517418343f40bedb151d2a75/recipe_modules/tryserver/example.expected/basic_tags.json
[modify] https://crrev.com/456ca7f0c2a5692a517418343f40bedb151d2a75/recipe_modules/tryserver/example.expected/with_rietveld_patch.json
[modify] https://crrev.com/456ca7f0c2a5692a517418343f40bedb151d2a75/recipe_modules/tryserver/example.expected/with_rietveld_patch_new.json
[modify] https://crrev.com/456ca7f0c2a5692a517418343f40bedb151d2a75/recipe_modules/tryserver/example.py
[modify] https://crrev.com/456ca7f0c2a5692a517418343f40bedb151d2a75/tests/gclient_test.py
[modify] https://crrev.com/456ca7f0c2a5692a517418343f40bedb151d2a75/tests/git_footers_test.py

Project Member

Comment 16 by bugdroid1@chromium.org, May 23 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/tools/build.git/+/7888d5ae1e4f19b5b744d0907d55774daf968ee3

commit 7888d5ae1e4f19b5b744d0907d55774daf968ee3
Author: recipe-roller <recipe-roller@chromium.org>
Date: Mon May 23 21:47:11 2016

Roll recipe dependencies (trivial).

This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).

More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug
(or complain)

depot_tools:
  https://crrev.com/456ca7f0c2a5692a517418343f40bedb151d2a75 tryserver recipe_module: Add get_tags. (martiniss@chromium.org)

R=martiniss@chromium.org
BUG= 591172 

TBR=martiniss@chromium.org,phajdan.jr@chromium.org

Review-Url: https://codereview.chromium.org/2000343002

[modify] https://crrev.com/7888d5ae1e4f19b5b744d0907d55774daf968ee3/infra/config/recipes.cfg

Project Member

Comment 17 by bugdroid1@chromium.org, May 25 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/tools/build.git/+/f106ee6ee4e976af0be9823a1ad0c22a4c3b598f

commit f106ee6ee4e976af0be9823a1ad0c22a4c3b598f
Author: martiniss <martiniss@chromium.org>
Date: Wed May 25 18:02:59 2016

recipe_tryjob: Allow test bypass.

This allows recipe authors to cause this tryjob to turn green by adding the "Recipe-Tryjob-Bypass-Reason" git footer to their CL.

BUG= 591172 

Review-Url: https://codereview.chromium.org/1971983002

[modify] https://crrev.com/f106ee6ee4e976af0be9823a1ad0c22a4c3b598f/scripts/slave/recipe_modules/recipe_tryjob/__init__.py
[modify] https://crrev.com/f106ee6ee4e976af0be9823a1ad0c22a4c3b598f/scripts/slave/recipe_modules/recipe_tryjob/api.py
[modify] https://crrev.com/f106ee6ee4e976af0be9823a1ad0c22a4c3b598f/scripts/slave/recipes/infra/recipe_roll_tryjob.expected/deps.json
[modify] https://crrev.com/f106ee6ee4e976af0be9823a1ad0c22a4c3b598f/scripts/slave/recipes/infra/recipe_roll_tryjob.expected/one_patch.json
[add] https://crrev.com/f106ee6ee4e976af0be9823a1ad0c22a4c3b598f/scripts/slave/recipes/infra/recipe_roll_tryjob.expected/three_patches.json
[add] https://crrev.com/f106ee6ee4e976af0be9823a1ad0c22a4c3b598f/scripts/slave/recipes/infra/recipe_roll_tryjob.expected/three_patches_fail_not_ok.json
[add] https://crrev.com/f106ee6ee4e976af0be9823a1ad0c22a4c3b598f/scripts/slave/recipes/infra/recipe_roll_tryjob.expected/three_patches_fail_ok.json
[modify] https://crrev.com/f106ee6ee4e976af0be9823a1ad0c22a4c3b598f/scripts/slave/recipes/infra/recipe_roll_tryjob.expected/tryjob.json
[modify] https://crrev.com/f106ee6ee4e976af0be9823a1ad0c22a4c3b598f/scripts/slave/recipes/infra/recipe_roll_tryjob.expected/tryjob_dont_test_untouched_code.json
[modify] https://crrev.com/f106ee6ee4e976af0be9823a1ad0c22a4c3b598f/scripts/slave/recipes/infra/recipe_roll_tryjob.py

Project Member

Comment 19 by bugdroid1@chromium.org, Jun 17 2016

Project Member

Comment 20 by bugdroid1@chromium.org, Jun 17 2016

Project Member

Comment 22 by bugdroid1@chromium.org, Jun 24 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/infra/infra.git/+/8271904bbefcf1d97c450885d83b26d0408b61c5

commit 8271904bbefcf1d97c450885d83b26d0408b61c5
Author: martiniss@chromium.org <martiniss@chromium.org>
Date: Fri Apr 08 02:56:27 2016

recipe_roll_tryjob: Add service_account argument.

R=estaab
BUG= 591172 

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/build@299787 0039d316-1c4b-4281-b951-d872f2087c98

[modify] https://crrev.com/8271904bbefcf1d97c450885d83b26d0408b61c5/recipes/recipes/recipe_roll_tryjob.py

Project Member

Comment 24 by bugdroid1@chromium.org, Jun 24 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/infra/infra.git/+/2b9727e605b948251f0bc8bae35091172ffbc6e5

commit 2b9727e605b948251f0bc8bae35091172ffbc6e5
Author: martiniss <martiniss@chromium.org>
Date: Wed May 25 18:02:59 2016

recipe_tryjob: Allow test bypass.

This allows recipe authors to cause this tryjob to turn green by adding the "Recipe-Tryjob-Bypass-Reason" git footer to their CL.

BUG= 591172 

Review-Url: https://codereview.chromium.org/1971983002

[modify] https://crrev.com/2b9727e605b948251f0bc8bae35091172ffbc6e5/recipes/recipes/recipe_roll_tryjob.expected/deps.json
[modify] https://crrev.com/2b9727e605b948251f0bc8bae35091172ffbc6e5/recipes/recipes/recipe_roll_tryjob.expected/one_patch.json
[add] https://crrev.com/2b9727e605b948251f0bc8bae35091172ffbc6e5/recipes/recipes/recipe_roll_tryjob.expected/three_patches.json
[add] https://crrev.com/2b9727e605b948251f0bc8bae35091172ffbc6e5/recipes/recipes/recipe_roll_tryjob.expected/three_patches_fail_not_ok.json
[add] https://crrev.com/2b9727e605b948251f0bc8bae35091172ffbc6e5/recipes/recipes/recipe_roll_tryjob.expected/three_patches_fail_ok.json
[modify] https://crrev.com/2b9727e605b948251f0bc8bae35091172ffbc6e5/recipes/recipes/recipe_roll_tryjob.expected/tryjob.json
[modify] https://crrev.com/2b9727e605b948251f0bc8bae35091172ffbc6e5/recipes/recipes/recipe_roll_tryjob.expected/tryjob_dont_test_untouched_code.json
[modify] https://crrev.com/2b9727e605b948251f0bc8bae35091172ffbc6e5/recipes/recipes/recipe_roll_tryjob.py

Status: Assigned (was: Started)
Status: Started (was: Assigned)
Status: WontFix (was: Started)
This approach was semi-implemented, but ultimately abandoned as too complicated. See https://docs.google.com/document/d/1W8PobLIXS2a1kiw672HWhegrIEnAtl_jbRsXBBaUpKc/edit for the alternate approach. 
Project Member

Comment 28 by bugdroid1@chromium.org, Jun 29 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/infra/infra.git/+/b9acf1d4dc1b559c581451d6a79b158de66c66f6

commit b9acf1d4dc1b559c581451d6a79b158de66c66f6
Author: martiniss <martiniss@chromium.org>
Date: Wed May 25 18:02:59 2016

recipe_tryjob: Allow test bypass.

This allows recipe authors to cause this tryjob to turn green by adding the "Recipe-Tryjob-Bypass-Reason" git footer to their CL.

BUG= 591172 

Review-Url: https://codereview.chromium.org/1971983002

[modify] https://crrev.com/b9acf1d4dc1b559c581451d6a79b158de66c66f6/recipes/recipe_modules/recipe_tryjob/__init__.py
[modify] https://crrev.com/b9acf1d4dc1b559c581451d6a79b158de66c66f6/recipes/recipe_modules/recipe_tryjob/api.py

Sign in to add a comment