[Development] Continuous Integration for 3rd party projects using Qt

Thiago Macieira thiago.macieira at intel.com
Mon Mar 18 21:47:12 CET 2019

On Sunday, 17 March 2019 23:49:09 PDT Uwe Rathmann wrote:
> Hi,
> thanks for the all the hints in this thread - I will check them if I
> can't find a service, that is more specific:
> a)
> The very first of my problems is to know about the platforms I need to
> test. I guess the list of all operating system and compiler combinations
> can be found somewhere in the Qt docs, but considering, that only on
> "Linux" you have to consider gcc/icc/clang - for gcc only you have
> v4/5/6/7/8 ...

As Denis said, you can easily use container images to get most of those 
operating systems tested. Just be careful with containers that Qt 5.10 through 
5.12.2 will not like being run on a kernel that is older than the distribution 
usually ships with. By coincidence, I submitted a fix for that today[1].

But I don't think you need to test all GCC combinations, much less in each OS. 
Compiling with the latest is usually sufficient for most cases, as usually the 
compilers start catching things they didn't use to. Especially if you want to 
be warning-clean, like Qt.

You'll likely need to test at least the oldest compiler you still support, to 
make sure that you're not using some C++11/14/17 language or standard library 
feature that the compiler lacks.

> b)
> Furthermore a project like Qwt supports all Qt versions >= 4.4. Even,
> when limiting the tests to a set of relevant versions - let's say
> 4.8/5.6/5.9/5.12 - complexity grows significantly.

Here's where distribution packaging helps. When using Travis, I use Stephan 
Binner's Qt PPAs[2].

With Travis, you can easily select between Ubuntu 12.04 (Trusty) and 14.04 
(Xenial) by a simple line in the .yml file, so that will give you all the way 
from 4.8.7 to 5.12.1.

I've never installed older versions of Qt using Homebrew (on macOS), so I 
don't even know fi this is possible. I doubt they'll have really old stuff. As 
for AppVeyor, they also have quite a few Qt versions (see [3]), but not 
including 4.8.

[1] https://codereview.qt-project.org/256162
[2] https://launchpad.net/~beineri
[3] https://www.appveyor.com/docs/windows-images-software/
Thiago Macieira - thiago.macieira (AT) intel.com
  Software Architect - Intel System Software Products

More information about the Development mailing list