[Buildbot-devel] sourcing env vars from file

David Tucker david.tucker at schange.com
Sat Sep 29 00:40:02 UTC 2012


On Sep 28, 2012, at 5:11 PM, Dan Kegel wrote:

> On Fri, Sep 28, 2012 at 4:42 PM, David Tucker <david.tucker at schange.com> wrote:
>> Hi all, I have a master.cfg question.  Our existing build linux process requires developers to "source" a config script in their shell to set up the build environment,
>> basically it's just a file with a bunch of "export" statements.  I can't figure out how to get this into our build factory.
>> 
>> I've tried everything I can think of, the most obvious being:
>> 
>>        factory.addStep(Configure(command=["source","setEnv1.sh"]))
>> 
>> But that doesn't seem to work.
>> 
>> I can use env={} to set each env var individually but that seem problematic.  ( and there are lots to set )  I really want the buildslave to use
>> the same setup that the developers use so that when it changes the buildbot will change as well.
>> 
>> Any ideas?
> 
> Yeah.  Write a shell script that does what you need, and call that from Python.
> 
> Actually, this is what should be done with all build logic.  No logic,
> if possible,
> should be in the buildbot config file.  I'm currently busily draining all the
> project knowledge out of a large Buildbot config and putting it into a
> 'buildshim' shell script.  Each step of the build gets one buildshim argument,
> so e.g. compiling is done by running 'buildshim compile', testing is done
> with 'buildshim test', and installing build dependencies is done with
> 'buildshim install_deps'.
> 
> The shell script should ideally live with the project source code in its
> top level directory.
> 
> That way, you can more easily switch back and forth between CI systems,
> and developers can repoduce what the buildbot is doing without having
> to read its config files.
> 
> This is, by the way, my current approach to solving the problem
> that http://www.chromium.org/developers/testing/chromium-build-infrastructure/buildbot-annotations
> addresses.
> - Dan

Thats basically the conclusion I came to as well.  Just wondering if I had missed something.

Thanks,
  dave



More information about the devel mailing list