On 4 Mar 2017, at 06:28, Neels Hofmeyr nhofmeyr@sysmocom.de wrote:
About the distribution of scripts: the osmo-ci has common scripts, and each project's jenkins.sh has project-specific steps in it. Either we keep all project-specific details in one central place instead of with the project (where one might say it belongs), or we copy the osmo-ci scripts to every project duplicating the code -- I don't really see a way to get out of that part... But I've been annoyed by having to edit a dozen different repositories to tweak the same detail in each jenkins.sh (like adding that value_string check), so keeping all jenkins.sh in one central place has occurred to me several times before as being a good idea. It has the disadvantage that you can't change jenkins.sh at the same time as a patch changes the behavior (like your --enable-sanitizer change in libosmo-abis, which was all nicely applied in one patch), but so far the disadvantage of having to edit N separate repositories has far outweighed that for me.
The reason I moved the build instruction out of the Job into a file is to have people easily rebuild/reproduce it. E.g. it helps with people that either don't know make distcheck or can't copy the invocation from the log.
I think if someone wants to reproduce the failure, it will be difficult for that person to checkout the right repository with the build script. :)
What I think should be avoided is to use Jenkins specific files. You might need to install Java and tons of jars to locally drive your build. ;)
holger