Lee moon soo created ZEPPELIN-2123:
--------------------------------------
Summary: Scale-out CI capacity by leveraging individual
contributor's travis account
Key: ZEPPELIN-2123
URL: https://issues.apache.org/jira/browse/ZEPPELIN-2123
Project: Zeppelin
Issue Type: Improvement
Reporter: Lee moon soo
Assignee: Lee moon soo
h3. Motivation
Recently INFRA-13469 reduced simultaneous build capacity of Zeppelin project to
5 from 11.
After that, although https://github.com/apache/zeppelin/pull/2003 reduced CI
build time by 60%, it's not very difficult to see pullrequests are waiting more
than 10 hours in the queue to be tested.
It's mainly because of Apache Zeppelin uses ASF's travis account and the same
account serves all project in ASF. It's easy to guess that there will be tons
of build requests from various projects in ASF.
By the way, individual contributor fork Apache Zeppelin repository on github to
make a pullrequest. And it's not very difficult to setup travis for the fork.
If Apache Zeppelin project can leverage all individual contributors travis
account to build the pullrequest, that'll give many advantages.
- Individual contributor will have 5 simultaneous build slot on travis.
- No other project shares the travis slot.
- Individual contributor can control build - cancel, restart
h3. How it works
1. Individual contributor setup travis on Apache Zeppelin fork. (and turn on
"Build pushes")
2. Contributor pushes the branch to forked repository
-> Triggers Travis CI build
3. Contributor creates pullrequest to ApacheZeppelin repository
-> Triggers Jenkins CI build
4. Jenkins CI build script checks individual contributors Travis CI build
status.
Jenkins CI build script will not actually build the project but will just check
contributors Travis CI build status. And Jekins CI build script will run on ASF
infra (builds.apache.org)
h3. Things to do
Following tasks need to be done.
1. Create build CI script for Jenkins that checks contributor's travis CI
2. Setup Jenkins configuration on builds.apache.org
3. Ask INFRA to turn off pullrequest build on Travis-CI and add Jekins for
pullrequest build
4. Add travis setup after fork in how to contribute guide.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)