On 6 February 2013 13:33, Paul Sokolovsky paul.sokolovsky@linaro.org wrote:
Hello,
There were increasing Android build times during last month again (going over 3.5hrs). Yesterday, I re-created the seed, but that didn't improve times match. I did more stats on builds and it turns out that we spend almost 1.5hrs in copying ever-growing overlay collection to the slaves via sluggish CopyToSlave Jenkins plugin.
That's issues known for at least half-year, and was in queue for being reworked. I didn't work on android-build closely for few months, but now that I'm back on maintenance, I'd like to start with fixing this long-overdue issue.
The idea was to pull all the needed overlay, straight to a slave. The complication here was handling of license protected files. ci.linaro.org had the same issue, and used a script to handle automatic downloads for some time. However, as of now, it was switched to other process and the script git bitrotted with recent linaro-license-protection codebase changes. I took a look at revamping it, but then though that it may be a good idea to use simpler and more explicit process, following closely click-thru usage. So, if you want to use a license-protected binaries in a build, you'd need to specify:
ACCEPT_LICENSE=<license_id>
Where <license_id> is id under which license is registered in linaro-license-protection. One good way to figure it out is to read the license page at all (well, as HTML source, the id is included in some links). Wording of variable name (as well as of commands in underlying implementation) is also explicit to point that its usage construes license acceptance.
Paul, can you list the links you're looking at?
I prototypes these changes using https://android-build.linaro.org/builds/~pfalcon/panda-jb-gcc47-tilt-trackin... which is down to 2h10m build time. I'm ready to migrate all builds tomorrow, while we're early in cycle start.
Please let me know if there're any issues with approach or proposed migration timeframe, otherwise let's make android-build rock again.
I really like the fact that you've shaved an hour off the build.
One thing I'm curious about, why does this work? It seems like licensing issues and autobuild issues should be separate concerns.
Another thing. What about support for an upcoming use case where we're need multiple EULAs. Would you use a comma separated list in the define?
Thanks, Paul
Linaro.org | Open source software for ARM SoCs Follow Linaro: http://www.facebook.com/pages/Linaro http://twitter.com/#%21/linaroorg - http://www.linaro.org/linaro-blog
linaro-android mailing list linaro-android@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-android