New issue
Advanced search Search tips

Issue 642166 link

Starred by 1 user

Issue metadata

Status: WontFix
Owner: ----
Closed: Jan 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 2
Type: Bug



Sign in to add a comment

Owners check in presubmit doesn't take into account dependent patches.

Project Member Reported by scottmg@chromium.org, Aug 29 2016

Issue description

https://codereview.chromium.org/2290743002/ in particular at https://codereview.chromium.org/2290743002/#ps40001 had a tracking and upstream branch of https://codereview.chromium.org/2287813002.

chromium_presubmit is failing on https://codereview.chromium.org/2290743002/ saying that it needs an lgtm from someone for content/common/view_messages.h.

That file was not modified in https://codereview.chromium.org/2290743002/, only in the dependent.
 
Components: -Infra>Codereview Infra>Codereview>Rietveld
Summary: Owners check in presubmit doesn't take into account dependent patches. (was: dependent patch set upload seems to be broken for the CQ)
Yeah, this is KI in presubmit support and the way Rietveld patches are applied.
Cc: tandrii@chromium.org
Status: Available (was: Unconfirmed)
I think this is also valid for Gerrit
Components: Infra>Codereview>Gerrit
Labels: Proj-Gerrit-Migration
Really? Is that new behaviour? I don't recall ever running into it before.
No, it's not new. I don't recall it ever working. The way patches are applied on bots makes it impossible to determine which file is changed by just looking at git checkout.
I don't know if that means it could have worked at some point in the past. :)

FWIW, I also noticed that the rietveld thing on the LHS now says

"""
Target Ref:
refs/pending/heads/master
"""

but it used to say something about the local branch name there. If there's any chance I'm not crazy and it used to work, perhaps that's related.
So, I'm claiming that it had never worked, and the reason it's not frequently noticed is that CQ dry run skips owners checks. And if you trigger full CQ run, CQ would abort immediately because dependency hasn't landed yet.

What you are doing however is unusual - you are asking CQ to ignore dependent CL by adding this line into description:

NO_DEPENDENCY_CHECKS=true

which disables the check and hence CQ proceeds and schedules the full presubmit tryjob.


I am actually very curious why you add NO_DEPENDENCY_CHECKS=true. Do you really want CQ to land the CL before its dependency? If not, then don't add that line and just use CQ dry run.
I hate that check sooooo much! I just pipeline changes locally so I don't have to rebuild everything to switch back and forth between branches, but they're not necessarily related in any way.

Anyway, thanks. Not a major issue, I'll just git cl land it.
well, NO_DEPENDENCY_CHECKS=true isn't very helpful, because tryjobs are still run on the whole dependency tree.

But you have this option: https://cs.chromium.org/chromium/tools/depot_tools/git_cl.py?q=skip-deps-uploads&sq=package:chromium&l=3830&dr=C

Admittedly it's not very easy to use, but if you want to add another option to git cl upload --dont-track-dependency
i'd not be against it.


Cool, thanks. I'll have a look at that next time.
Components: -Infra>CQ
Components: Infra>SDK
Labels: -Pri-1 Pri-2
Status of this issue so far:
  the way dependent patches are applied in Rietvled and Gerrit makes it impossible to determine which file came from which patch.
  in CQ Dry Run this check is skipped, so it's not a huge problem => Pri2.

once Rietveld is gone, and all patches are Gerrit patches, we can choose to leave CL commits in the checkout (instead of "git reset --soft ToT_HEAD"), and hence it'd be possible to improve this in presubmit_support as well.
Components: -Infra>SDK Infra>CQ Infra>Platform
Labels: -Proj-Gerrit-Migration
Components: -Infra>Platform -Infra>Codereview>Rietveld
Labels: Milestone-Afterglow Proj-Gerrit-Migration
Components: -Infra>CQ
Labels: -Milestone-Afterglow
Removing Milestone-Afterglow, as it has ceased to have meaning. More refined milestones may be added back in the near future.
Status: WontFix (was: Available)
Rietveld is gone, long live Gerrit.

Sign in to add a comment