Restricted builds for Linaro Android

Registered by Paul Sokolovsky

Due to commitments to our members, there're code and feature we may not yet release as Open Source, but would like to develop and test. So, we need "restricted" environment for some of Android builds.

restricted means that the existance and log of the builds are not hidden from public, but that part of the source code comes from restricted git repositories; also the publishing area will be restricted by openid.

Blueprint information

Status:
Complete
Approver:
Alexander Sack
Priority:
Essential
Drafter:
Paul Sokolovsky
Direction:
Approved
Assignee:
Paul Sokolovsky
Definition:
Approved
Series goal:
Accepted for trunk
Implementation:
Implemented
Milestone target:
milestone icon 2012.04
Started by
Paul Sokolovsky
Completed by
Paul Sokolovsky

Related branches

Sprints

Whiteboard

[pfalcon 2012-04-10] Created https://launchpad.net/~linaro-android-private
[pfalcon 2012-04-13] Demo build using test private git repo: https://android-build.linaro.org/builds/~linaro-android-private/test-checkout-compile/ (passed checkout and compile stages, known issue with publish stage)
[pfalcon 2012-04-17] Successful end-to-end test: https://android-build.linaro.org/builds/~linaro-android-private/full-cycle/#build=2
[pfalcon 2012-04-18] Any POSTPONED WIs have a sense of SUPERSEDED/CANCELLED
[dzin 2012-04-19] Please link the related branch to be reviewed.
[dzin 2012-04-25] Build config validation has been deployed, which was a prerequisite for GA launch, announcement sent.

Meta:
Headline: Android Build System now supports restricted-access builds in order to support our members licensing/business requirements.
Acceptance: Restricted builds and access control to them is implemented in the volume enough to set up big.LITTLE development builds.

(?)

Work Items

Work items:
Create sample Launchpad group to control access to private builds: DONE
Set up separate build type for private builds (should match the standard one for starters, but be able to diverge): DONE
Set up separate slave type for private builds (watch out for Jenkins issues): DONE
Set up support for checking out private source: DONE
End-to-end testing: DONE
Security audit: DONE
Validate build configs (only var assignment with literals allowed): DONE
Validate slave type/owning group/config build type for match: DONE
Finalize naming (change "private" to "restricted"): DONE
Announcement/docs update: DONE

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.