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>
Currently any configuration tagged with the 'LicenseCheck' feature
uses the qtqa/master tst_licenses.pl script for license checking. The
exact instructions that are run are hard-coded in the Coin repository.
This is inflexible, and also confusing because qtqa has a dev and a
master branch, and people forget to cherry-pick changes to the master
branch.
Furthermore always using the qtqa/master branch for all qt5.git
branches is limiting, because no instruction changes can be made to
a specific qt5.git branch.
Using the new instructions added in qtbase commit
2a0e89981a52633c497f62bad0c7d26c466493cb
we can now tag configurations with the 'LicenseCheckV2' feature.
Integrations will then use the instructions from the active qtbase
SHA1 to run the license check.
Currently the qtbase instructions will always use the qtqa/dev branch
for the license check, for both the dev and 6.8 branches, but in the
near future we will likely want to create versioned branches for
the qtqa repo, just like the rest of our repositories, so that we
can have specific license check instructions for specific branches.
Pick-to: 6.8
Task-number: QTBUG-124453
Task-number: QTBUG-125211
Task-number: QTBUG-125569
Task-number: QTQAINFRA-3935
Change-Id: Ica024dec44a9581c49cdfb555ba93667f7b34780
Reviewed-by: Toni Saario <toni.saario@qt.io>
Reviewed-by: Lucie Gerard <lucie.gerard@qt.io>
We have two builds we need to cover:
1. Documentation testing, aka 'DocTests' feature
This feature builds docs for every submodule during module
integration, using externally provisioned doc tools.
2. Offline documentation building, aka 'Documentation' feature
This feature builds documentation for use in e.g. Qt Creator
For both these builds we only need a single config to handle them.
The initial configs were based on Ubuntu 22.04, but with the addition
of Ubuntu 24.04, and splitting up X11 and Wayland testing, these configs
multiplied, which is not needed. The inclusion of 'documentation' in
the various test configs was also needlessly confusing when e.g.
looking at test failure results in Grafana.
The previously named 'documentation' configs for Ubuntu have been
renamed to 'developer-build', as this is the significant difference
to the non-developer-build config.
There's still two issues with these configuration:
1. The DocTests configuration also runs the Qt auto tests.
The DoNotRunTests and DisableTests feature flags would
seem to be relevant for skipping the auto-test step in
the coin test instructions, but these are hard coded in
coin to skip the entire test workitem.
2. The offline doc builder builds Qt and tools from scratch
A better approach would be to depend on another build
and just configure and build docs, but doing so requires
more investigation.
Change-Id: I5a041dec697424b85d3b1588cd6e77a80551d2eb
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
qtci-windows-10_22H2-x86_64-51 was copied as -52
In this new tier-1 image, the following services were disabled:
- backgroundDownload.exe (part of MSVC)
- Microsoft Edge update/installer and Onedrive
Also missing certification GlobalSign Root CA - R3 was added.
Pick-to: 6.8 6.7 6.5 6.2
Task-number: QTQAINFRA-6207
Task-number: QTQAINFRA-6490
Task-number: QTQAINFRA-6473
Change-Id: Ifd51d25a6c8d43b008ca65af22ebbd592cf57b85
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
Packaging reported issue that python installation
without proxy didn't work - therefore enabling proxy
back was needed but with a fix to handle Py 3.10+ changes
Py 3.10+ pip 24.2 has moved to use system certifications
by default which caused issue when proxy is used
and if host didn't have one specific certification
GlobalSign Root CA - R3 for pypi.org.
Also noticed that sometimes Windows x64 images seemed to
have this missing certification, but after installing it
to Windows ARM (which was clearly missing it) - logs showed
they didn't have it - and direct check to both Win x64
Tier1 images showed that they didn't have that cert.
Not sure what steps in provisioning or proxy usage could have
affected to that, but missing certification is now added directly
to all of these new three Windows Tier 1 images:
- qtci-windows-10_22H2-x86_64-52 (via QTQAINFRA-6207)
- qtci-windows-11_23H2-x86_64-53
- qtci-windows-11_22H2-aarch64-53
Therefore --use-deprecated=legacy-certs flag is not needed
when system has correct certification available as Py 3.10+
has moved to use them by default.
Long-term improvements could still be added in future, in two ways:
1) Internal package cache (QTQAINFRA-6485 QTQAINFRA-5531), or
2) To update system certificates with Py 3.10+
But those will need more time to decide and implement.
Therefore this improved quick fix to get proxy back with Py 3.10+
was needed now and it removes previous quick fix to unset proxy.
Task-number: QTQAINFRA-6490
Task-number: QTQAINFRA-6473
Pick-to: 6.8 6.7 6.5 6.2
Change-Id: I0805a70cf1163012094505162d28640e9ea8e6bb
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
both x64 and arm64.
Don't have enough resource to make sure docker setup works fine
for new platform now.
Task-number: QTBUG-126410
Pick-to: 6.8
Change-Id: I58de4836af9d7589c1a1db5371c410099e671793
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
Previously configurations with -make examples in their configure args
were building examples as part of the Qt library build. This has some
downsides:
- we don't build examples as a separate project, thus not ensuring
that we build examples as our users would
- qt cmake deployment api can't be used due to various limitations in
our tooling
Use the new qtbase instructions to instead build examples as a
separate project in a separate build directory, after Qt is built and
installed. This is similar to how we build standalone tests.
The new instructions are activated by the StandaloneExamples features.
It is opt-in as opposed to standalone tests, so we can disable the
feature in case any regressions happen.
Task-number: QTBUG-90820
Task-number: QTBUG-96232
Change-Id: I71b37b91ed09bcc0797841adf0df84cc0b111fd7
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
RHEL-8.8 targets are replaced by RHEL-8.10 targets in platform
configurations. [CI Platforms]
Task-number: QTQAINFRA-6366
Change-Id: I2dcf70b030d72261ec7bd130058a6062644813d6
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
'InsignificantTests' is removed from all RHEL-8.10 targets and
'Packaging' feature is added to packaging RHEL-8.10 targets. [CI
Platforms]
Task-number: QTQAINFRA-6366
Change-Id: I0a83ccf5b75c7f2c7c8de871c267d286cf3a9296
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
We still have one offscreen build(non-dev).
Pick-to: 6.8
Change-Id: Ib0a4314387bc4388e75cb6dc65c220e167980805
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
It's broken in the VMs in our CI.
This follows 94a4f06fb88ec6c7fa5e31dfd28af4e9b3cdbdd8 in qtbase.
Fixes: QTBUG-126250
Task-number: QTBUG-125446
Pick-to: 6.8
Change-Id: Id61f3d51cea33a8648aa99941c0dc77b9da5c498
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
Reviewed-by: Simo Fält <simo.falt@qt.io>
RHEL-8.10 will be run in parallel with RHEL-8.8 in CI as non-blocking
until RHEL-8.10 is confirmed stable, then it will replace RHEL-8.8. [CI Platforms]
Task-number: QTQAINFRA-6366
Change-Id: I4b470754895a72be026e869eb4e4d273eb3801b4
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
Reviewed-by: Simo Fält <simo.falt@qt.io>
The flag was removed from qtgrpc repo and has no effect now. Clean it
up from all platform configs.
Pick-to: 6.8
Change-Id: I59e200c6bcd63e03cc7c7477d502e456af8c9b01
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Add the missing QT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR for qnx and
Android 14 platforms.
Pick-to: 6.8
Fixes: QTBUG-127272
Change-Id: I60caa0141aa2d8566311d30677891201b12c4ed6
Reviewed-by: Dennis Oberst <dennis.oberst@qt.io>
New tool version corrects crashes in Analysis. New configuration
fixes git config in Axivion dashboard server.
Task-number: QTQAINFRA-5965
Task-number: QTQAINFRA-6348
Task-number: QTQAINFRA-6260
Change-Id: Ice7c9efd398236e1f5186f756f23c321aba0cf79
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@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>
Packaging targets were accidentally moved to c++20.
Amends bf633f08b7
Amends b4bcf1e6ca
Fixes: QTQAINFRA-6424
Pick-to: 6.8
Change-Id: Iad6f8202329b471733cc1bc8ddf22feb3ffadfb4
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
Reviewed-by: Simo Fält <simo.falt@qt.io>
This enables blocking test building.
Pick-to: 6.7 6.8
Change-Id: I184bd16a1c6a0ec45bfd9ee9b96c478dd2cf7c33
Reviewed-by: Toni Saario <toni.saario@qt.io>
build on wayland and test offscreen and wayland
Task-number: QTQAINFRA-6112
Task-number: QTQAINFRA-6308
Change-Id: I31a57794d455316fc98f1d84d3d275fa6e934b8e
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
The version variable that is used to define the packages to download was
updated to reflect the new version.
A new case was added for the new "Debian11" on "arm64" package which was
not a provisioned package on older version but is now provided.
As "Debian11" was not currenly loading "libclang.sh", a new script that
performs this process was added to
"coin/provisioning/qtci-linux-Debian-11.6-aarch64".
The newly sourced "libclang.sh" includes
"coin/provisiong/common/unix/common.sourced.sh", which sets up certain
common variables such as the used architecture and the platform id.
When "common.sourced.sh" sets "PROVISION_ARCH", that contains the
current platform architecture, it fails if the platform architecture is
not supported.
For "Debian11" on "arm64", the architecture, as reported by "uname -m"
is "aarch64", which is equivalent to "arm64".
"aarch64" was not handled by the script, so that a platform with that
architecture would result in a fail when sourcing "common.sourced.sh".
To avoid the failure, the case that sets "PROVISIONING_ARCH" to "arm64"
will not trigger when the reported architecture is "aarch64".
The specialized RedHat case was update to work specifically for version
9, to use the new specifically built package for Rhel9.2.
The default case, previously using an "ubuntu20.04" package, was
modified to use a "Rhel8.8" package.
A package for "Ubuntu20.04" is not currently provided anymore as the
platform was removed from CI and the new "22.04" package is not
compatible with all the platforms that would use it.
In particular, the new packages are built on a too new glibc, which will
then fail to link, due to undefined symbols in the produced Clang
libraries, when used on older-glibc platforms such as "OpenSuse15" and
"Rhel8.8".
The "Rhel8.8" package was specifically used as the platform for the
default package as it ships the older glibc, "2.28", of the supported
platforms, which should ensure that it works on the older-version platforms.
The "sha1" variables for cached downloads was updated to reflect the new
packages.
For provisioning on windows, the version variable and the sha1 variables
were updated to reflect the new version and the new packages, respectively.
Pick-to: 6.8 6.7
Task-number: QTBUG-111580
Task-number: QTBUG-121548
Change-Id: Ie7c1a8d8fe9114912d53a87f70ebfa00341a9d8a
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Previously, iOS (where we mostly using static linking) was also using
FFmpeg built as static libs, now switch to dynamic libraries, as
it was already done for macOS. Requires changes in cmake file in
qtmultimedia in order to configure with -DQT_DEPLOY_FFMPEG=TRUE.
Pick-to: 6.8
Fixes: QTBUG-120991
Change-Id: I0b014f24db3127697b76c6d1774437faae64a7c8
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
Updated Windows build configurations in qtsafenderer.yaml
and qtsaferenderer-runtime.yaml.
Change-Id: I010d6ffb02e09d1ab604ebc93a39c22b1c9be1b0
Reviewed-by: Toni Saario <toni.saario@qt.io>
Like regular Android we test QtAA in CI with the maximum and minimum
supported SDK levels - currently 10 and 13. This commit bumps the
maximum level to 14 starting from QtAA 6.8.
Pick-to: 6.8
Task-number: QAA-2410
Change-Id: I8ef645b2c7bb1ee2b1fd20980bad0f593d308df8
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
Patchelf is needed for fixing FFmpeg dependencies,
the previous CR reveals details.
Patchelf is not available in the standard package manager on RHEL,
let's install it from sources.
Pick-to: 6.8
Change-Id: I724ffed9c48b9811e10de89519d8271e2f82260d
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Amount of macOS x86_64 hw is limited, it is better to use arm64
Task-number: QTQAINFRA-6380
Change-Id: I56c5ffa424952d3880ebc0ad94cdb54e0a7c6453
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Configuration windows-10_22H2-msvc2019-developer-build has been removed from CI.
Fixes: QTQAINFRA-6386
Change-Id: If2e5a2727101feb787d5e8bc3be7898156978c53
Reviewed-by: Toni Saario <toni.saario@qt.io>