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)