to follow the syntax like others.
Pick-to: 6.10 6.8
Change-Id: I64ce1b62d6a1caace624acd36c17be02005156c5
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
This commit adds size-optimized Qt configuration for Qt
Quick apps. By having a CI configuration helps in ensuring
that the configuration doesn't break over time.
The goal of the configurations is to provide a size-optimized
build while typical Quick applications should still work. The
latter point was checked by checking several example apps:
Coffeemachine, Calqlatr, Gallery, Colorpalette, and few
smaller test applications. Space-savings are in 60%
ballpark when comparing optimized with non-optimized
static builds. Optimizations also include stripping the
binaries where applicable.
Tested platforms: iOS, macOS, Windows, Linux, WebAssembly
and Android. Autotests are compiled and run only on one
platform (macOS) to preserve CI compute. Configurations
are 'Insignificant' to avoid interruptions - this should
be changed once proven stable.
Notably all except Android builds are static builds;
static build optimizations (LTO in particular) are very
powerful in optimizing size. Qt for Android OTOH
does not support static builds.
There are more features and options that user can disable
for further space savings. Prior art for Linux show-cases
taking the optimizations further (QTBUG-117638).
This commit is preceded by numerous compilation fixes to
qtbase and qtdeclarative (now merged).
Fixes: QTBUG-134299
Change-Id: Iaec0aea3e9d475220161ca8d00f0ec15eaa637a9
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
Reviewed-by: Simo Fält <simo.falt@qt.io>
Effect of this experiment was inconclusive. In some isolated cases
limited benefit was seen, but in overall metrics no change was
observed.
Remove the feature to gain the lost computing capacity back. If the
removal causes noticeably higher flakiness etc, it can be reevaluated.
Pick-to: 6.9
Task-number: QTQAINFRA-6702
Change-Id: I001fc2d3740a287d4546d0f597e81ded9f5449cb
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
This makes ARM target tests significant for qtbase, qtgraphs and
qtgrpc. Intel target tests for qtgraphs, qtgrpc, qtlanguageserver,
qtquicktimeline, qtmultimedia, qtshadertools and qtsvg.
Pick-to: 6.9
Change-Id: I4ae3591dacb21207d5aaf65c1fdff4fd19c3903c
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
Reviewed-by: Simo Fält <simo.falt@qt.io>
Enable test building for all modules VxWorks is to be ported to.
Set modules that fail as insignificant. Keep x86_64 target as
insignificantTests, due to it requiring change in qtbase, after
which it can be default significant.
Change-Id: I3c373a2a548c71515901c180e299738f5326c8a4
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
The feature enables 1:1 pinning of CPU cores for VM, which should mean
more stable CPU allocation from host and fewer sporadic failure.
The down side of this is that the targets will effectively use double
the capacity from the host that they previously would. It is to be seen
how effective this is in reducing flakiness, which would counter the
increased usage by reducing staging needed.
In Coin the feature is limited so that it only affects test VMs.
Task-number: QTQAINFRA-6702
Change-Id: Ie0abd68e0ce80008776f3d0fe931d996f6eb3a61
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
We have u2404 arm64 offscreen tested in qt5 since
420b779335.
Pick-to: 6.8
Change-Id: Ibbb7d275d4abe4fc73646747939b2361c5317b26
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
Set test running to happen on non-developer static target
for modules upstream of QtDeclarative. Qtdeclarative tests
do not build with static flag, due to this only up to this.
Update VSB and VIP.
Change-Id: If7e016f11b5d3908dff584fc05bcc8985d471a94
Reviewed-by: Simo Fält <simo.falt@qt.io>
Updates VSB and VIP. Adds newer updated QEMU for VxWorks.
Set to build and run tests on qtbase.
Change-Id: I1dc97a48ff67dedd79de3659d2af2768616c61ca
Reviewed-by: Matti Paaso <matti.paaso@qt.io>
This enables blocking test building.
Pick-to: 6.7 6.8
Change-Id: I184bd16a1c6a0ec45bfd9ee9b96c478dd2cf7c33
Reviewed-by: Toni Saario <toni.saario@qt.io>
QtLite allows user to select subset of Qt features.
This combined with static linking and link time optimization
produces up to 80% smaller QML application
Change-Id: Ied98a564cca39901091e751303341f83b672a631
Task-number: QTBUG-117638
Reviewed-by: Toni Saario <toni.saario@qt.io>
Reviewed-by: Samuli Piippo <samuli.piippo@qt.io>
This commit enables tests in CI for Wasm platform.
Fixes: QTBUG-109786
Change-Id: Ia44ab6ce3d5092fc90b07759d4d1a2c57edbf512
Reviewed-by: Mikołaj Boc <Mikolaj.Boc@qt.io>
Android 13 replaces Android 12 as max version in CI.
Android 6 kept as minimum version of Android in CI.
Task-number: QTQAINFRA-5392
Task-number: QTQAINFRA-5431
Change-Id: If85c6f63d52055e2ba95f92c154b20a6b809c7dc
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
qtbase was last insignificant module. When below "needed to"
are in, qtbase can be mark as significant.
Needed to
- increase emulator RAM to 16GB
- RAM increase to 16GB fixed tst_QByteArrayLarge cases
- SKIP tst_QRhi::tessellation(Vulkan)
- SKIP tst_QOpenGLWidget::reparentHidden
- SKIP tst_qvulkan cases
Above SKIP bugs to be fixed later in Qt 6.5 as bugs.
Task-number: QTQAINFRA-4733
Task-number: QTQAINFRA-5391
Task-number: QTBUG-108832
Task-number: QTBUG-108844
Task-number: QTBUG-111235
Task-number: QTBUG-111236
Pick-to: 6.5
Change-Id: I5d3e99ad144dbcf192873458dedd0300ed622beb
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
Add the minimal test preset for Multi-ABI Qt for Android.
Change-Id: Ic534daa5cea823b08b718f43ece637f9f9b375d9
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
QtBase and QtWebview have still autotests failures with Android 12.
While waiting fixes let's prevent regression in other submodules
by adding those as blocking (significant).
Task-number: QTQAINFRA-4733
Change-Id: I6640e65b7efa5698557f97f1e195d50d58a41680
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
This makes sure Android tests are run by default for packaging
targets for various integrations including qt5 integrations and
potential issues are caught up early on especially when doing
sumobules updates and coin scripts updates.
Also, this makes it easier to manage instead of having the tests
enabled per module. Thus, this removes the Android test include
from the individual modules because it will be retrieved directly
from cmake_platforms_target_android_host_linux.yaml which is included
by cmake_platforms.yaml.
Pick-to: 6.2 6.3 6.4
Task-number: QTBUG-88846
Change-Id: I8bc1638df48ad27781160df943c0126ffe495a3e
Reviewed-by: Toni Saario <toni.saario@qt.io>
This reverts commit 37fed2c22e.
Two new ASAN issues came up, disable ASAN build until they are fixed.
Change-Id: Id3815b891ec735d893375c02688383817d864719
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
The last bugs have been fixed, and a test run built with ASAN is
not finding any issues on qtbase, so it is ready to be part of CI.
Fixes: QTQAINFRA-5025
Change-Id: I1905daaf5b19b41d8daa3f2c47958515b4afaded
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Aligns the way we test x86_64 and arm64 developer builds.
Pick-to: 6.2 6.3
Change-Id: I87ea5e183b5ee29c62304b22eaf20c4b46ec3b0d
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
This enables testing for Android for the modules:
qtdeclarative, qtsvg, qtshadertools, qtimageformats, qtlanguageserver.
Also replace the qtbase Android test target with
linux_android_tests.yaml.
Task-number: QTBUG-88846
Pick-to: 6.3 6.2
Change-Id: Ibe0dcbdc5d468e884570bf4908f8ddee0793103c
Reviewed-by: Dimitrios Apostolou <jimis@qt.io>
Reviewed-by: Simo Fält <simo.falt@qt.io>
Split the end user profile variants in two, e.g.:
linux-x86_64-gcc
->
linux-x86_64-gcc # 1
baseprofiles/linux-x86_64-gcc # 2
1) This is still the end user variant but this includes the
counterpart from 3rdparty subfolder
2) This contains those settings and options that are needed
for 3rd party depedencies like icu
Task-number: QTBUG-99213
Pick-to: 6.2 6.3
Change-Id: Ia6d7d9c5759848ff339cf8f50a40b10dfd9877d6
Reviewed-by: Simo Fält <simo.falt@qt.io>
Because we want to add Android 12 emulator for testing, it's important
to have a more descriptive emulator name. For this one, it includes
api_23 part.
Task-number: QTBUG-88846
Pick-to: 6.3 6.2
Change-Id: I5b8ca276b1bad41bb61272585a4fc4f064e65d71
Reviewed-by: Rami Potinkara <rami.potinkara@qt.io>
Reviewed-by: Simo Fält <simo.falt@qt.io>
BUILD_EXAMPLES was the old way to disable building examples, which is
not used anymore. This should remove the warning about an unused
BUILD_EXAMPLES variable.
Pick-to: 6.2 6.3
Fixes: COIN-762
Change-Id: Icf88d617e564939bcff5047f83d029e93df16401
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Toni Saario <toni.saario@qt.io>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Rhel 8.4 is already in use
Task-number: QTQAINFRA-4515
Change-Id: I32bba97143adb5243e5ba500eceaad9723a7209e
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
The coin 'Sccache' feature will take care of it.
Pick-to: 6.2
Change-Id: Ibb9f79f2d7fc2d7fa2fcfbb24383b1f34fcf594c
Reviewed-by: Toni Saario <toni.saario@qt.io>
... and remove ANDROID_{SDK,NDK}_HOME as they are
deprecated and might not work even.
Pick-to: 6.2
Task-number: QTBUG-97002
Change-Id: Ie6fe93eb91fad0153aee795b73a43e84e37c8127
Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
Create conan profile per packaging configuration. Profiles will
carry configuration information to the builds conan does.
Profiles allow users to replicate identical configurations
to the packaging configurations and reuse existing binaries.
Change-Id: I50a2a4edbedbf56774bd4ceaae268928f8ed00e0
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
Currently will only build tests/auto/cmake projects in qtbase.
More work is needed for the other repos.
Pick-to: 6.2
Task-number: QTBUG-95839
Change-Id: Ie1aa6deb202c9b84ce0c14b0f851f38a3a71fe7b
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Red Hat 8.4 will be added as parallel with Red Hat 8.3 until packaging
site gives green light to remove the older Red Hat version.
Also targets which are not tested during Qt5 integration will be set
as Insignificant until proven to work
Task-number: QTQAINFRA-4516
Change-Id: I3d9543da315b3d93ee8d9e37389acaf7212b00f7
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
Timeout increased so this should be ok to move back to Redhat 8.2
Task-number: QTQAINFRA-4415
Change-Id: Iece9aefcbfdade2e29f495039de1f1fcafec2caf
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
(cherry picked from commit e216d829ff)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
At this point let's add only target for QtBase. Target for
QtDeclarative, QtQuick3d and QtQuickcontrols2 will be
added later when we have all required fixes.
Task-number: QTQAINFRA-3555
Task-number: QTQAINFRA-4285
Change-Id: I59ef76079e98ba428cdb7abcb2560f434c37f517
Reviewed-by: Kimmo Ollila <kimmo.ollila@qt.io>
Reviewed-by: Toni Saario <toni.saario@qt.io>
Rhel 8.2 with Android emulator seems to be unstable
Change-Id: Ibd858b25959b397d68e3242df0bf49eda3ca9445
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
Not all modules pass yet, but we want to at least make the ones that
do blocking.
Change-Id: Ic3270bab8825c79d3315e6241d62af1bf7f62435
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
Provisioning scripts will be removed later
Task-number: QTQAINFRA-4415
Change-Id: I71da9743066a81638518f44dc663324246a2ce8c
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
New cmake_platforms_static_tests.yaml file will be included in repos
that support building and running a minimal subset of tests built
against a static Qt.
Currently it's limited to qtbase.
Moved existing 'linux-SLES static' config into this new file and
also added a macOS and Windows config.
Skipped specifying the PostgreSQL lib path for Windows and macOS because
the plugin gets automatically linked into tst_moc, but the test build
phase doesn't actually call find_package for PostgreSQL and the build
system generation fails.
Similary skipped specifying the openssl lib location for macOS,
because the module_includes cmake auto test fails to find the
WrapOpenSSLHeaders package.
Explicitly tag iOS static config with DisableTests. The instructions
already skipped building tests for iOS, but it's better to be explicit
and update the instructions not to do that anymore.
Pick-to: 6.1
Task-number: QTBUG-87580
Change-Id: I0d38a0ad055c92646609202691aeb8db29689f5a
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
This will also remove CentOS target under QtCreator
and RHEL's Insignificant flags from submodules
Task-number: QTQAINFRA-4416
Change-Id: I2e6d910dfbba7a7903b149f5cf0bc3386cd4e3e2
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
Red Hat 8.2 is the latest version with extended update
support. In the end Red Hat 8.2 will replace CentOS 8.3
Task-number: QTQAINFRA-4322
Change-Id: Iaa2ef452e7e6608349ba7438bbc5d25ddb35fa2a
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
This patch adds a macOS target that is run on the ARM64 macs.
Task-number: QTQAINFRA-4012
Change-Id: I255a288551846ae3328f614b64668fdc5ede2391
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>