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

Issue 737197 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Sep 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Windows
Pri: 2
Type: Feature

Blocked on:
issue 735986



Sign in to add a comment

Can the ANGLE CQ run on release branches?

Project Member Reported by jmad...@chromium.org, Jun 27 2017

Issue description

Current ANGLE uses Gerrit, and when we make merges to release branches, we cherry-pick our CLs to branches that names chromium/3112, etc, mirroring the build number. These branches are automatically created, and the DEPS for Chrome branches are automatically updated to point to these release branches.

Recently I fixed a bug that was causing a problem for some GPUs, and in merging this to the release branch I made an error which actually broke the GPU process for most users. ( issue 735986 ) This kind of regression would have been prevented by almost any test which runs on the ANGLE CQ.

My question is can we get the ANGLE CQ to work for branches, instead of just for master? How much work would this entail?
 

Comment 1 by mmoss@chromium.org, Jun 27 2017

Components: -Infra Infra>CQ
Status: Available (was: Unconfirmed)
As I wrote in IM, it should already work, but CQ will schedule builds on the same builders as master branch.

Also, I've just checked and CQ sets revision='HEAD' property regardless of the branch the CL is from, hence recipe running your build/test will default to checking out master. So, the work items are:

1. on CQ side:  setting branch="xxx" property
2. bot_update: recognize branch if not yet recognized. Note, possibly refs/heads/xxx can be passed a revision property and already recognized by bot_update.
3. make sure your recipes don't hardcode master anywhere. I guess chromium ones already like that, at least they respect revision=deadbeef propery.




Components: -Infra>CQ Infra>Codereview>Gerrit
Labels: Proj-Gerrit-Migration
Actually, I think even better would be to not touch CQ at all, but instead let bot_update examine CL using Gerrit API and realize which branch the CL is against. This is where we want to move anyway and it simplifies logic.

Comment 4 by aga...@chromium.org, Sep 11 2017

Components: -Infra>Codereview>Gerrit Infra>Platform>CQ
Labels: -Proj-Gerrit-Migration
The actionable items in comment 2 are all related to CQ and bot_update and recipes, so removing from Gerrit triage list.
Cc: machenb...@chromium.org
Components: -Infra>Platform>CQ
Owner: jmad...@chromium.org
Status: Assigned (was: Available)
tl;dr It's already possible. Back you, Jamie :)

+machenbach@ has already taught bot_update to under Gerrit CL branches and fetch appropriate code. Next - ensure your recipes don't override that autodetection and perhaps also fix assumption throughout recipes that they run on master branch.
Very cool Andrii. I'll experiment with a tryjob on a branch really quick and just see what happens. No idea if the recipe can support this.
Status: Fixed (was: Assigned)
I think this "just works". See https://chromium-review.googlesource.com/c/angle/angle/+/663418

The bots will use ToT Chromium, with a branch of ANGLE. Seems like a pretty good test case for a branch of ANGLE.
This will all 'just work' if your branches are in heads.

It doesn't yet work for branches in branch-heads. That requires more involved changes of bot_update.py. Started on it here https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/571823 - but gave up after realizing that it gets more complicated than I had time...

Sign in to add a comment