[Development] [Qt5-feedback] 3rdpart platform plugins, tests and CI

Sergio Ahumada Navea san at sansano.inf.utfsm.cl
Mon Oct 31 23:30:40 CET 2011

On 10/31/2011 11:05 AM, Rohan McGovern wrote:
> Holger Hans Peter Freyther said:
>> On 10/24/2011 04:21 PM, Holger Hans Peter Freyther wrote:
>>> On 10/24/2011 04:01 AM, Rohan McGovern wrote:
>> Hi again,
>> the response I am responding to ended up in moderation, I am now properly
>> subscribed (in contrast of using gmane.org). Just to recap, I have not
>> asked/intended to just switch off pulse and not work until a new public system
>> is in place. The problem for me is, I don't know how pulse works, so building
>> a 'compatible' system is difficult.
>> I went ahead and setup a public jenkins on a shiny new server at hetzner,
>> right now it is just tracking changes for Qtbase[1] (ipv4/ipv6), Jenkins has
>> some Gerrit integration out-of-the-box but I am not sure how it relates to
>> what you have with pulse.
>> I am not sure which config you have with Pulse. In Jenkins there is the
>> concept of a 'Job' (e.g. build a project in a specific config), what I am not
>> sure how to configure is to have the same Job be executed for (ARM, MIPS, X86,
>> AMD64..). How is this done with Pulse? Is there a single 'Job' or one job for
>> each target platform?
> It sounds like the Jenkins concept of "job" and the Pulse concept of
> "stage" are similar.  If so, this means that you should almost be
> able to use the qtqa/testconfig.git repo out of the box to issue the
> build commands.
> For example, setting up a "job" which runs
>    git clone git://gitorious.org/qtqa/testconfig.git _testconfig
>    _testconfig/test.pl --project "QtBase master Integration" \
>      --stage "linux-g++-32 Ubuntu 10.04 x86"
> ...may already work, or be close enough to working that it gives some
> valuable hints.
> I believe Sergio may already have experimented with using the above
> scripts in a Jenkins setup.  sahumada on IRC, if you need to contact
> someone who understands those scripts and is likely to be awake during
> Europe hours :)


I just created a project for qtbase.git called "Qt5_Base" in Jenkins and 
then I changed the configuration as follows:

1) Source Code Management -> Git
    URL of repository: git://gitorious.org/qt/qtbase.git
    Branch Specifier : master

2) Build -> Execute Shell
    Command (without the #):
       # git clean -dqffx
       # git clone git://gitorious.org/qtqa/testconfig.git _testconfig
       # perl _testconfig/test.pl --project "QtBase master Integration" 
--stage "linux-g++-32 Ubuntu 10.04 x86"
       # git clean -dqffx

In addition, you will need to either put this command in your jenkins' 
user .bashrc or add the outcome to "Global properties -> Environment 
variables" in Jenkins:

eval $(perl -Mlocal::lib)

I'd also recommend you to make a personal clone of 
git://gitorious.org/qtqa/testconfig.git and 
git://gitorious.org/qt/qtqa.git so you can change all the configurations 
if you want to do so.

Here my clones if you want to check my configuration:


Finally, you can see my build log: http://pastebin.com/iNVph7DP . This 
is almost the same that the CI system is doing right now.

Sergio Ahumada Navea
san at sansano.inf.utfsm.cl

More information about the Development mailing list