New issue
Advanced search Search tips

Issue 717702 link

Starred by 1 user

Issue metadata

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

Blocked on:
issue 717703
issue 718534
issue 720101
issue 734485
issue 735050

Blocking:
issue 680153



Sign in to add a comment

Set up a unified builder for reef

Project Member Reported by sjg@chromium.org, May 2 2017

Issue description

With unified builds we can create a single build for reef which will support all the variants.

It would be useful to have a builder for this, so that builds start appearing in GoldenEye.

 

Comment 1 by sjg@chromium.org, May 2 2017

Blockedon: 717703
Need to make sure this will not adversely affect GoldenEye

Comment 2 by sjg@chromium.org, May 2 2017

Blocking: 680153
What kind of builder(s) do you want?

PreCQ / CQ / Release / Android/Chrome PFQs?


Now that things are further along, what configuration information is needed?

Is there just a special unified 'board' or something else?

Also, what build artifacts are supposed to be generated, and where do they go?

When will you be ready for lab testing support, and what prep is needed for that?

Comment 5 by sjg@chromium.org, May 2 2017

I'd like a release builder.

The build artifacts should be the same as for the existing reef board, but we need to be able to separate them somewhere (i.e. they need to be named differently on GCS). What do you suggest?

For lab testing, hoping to be ready by the beginning of July.

Comment 6 by sjg@chromium.org, May 4 2017

Cc: dgarr...@chromium.org vapier@chromium.org

Comment 7 by sjg@chromium.org, May 4 2017

Blockedon: 718534
Need the builder first
As mentioned in email, we need a unique board name to keep the artifacts independent. Other than that, setting up builders takes landing a configuration CL + a waterfall restart.

Comment 9 by sjg@chromium.org, May 11 2017

I'm setting up a 'reef-uni' build for this. After that is done I'll do a CL for chromeos_config.py

Comment 10 by sjg@chromium.org, May 11 2017

Blockedon: 720101
Need the private overlay repo
Cc: adurbin@chromium.org
as i mentioned in the e-mail, i don't see why we need a new board name here.  builders can have independent names from their board.  and adding interpretation to $BOARD when we don't have it today is a bad idea.

Comment 13 by sjg@chromium.org, May 12 2017

Mike, where is the interpretation?
For test builders, you are right, a unique build config name is enough.

For release builders, the board name needs to be unique (gs://chromeos-releases/). I was presuming that we will want to release the unified builds, and will want to go through early testing and such in parallel with current builds.

Using a special board name that only changes a use flag has been done before for both freon and cheets, so this isn't out of the blue.
this CL should not exist:
  https://chromium-review.googlesource.com/503469

Comment 16 by sjg@chromium.org, May 12 2017

That CL is just for firmware, to avoid needing to add a 'reef-uni' target to coreboot, EC, etc. I'm happy to make it an explicit mapping if you prefer

The alternatives are apparently not much better:

- See above for builder discussion
- Apparently the build artifacts will overwrite each other in GCS if I try to use a separate profile within reef
- GoldenEye would need quite a bit of modification to support having two types of builds for the same board (unibuild and not). I spent about a day looking at this and it would involve quite a bit of special-case code

Comment 17 Deleted

the only thing Don said about builders was the release bucket.  we already don't require the exact board name there (we actually mung it and tell people they can't rely on the path).  so if you need something unique there, i don't think it'd be hard to extend cbuildbot to pass a flag along to pushimage.

that covers (1) & (2).

i can't speak to GE limitations.

how many places actually care about the board beyond firmware ?
Test and build results all over the place are by board. (CIDB, Monarch/viceroy, Golden Eye, WMatrix).

Since we plan to build this in parallel with standard reef and (I presume) compare the results, then a new board name seems prudent. If you eventually plan to do canary releases, even more so.

Comment 20 by sjg@chromium.org, May 22 2017

I see Don's reply which actually suggests things are worse than I thought.


Re GE if you go here:

https://cros-goldeneye.corp.google.com/chromeos/console/listBuild#/

and click on a set of builds in the Canary column you can see they are grouped by boards. It's a pain to have reef appear twice (once as a separate build and once once as a unified build with multiple models). It could be done I think, but it would be pretty ugly. We might consider it later.

See here:

https://docs.google.com/document/d/1o37rERS-Te7yBRnbLfxYn1qURBL8VJNdAO2bziEIXdQ/edit#heading=h.c41503dcpa0q


Re the buildbot, I don't mind if we add that. Do you want me to try? If so, would you mind filing a bug with some pointers as to where to do it.

Comment 21 by sjg@google.com, Jun 20 2017

Blockedon: 735050
Needs a waterfall restart

Comment 22 by sjg@google.com, Jun 20 2017

Blockedon: 734485
Need to implement firmware signing
Components: -Infra>Platform>Buildbot Infra>Client>ChromeOS

Comment 24 by sjg@google.com, Jul 19 2017

Status: Fixed (was: Untriaged)
This is up and running and had a passing run overnight.

https://uberchromegw.corp.google.com/i/chromeos/builders/reef-uni-release/builds/79

Sign in to add a comment