[Development] Coin news

Jedrzej Nowacki Jedrzej.Nowacki at qt.io
Tue Oct 25 09:22:41 CEST 2016


Good news everyone!

Changing Coin to test changes against Qt5 instead of the latest version of all modules reduced load on the CI significantly and now the build queue is sane even in rush hours (reaching around ~250 items instead of ~1700). I hope every one feels that integrations are quicker, especially on leaf modules.

As we managed to reduce the load, we are now hitting a new bottle neck in CI. Qt5 updates are not passing often enough and they are crucial, not only for releases, but for the whole system. As the first step, we will reduce quality criteria for "flaky" definition for Qt5 integrations. Currently, if Coin encounters a test failure it tries to re-run it 5 times in addition. If all pass then the test run is accepted. For Qt5 we will re-run the test only once. The change is based on assumption that flakiness, in most cases, is not caused by an intermodule operation and we believe that the assumption is correct. 

I would like to also remind everyone, that intermodule API changes need to be merged in two steps. For example if you plan to change a method "void foo()" in qtbase to "void foo(const QString&)", that would be the right order of execution:
1. Commit a change to qtbase that _adds_  foo(const QString&)
2. Update all modules that use foo() to use foo(const QString&)
3. Wait until Qt5(dev branch) submodule update, that gathers changes from 1 and 2
4. Remove old foo() from qtbase
If you do not follow we would have to revert your changes.

Cheers,
  Jędrek




More information about the Development mailing list