[Development] Becoming a Tier 1 platform and the CI System

Turunen Tuukka Tuukka.Turunen at digia.com
Thu Jun 7 08:21:04 CEST 2012


On 7.6.2012 1.33, "Rohan McGovern" <rohan.mcgovern at nokia.com> wrote:

>Sean Harmer said:
>> On Wednesday 06 June 2012 12:02:23 lars.knoll at nokia.com wrote:
>> > On 6/6/12 1:56 PM, "ext Sean Harmer" <sean.harmer at kdab.com> wrote:
>> > >I understand and integrating into the CI system would seem by far the
>> > >most
>> > >sensible way to go in terms of maintainability, reducing man-power at
>> > >release
>> > >time and preventing introduction of regressions.
>> > 
>> > Absolutely. But that requires that someone steps up and creates a CI
>> > infrastructure we can use. The current one is based on a commercial
>> > solution that Nokia unfortunately can't hand out to everybody. It
>>should
>> > however be possible to use the existing scripts (with some
>>modifications)
>> > on Jenkins.
>> 
>> Can you elucidate on what you mean by "someone steps up and creates a
>>CI 
>> infrastructure" please?
>> 
>> Do you mean that the existing one needs hooks adding to allow
>>additional 
>> external nodes to be plugged in? Or that new hardware, hosting, CI tool
>>and 
>> everything else is needed from fresh? Or something in between?
>> 
>
>It means that the current CI infrastructure is operated by Nokia and
>can't have build nodes plugged in from outside of Nokia premises.  So,
>if you need to manage your own build nodes, there is currently no way to
>integrate with the Qt Project CI system.  Fixing this is a significant
>project which I am not aware of anyone currently working on :(
>
>However, if testing (at least compile testing) for your platform can be
>done with commodity hardware and freely available software, and is not
>particularly demanding in other respects, there's a possibility of
>making progress with the current setup.  If that's the case, please
>create a task with some of the technical details on
>https://bugreports.qt-project.org/browse/QTQAINFRA .

I think the currently running Nokia CI system based on Pulse is very
valuable. Setting up and managing a good CI system is a tedious task, and
should not be taken lightly.

However what might be possible at some point - I hope - is to connect test
results from different CI systems together. At least it is already now
possible to operate your own CI and act based on the findings for the
platforms you are testing. If the test results can be nicely shared it
helps to leverage others than just you to fix the problems your CI system
has found.

At Digia, Qt Commercial, we have our own CI & release test system which is
based on an Atlassian tool called Bamboo. We have a much wider set of
platforms and configurations running than in the Nokia CI system, but we
value very much the continuous testing done by the Nokia CI system for the
Qt Project reference platforms.

Jenkins and Pulse we have used as well, but currently we see that the
Bamboo provides best fit for our needs. For your purposes any of these
tools can be made fit. The work is not about the tool itself, but the
build farm, management SW for the farm, scripts, processes etc related to
the CI system.

Actually we have also been running CI and release tests on top of QNX for
Qt Commercial 4.8.x. Going to Qt 5 we will most likely continue this in
any case. We can also discuss offline what you need to accomplish, and how
we can help you in it.

What comes to adding QNX or any other platform as Tier 1 / Qt Project
Reference platform, I think the decision should not be taken lightly. The
reference platforms have to be really widely used, and valuable for a very
large amount of users in the community. In case there is a problem with
functionality in some of these reference platforms, it would be primary
target to fix that before releasing. So naturally a small set of reference
platforms means better capability to focus efforts, release in time, and
have good maturity of releases on these platforms.

Yours,

		Tuukka




More information about the Development mailing list