Hi,

I have been following discussion on this thread for a while now and here 
are some comments from CI point of view. First I would like to list 
existing CI configurations since there clearly are some misunderstandings:

Qt 4.8
    linux-g++-32_Ubuntu_10.04_x86
    linux-g++_developer-build_qtnamespace_qtlibinfix_Ubuntu_11.10_x64 
    linux-g++_shadow-build_Ubuntu_12.04_x64 qws_linux-x86-g++
    macx-g++_OSX_10.6
    macx-g++_developer-build_OSX_10.7
    win32-msvc2010_Windows_7
    win32-msvc2010_developer-build_Windows_7
    
These we plan to keep as is, possibly adding one OS X 10.8 and Windows 8 
configuration.

Qt 5.x
    linux-g++-32_Ubuntu_10.04_x86
    linux-g++-32_developer-build_Ubuntu_10.04_x86 
    linux-arm-gnueabi-g++_Ubuntu_11.10_x86 
    linux-g++_shadow-build_Ubuntu_11.10_x86
    linux-g++_developer-build_qtnamespace_qtlibinfix_Ubuntu_11.10_x64 
    linux-g++_no-widgets_Ubuntu_12.04_x64
    macx-g++_developer-build_OSX_10.6
    macx-clang_developer-build_qtnamespace_OSX_10.7 
    win32-msvc2010_Windows_7 
    win32-msvc2010_developer-build_qtnamespace_Windows_7 
    win32-msvc2010_developer-build_angle_Windows_7

One important thing to note about CI system is that it is not only OS version
or compiler, but there is also set of different Qt configure options being 
tested
and all of those require about equivalent HW capacity. So when you today stage
something in any of the Qt5 repos, 11 machines start building and testing 
your change. When you multiply that with amount of Qt5 repositories and 
possibly soon introduced branching of repositories. You will quite quickly 
end-up to very high need for HW capacity.

Then a few comments discussions on this thread:

> However, if & when we do decide to remove XP from the CI system it should be 
> replaced with vista (as the oldest supported windows version).
> We shouldn't test only W7 and W8.

Windows XP is not currently tested by CI and I don't believe adding it to CI
would be rational in this phase - there are more important configurations to
test on HW limits we have. If adding Windows XP to makes sense somewhere
it is Qt 4.8 CI.

There is also no Windows Vista in CI and adding that to CI makes even less 
sense for me. Based on our customer surveys installation-base for Vista is 
very small (compared to XP and 7),and decreasing all the time.

> I am wondering if windows-7-64-msvc2010-angle should become a reference 
> platform and windows-7-32-msvc2010-angle a tier 1 instead, given that 
> Windows is 64bit now and running 32 bit applications is not really native.
>
> It would be nice to have it tested though, since compiling on 64bit 
> reveals additional warnings about casting between different 
> ints/pointers, etc, that might one day be caught by a compiler warnings 
> check (which I am still hoping for).

> Tuukka also wants to see Windows 8 (maybe replacing XP). 

I agree CI system should definitely have some 64-bit and  Windows 8 
configurations,but I also would like to keep some 32-bit Windows configurations 
there. And like Kai reminded in one of the previous mails we should get also 
MinGW to CI system. With these in mind my suggestion for Qt5 Windows CI 
configurations:

    win32-msvc2010_Windows_7
    win32-msvc2010_developer-build_angle_Windows_7
    win32-mingw47_developer-build_qtlibinfix_Windows_7    (new)
    win64-msvc2012_developer-build_qtnamespace_Windows_8 (new)

>> Tuukka and Qi Liang wants to see OS X 10.8 (maybe replacing 10.6) in the 
>> list. The feasibility of this is probably something again for the CI system 
>> maintainers + mac platform maintainer (Morten) to answer...
>
> IMO Mac OS X 10.8 must be Tier 1. 
> Something like half a year after Qt 5.0.0, Mac OS 10.9 will be released and 
> 10.6 becomes more and more irrelevant.

I agree 10.6 is not very relevant for Qt5. And keeping in mind that we have
limited HW capacity, I suggest the following CI configurations for OS SX:

    macx-clang_developer-build_qtnamespace_OSX_10.7 
    macx-clang_developer-build_OSX_10.8 (new with case-sensitive file system)

One additional thing I would like to study related to OS X CI configurations is 
sandboxing. 

There haven't been too much discussion about different Linux configurations, 
But as you can see from list of currently CI tested configurations there are
quite many of them. Personally I'm thinking that we should remove Ubuntu 
10.04 or at least reduce the number of tested configurations from 2 to 1 
and use that HW capacity to extended testing of different Windows 
configurations and possibly static builds of Qt. That said my suggestion 
for Qt 5 Linux CI configurations is:

    linux-g++-32_Ubuntu_10.04_x86 (possibly to be removed)
    linux-arm-gnueabi-g++_Ubuntu_11.10_x86 
    linux-g++_shadow-build_Ubuntu_11.10_x86
    linux-g++_developer-build_qtnamespace_qtlibinfix_Ubuntu_11.10_x64 
    linux-g++_no-widgets_Ubuntu_12.04_x64
    linux-g++developer-build_static_Ubuntu_12.04_x64 (new)

> However, since right now no external platform can integrate with 
> the CI, I don't think it's fair to require it. So we should be able to list 
> certain platforms as Tier 1, provided they meet the other quality criteria, 
> even if they aren't in the CI.

Exactly and I also want to emphasize that my suggestion is only for Digia 
hosted CI on short term (5.0.x). I'm not saying these will be available
tomorrow but I would like to have this list as an target for our work.

We are also open for integrating external platforms (such as QNX) to 
Qt-Project CI system. In addition, once we introduce Android and iOS 
support we need consider adding those to CI as well.

And finally I'm quite sure that there always will be more platforms and
compiler configurations involved to releases process than CI gate. 

Br,
--
Janne Anttila
Senior Architect - Digia, Qt
Visit us on: http://qt.digia.com 

_______________________________________________
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development

Reply via email to