New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 810188 link

Starred by 0 users

Issue metadata

Status: Fixed
Owner:
Closed: Mar 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 1
Type: Bug

Blocked on:
issue 760633

Blocking:
issue 807318



Sign in to add a comment

Use gclient flatten to generate branch buildspecs

Project Member Reported by mmoss@chromium.org, Feb 7 2018

Issue description

Even though the release buildspecs have been using gclient flattening for a while now, branch buildspecs are still being generated with the old "brute-force" processing because they need additional manipulation that gclient doesn't support, like unpinning the v8 and skia repos. Unfortunately, the brute-force processing has problems of its own, like lack of conditionals support, so neither option is perfect.

Since we ultimately want to use native gclient handling everywhere, switching branch buildspecs to flattening now, with some minimal brute-force manipulation (which can eventually be replaced by the functionality in  issue 760633 ), is probably a better way forward than continuing to add compatibility fixes to the current brute-force handling.
 
Cc: aga...@chromium.org
Do we need to be able to machine-edit the DEPS files even if we were to assume everything was pinned on the branch (and we had auto-rollers as needed)?

I'd like to start doing the latter ASAP.

Comment 2 by mmoss@chromium.org, Feb 8 2018

Are you talking about the public branch DEPS? If we get that going as the branch source-of-truth, with the autorollers, then we don't need to do any edits to the branch buildspecs because there basically won't be anything left in the branch buildspecs. But I was assuming moving the source-of-truth was a little ways off still, and I kind of need the branch buildspecs cleaned up now to properly set the "checkout_src_internal" variable for recursedeps entries (for Issue 807318).
Yes, I was talking about the public branch DEPS.

I don't know why it would still need to be a little ways off, but I'd guess that's your call. I think that's a different way of me asking "what's keeping us from just fixing/switching to the public branch DEPS"?
Cc: sdefresne@chromium.org
(presumably pinning src-internal, at least, and possibly pinning/flipping ios and clank?)

Comment 5 by mmoss@chromium.org, Feb 8 2018

Ideally the ios/clank (and other internal) stuff would be in src/DEPS, but that depends, at a minimum, on code search handling the "checkout_internal" conditions properly (and there might be other issues that haven't cropped up yet).

We could continue to have the buildspecs use the internal DEPS files, and only move the branch source-of-truth for the public stuff, but that could make the transition even more confusing than the current situation (i.e. "if the deps entry is in src/DEPS, it's updated by the branch autoroller, so don't touch it, but if it's in some_internal/DEPS, update it in the branch buildspec as before, until we eventually move those to src/DEPS, then don't touch it, ...").

Also, I think we want the branch CQ setup first, don't we? Or is that implied by having the autorollers working? Aren't there still branch checkout issues with bot_update or something?
Cc: tandrii@chromium.org borenet@chromium.org
I'm not sure if we actually need a CQ, or if the autoroller could just auto-commit things (we might want the former even if the latter is possible).

Let's try to schedule a meeting next week w/ all of us and hammer out a plan for getting this done. I'm a little worried that there are too many small tasks on too many different plates for this to be done in a timely manner otherwise.
Project Member

Comment 7 by bugdroid1@chromium.org, Feb 9 2018

The following revision refers to this bug:
  https://chrome-internal.googlesource.com/chrome/tools/release/scripts/+/bf6b3012e22a5098ec3e08ed8405b5e6e923840c

commit bf6b3012e22a5098ec3e08ed8405b5e6e923840c
Author: Michael Moss <mmoss@google.com>
Date: Fri Feb 09 19:50:34 2018

branch CQs today are not fully supported, there are quite a bit of caveats due to tech debt in CQ, cq.cfg, bot_update that I'd like to clean up, but there wasn't high priority to do so before. 

If you have more specific branch CQ requirements in mind, and i'll tell you what's missing in CQ for this.
Project Member

Comment 9 by bugdroid1@chromium.org, Feb 10 2018

The following revision refers to this bug:
  https://chrome-internal.googlesource.com/chrome/tools/release/scripts/+/9198cab96b5465415c59ef62ead941f38b3f35a4

commit 9198cab96b5465415c59ef62ead941f38b3f35a4
Author: Michael Moss <mmoss@google.com>
Date: Sat Feb 10 02:55:12 2018

Project Member

Comment 10 by bugdroid1@chromium.org, Feb 13 2018

The following revision refers to this bug:
  https://chrome-internal.googlesource.com/chrome/tools/release/scripts/+/7a15bf5093059638602b0128c68b2a8a20198e4a

commit 7a15bf5093059638602b0128c68b2a8a20198e4a
Author: Michael Moss <mmoss@google.com>
Date: Tue Feb 13 06:18:01 2018

I'm going to close this, since it has already addressed the issue I was initially concerned with. I'll move branch CQ discussion to its own bug (or is there an appropriate bug for that already?).
per-branch CQ: issue 719954
sg, thanks
Status: Fixed (was: Started)

Sign in to add a comment