The configuration is duplicate as it is also run on 24.04.
Pick-to: 6.11 6.10 6.8
Task-number: QTQAINFRA-7146
Change-Id: Icbd1f7379cb1f23ed8c818f25aa3e09c5fcb5a45
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
Currently, this script is hardcoded to output to the directory
'/usr/local/'. This output is stored in the variable 'prefix'. However,
this variable is used inconsistently in the script, meaning we cannot
actually modify the variable to change the output directory.
This patch does the following:
- Applies the 'prefix' variable where necessary.
- Allows an optional command-line parameter to be applied to 'prefix',
allowing one to specify where the output directory. This is
particularly useful for local builds.
No changes to current CI behavior.
Pick-to: 6.11 6.10 6.8
Change-Id: I51f83ce3844c2aa9db778b1c54091acb64a227e6
Reviewed-by: Dimitrios Apostolou <jimis@qt.io>
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
Commit d6918d7ac5 broke init-repository if
you did not pass an --alternates option.
Pick-to: 6.8 6.10 6.11
Task-number: QTBUG-142712
Fixes: QTBUG-142744
Change-Id: Ia727b420a34a46e52f0f05e549aabe2c975c6d7e
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
This patch updates build.gradle to set compile- and
targetSdkVersion to 36.
Task-number: QTBUG-138552
Task-number: QTBUG-138549
Pick-to: 6.11 6.10 6.8
Change-Id: I44be99956f39e7bc23e8c5a3d15289dfdd574921
Reviewed-by: Nicholas Bennett <nicholas.bennett@qt.io>
RTA is using different means to install Squish for RTA tests, no need
to do it in general provisioning.
Pick-to: 6.11
Change-Id: I4858a282ad7a0b1412f6dd0f4876109fe54a4c88
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
This patch bumps:
-The sdkBuildToolsVersion used in Coin to 36.0.0
-The sdkApiLevel used in Coin to 36
Task-number: QTBUG-138550
Task-number: QTBUG-138549
Pick-to: 6.11 6.10 6.8
Change-Id: Ic63cd28ba39743e517ea3a3e2f9ec08bd5dc3267
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
Axvion analysis will be run also in release branches and this
prevents results to be mixed between brnaches.
Task-number: QTQAINFRA-7599
Pick-to: 6.11 6.10 6.8
Change-Id: I5766d234bce2054d0dc6999ae1cac3f05c197d0e
Reviewed-by: Aku Pietikäinen <aku.pietikainen@qt.io>
Reviewed-by: Toni Saario <toni.saario@qt.io>
installing libc++-20-dev and libgstreamer1.0-dev on the same system
causes problems:
* using the llvm apt repo, it will uninstall libgstreamer1.0-dev
* using ubuntu's repo, it will break gstreamer's pkg-config integration
reason is that libgstreamer1.0-dev depends on libunwind-dev, but llvm's
libunwind-20-dev does not provide the pkg-config files.
as temporary workaround we basically revert
e5b56d1d37.
Pick-to: 6.11
Change-Id: Ib4626d17339256d56c4764e3167f4e9fe4b9c909
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
Reviewed-by: Liang Qi <liang.qi@qt.io>
Introduce a new --codereview-https option to use HTTPS instead of SSH
for Gerrit URLs. Update QtIROptionsHelpers.cmake and document in
QtIRHelp.txt.
Change-Id: Iae032bdf07e323a8f63946475c692cab23deffc4
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Currently, the iOS FFmpeg provisioning script will install .xcframework
files into a subfolder 'frameworks'. The .xcframework files fulfill a
similar purpose to ordinary .dylib files and should be placed in a
'lib' subfolder, to make provisioning more similar to how we deploy
FFmpeg for other platforms.
This patch makes us install .xcframework files in a 'lib' subfolder
instead.
Task-number: QTBUG-136480
Pick-to: 6.11 6.10
Change-Id: I91f9938b595ecff5b04d49a71e9872f5d7278cda
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
This helps with the test stability when code.qt.io is down or slow.
Pick-to: 6.10 6.11
Change-Id: I0bdaaa06772a94e73cb33d3f827e4e327123b60a
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
When using --alternates with a relative path, nested submodules
(e.g., qtdeclarative/tests/auto/qml/ecmascripttests/test262) failed
because the alternates path wasn't adjusted for the changed working
directory depth. The --alternates option worked correctly with absolute
paths.
Fix by converting the passed alternates path to an absolute path.
Pick-to: 6.8 6.10 6.11
Fixes: QTBUG-142712
Change-Id: Ief7a87768d9ff17bb2832ae363f573ecae58d5ee
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
This disables 12 more generally Mostly Harmless warnings to have a
realistic chance to get down to a base line of zero violations.
Later we can re-evaluate the disabled rules one by one and re-enable
them if wanted.
Change-Id: Id9fc2e4013fb7c59040868fea54f14dcda6cefe0
Reviewed-by: Matti Paaso <matti.paaso@qt.io>
This patch
- Replaces Android 15 with Android 16 as a maximum version
- Sets Android 16 as significant and switches to r07 version
Task-number: QTQAINFRA-7299
Task-number: QTQAINFRA-7298
Pick-to: 6.11 6.10 6.8
Change-Id: Ic2ac071da7ab1763225c82e441c27f60cc25fe06
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
Needed for WebEngine based on Chromium 140
Pick-to: 6.10 6.11
Change-Id: I0cf1df1107cc8f5aa2850239608f03a7c7831676
Reviewed-by: Elias Toivola <elias.toivola@qt.io>
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
This script is currently located in the 'linux' directory. In future
patches, it will be reused by macOS and Linux hosts.
This patch moves it into the 'unix' folder.
Pick-to: 6.11 6.10 6.8
Change-Id: Ib03b999bef0373dc9600d505b1f4ce926fa97de6
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
The current script relies on some commands intentionally failing during
provisioning because they only apply to certain versions of Xcode.
These errors are silenced using pipes. This is error-prone because we
can no longer catch when these commands are failing in the case where
they should not.
This patch introduces some additional error-handling and conditionals
to make sure we only run commands when they are intended to succeed.
Pick-to: 6.11 6.10 6.8
Change-Id: Ic5048f54adb31d263e28f51312f44fe3b55e6fe5
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
This patch updates the Android Command-Line Tools in CI from v2.1 to
v19.0.
The zip file for the older version contained a single directory
'tools', this directory has been renamed to 'cmdline-tools' in the
newer version. This patch includes some changes to make sure we still
use the same folder structure as before.
Task-number: QTQAINFRA-7487
Pick-to: 6.11 6.10 6.8
Change-Id: Id9227241283d4c529005c4961449f50ca7af13be
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
The Android provisioning scripts on macOS and Linux perform many of the
same tasks, but with slightly differing approaches. Future patches will
make us run Android emulators on ARM64, which will further make these
scripts similar.
This patch performs some modifications to the macOS provisioning script
to make it more similar to the Linux one. This will help us combine
parts of these scripts in the future.
Task-number: QTQAINFRA-7487
Pick-to: 6.11 6.10 6.8
Change-Id: Idba30d07607780d1ef8c60cc5e038a034c821632
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
This script is stored in the directory 'provisioning/common/unix'. This
implies it can be used from Linux and macOS hosts. The script
uses the wget command, but at the time of writing, wget is not
installed on our macOS hosts. If wget is not found, this command will
assume the HTTP proxy is not found rather than fail the script
execution.
This patch rewrites this script to use curl if wget is not found.
This makes it run correctly on macOS. Additionally, it adds a fail
case if neither wget or curl is found on the system.
Pick-to: 6.11 6.10 6.8
Change-Id: Id54b9fc69307ef28eb35cf1c0042df11e704a6e2
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
The Python provisioning on macOS ARM hosts is done multiple times
across separate targets.
This patch moves the code into a common script 'macos/python-arm.sh'.
As a drive-by, we bump the version of all targets to 3.12.11, whch is
the same as the one used in the macOS 15 ARM host.
Pick-to: 6.11 6.10 6.8
Change-Id: I8c1f6f7d635fe47b9faa34dbe6988e89252dc2c9
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
On macOS hosts we are using external mirrors for installing with pyenv.
We should instead pull the necessary files from our local mirror.
Pick-to: 6.11 6.10 6.8
Change-Id: I6ba67dfd7cd37809164c7e2c4bcf89d07d45b1b2
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
Custom patched packages for windows.
Also Add Windows on arm support.
Pick-to: 6.11 6.10 6.8
Fixes: COIN-740
Change-Id: I27f7d36b3501be2a2011b9b8dfa0ec846cd57bf5
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
Renamed files since it leads to misunderstanding due to their index.
Our CI system sees only two first digits, so 100 is seen as 10
and executed with other 10s which is misleading.
Pick-to: 6.10 6.8
Change-Id: Iabb548c622d71df8a3593cc171b7e0c2e2ae0287
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
Updating for raising the compiler requirements.
Also adds Ubuntu 22 to test with GCC 11
Since Qt Creator branches can use the same Qt branches
that define these platforms, keep one RHEL 8 job
for Qt Creator 18. Mark it in the features, so the
Qt Creator 19+ configuration can filter these out.
Pick-to: 6.11 6.10
Change-Id: Ib771f473b6ed3ce42c6191647da7d473b64c2316
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
- need to trigger an update for enabling changes required
for merging windows provisioning.
Change-Id: I8b5804c2bda2e4f4f4f204b0db95232583ac57e1
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
The installer from Microsoft which is used for ARM machines has a
different default installation path compared to the installer from
Oracle that is used for x64 machines, but the provisioning script did
not take it into consideration.
As a result, the JAVA_HOME variable was pointing to a non-existing dir
on Windows ARM machines.
An attempt to adjust the installation path using TARGETDIR or INSTALLDIR
properties did not work, so this patch simply hardcodes the path that is
used by the current ARM installer.
Amends b3f5b4fd64 that added Java
provisioning to Windows ARM.
Task-number: QTBUG-138968
Pick-to: 6.10 6.8
Change-Id: I2abdc07195a9c633340c2d7b21deaa80762aee67
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
- Rename the sha256 variable to sha1, because that's the actual
algorithm that was used to calculate the checksum.
- Use the `version` variable when constructing `externalUrl`.
Amends 0ac4df3e52.
Change-Id: I79d38fdf5033dce7d0b04c2d8788767b2325895f
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
It is required for qtopenapi.
The patch adds the maven provisioning to only those Windows
configurations that are currently used in qtopenapi.
This commit amends 0ac4df3e52 which
provisioned the same files for Linux and macOS.
Task-number: QTBUG-138968
Change-Id: I8ec903959c58185a5c46bdb7c13f178bdc10a109
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
- Add Windows configurations that use MSVC
- Provision openapi generator on the relevant platforms
- golang is already provisioned on all these platforms
The patch does not enable mingw and llvm configs, because
we need to build zlib using mingw first.
It also does not enable x64_64->arm64 cross-compile configs,
because they have a dependency on the mingw config.
Task-number: QTBUG-138968
Change-Id: I4fe35d149a1f9bfa93c1a128e5910b33aad536d4
Reviewed-by: Tatiana Borisova <tatiana.borisova@qt.io>
Place the downloaded file into the new directory inside C:\Utils and
add it to the PATH, because that's what the qtopenapi build scripts
expect.
Task-number: QTBUG-138968
Change-Id: I113b0095074cc8f0dc0470daf54fa7f22ee22719
Reviewed-by: Toni Saario <toni.saario@qt.io>
That is required for qtopenapi builds that would be enabled in the
follow-up patch.
The zlib library is already built after commit
97e80c1538. That commit also sets the
ZLIB_PATH_{arch} environment variables. So, we only need to set
ZLIB_ROOT to point to the proper zlib installation.
This patch does not cover llvm and mingw configurations, because we
need to builds zlib using these compilers first.
Task-number: QTBUG-138968
Change-Id: I5d5ad754d13bef9fc6184b41823a42d98863991a
Reviewed-by: Toni Saario <toni.saario@qt.io>
libuuid is needed for it. RHEL 9.0 already has it in its package list,
but it was missing for the later RHEL 9 versions
Pick-to: 6.10
Change-Id: Ibd052438c534e5811d2f0b0ee848808227e795f9
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
This currently flags 294 occurences in Qt Core as errors, practically
all of them related to the implemenation of QDataStream related
functionality.
I think this generally at the wrong level, certainly for Qt Core,
but also for user code: operator>> is (besides operator<<)
/the/ main reason to use the QDataStream class, so if we consider
this risky, QDataStream itself should not be used, i.e. it would
be better to flagging code that creates QDataStream objects not
every use of operator>> of such objects.
Change-Id: If758bde3a77f64cc8c06f8328459dfcd2d94dc8f
Reviewed-by: Matti Paaso <matti.paaso@qt.io>
To all linux, macOS and Windows platforms.
Task-number: QTQAINFRA-7554
Change-Id: I677440fb9faf3f3d36744b59f91f0036449b639b
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
RHEL-9.6 will be run in parallel with RHEL-9.4 with insignificant tests
until RHEL-9.6 is confirmed stable, then it will replace RHEL-9.4.
[CI Platforms]
Task-number: QTQAINFRA-7528
Change-Id: I5fe6bfe6f57f1dfb7ec4aeb05560dd7f01fc7f2f
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
openSSL 3.2.0 or newer required for libcurl in openSUSE 16.0
This solution has possibility to leave default openSSL
version into use for others, and openSUSE 16.0 (or others)
can move to a newer version if needed.
There are currently two tests failing in this update,
but as openSUSE 16.0 is non-blocking in the CI, it
doesn't get blocked.
Tickets created to fix those:
- QTBUG-141722
- QTBUG-141723
Task-number: QTQAINFRA-7502
Task-number: QTQAINFRA-7455
Task-number: QTQAINFRA-7452
Change-Id: Ie9995a3afcdb09d091d75651528a94f71f5ece2a
Reviewed-by: Elias Toivola <elias.toivola@qt.io>
Reviewed-by: Simo Fält <simo.falt@qt.io>
Notes:
- GCC 15
- Python 3.13
- MimerSQL with openSSL 3
- CINetworkTest skipped until newer ICU 77 version available
- gstreamer-plugin-openh264 not available
Repository names have changed:
- Old: /etc/zypp/repos.d/repo-oss.repo
- New: /etc/zypp/repos.d/openSUSE:repo-oss.repo
Not installed by default, therefore no need to disable anymore:
- balooctl
- ntp
Task-number: QTQAINFRA-7455
Task-number: QTQAINFRA-7452
Change-Id: I2af7f828e07d31d3622cf46e819318c71d28783e
Reviewed-by: Simo Fält <simo.falt@qt.io>
Reviewed-by: Elias Toivola <elias.toivola@qt.io>
This is an unfortunate combination of clazy-function-args-by-ref and
clazy-function-args-by-value.
function-args-by-ref fixes are almost always safe to apply. They
actually may save an unbounded amount of cycles, and there are typically
only a few of them.
On the other hand, function-args-by-value is a mixed bag: There are a
lot of them and the expected gain is small: It's typically trading one
or two register for one register and a "hot" location on the stack.
Especially when passing down such objects to a through a sequence of
function calls this is not even necessarily a clear win on all
architecture.
In any case it should be considered that especially in the Qt context
changing signatures of public functions is not cheap, if possible
at all.
Change-Id: I281ea086fb15e0a045316591d9af620b5e730f4a
Reviewed-by: Matti Paaso <matti.paaso@qt.io>
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
The binaries will be stored to ci-files02 after successful integrations
and the testing/release process will use those binaries.
Currently we can disable tests, as there are no unit tests in the
plugin itself.
Task-number: QTQAINFRA-7390
Change-Id: I7777ee47eed845022d67447a9389ab6943d69bc9
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
'JavaDocs' is a new configuration feature to generate HTML docs and
source JARs using JavaDoc after an Android module build is done.
Task-number: QTBUG-138976
Change-Id: I7d79a4b1aa93692956845838ae102f7bed113a28
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
Reviewed-by: Nicholas Bennett <nicholas.bennett@qt.io>
Our iOS FFmpeg provisioning includes build info.plist manifest files
for the FFMpeg framework files. This manifest includes the version of
FFmpeg that we are deploying. This version string is currently
hardcoded and does not match the version we are actually building.
This patch changes the 'install-ffmpeg-ios.sh' script to
programmatically grab the FFmpeg version from our related scripts, and
inserts it in the info.plist manifest.
Pick-to: 6.10
Task-number: QTBUG-136480
Change-Id: Iafeaade2ff6f2a933a0ba48749af459eef37ab51
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
Needed to export release content from the yocto builds.
Task-number: QTBUG-136634
Change-Id: I854b5b67d66aebc2b146e357785c987db47db362
Reviewed-by: Ari Parkkila <ari.parkkila@qt.io>
Reviewed-by: Mikko Gronoff <mikko.gronoff@qt.io>
- javac was not found on sles and opensuse, so installing
an additional package is required.
Change-Id: Ic26615dc8f7433c3acd870cc85ce16622a046d0f
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
- there is already 43-install-golang.sh file presented
Change-Id: I92fd18a95f21e084affe21d74d34aa706399bdfc
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
CI configs for new Qt on board repo.
Task-number: QTBUG-136635
Change-Id: I04d72a4d973ca96f66591ed109c10001824d16b5
Reviewed-by: Toni Saario <toni.saario@qt.io>
- add openSUSE15.6 build configuration for qtopenapi.
- add rhel9.4 build configuration for qtopenapi.
- delete macos15-x86_64 build configuration for qtopenapi,
because the current qtopenapi code only builds go binaries
targeting arm64 architecture, and the x86_64 configuration would
fail trying to run those binaries.
Task-number: QTBUG-140130
Change-Id: Ia4f1b91345d3d7a87916ceee319a6037318fac63
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
- replace the linux/install-golang.sh to the unix/install-golang.sh
for macos and linux provisioning configurations.
NOTE:
The Golang version is updated from 1.22.4 to 1.25.2.
Task-number: QTBUG-140130
Change-Id: Ic5e7a93bcad4d82210bcd5c7f4144153c938a603
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Documentation warnings easily sneak into integrations, as they were not
caught by pre-checks. Enabling them to catch them early.
Change-Id: I24eb9c653d6f774dccec82dea3003be27d81b8b7
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Toni Saario <toni.saario@qt.io>
Reviewed-by: Nicholas Bennett <nicholas.bennett@qt.io>
'cp -p' attempts to copy NFSv4 ACL extended attributes when preserving
permissions. On filesystems that do not support these xattrs (e.g., ext4),
this results in `Operation not supported` and causes 'cp' to fail.
Add explicit skip entries for these attributes in /etc/xattr.conf
so libattr ignores them during copy operations. This is needed to get
bitbake builds to work when using download cache from NFS4 mount.
Change-Id: I3dabb065c4d9928121fe14d0fdc896c7415bdcb9
Reviewed-by: Toni Saario <toni.saario@qt.io>
* Ubuntu 24.04 - clang-20 with libc++
Note: HAVE_cxx23_stacktrace failed on clang-20, which is experimental
in libstdc++ and not implemented in libc++.
Task-number: QTQAINFRA-7340
Change-Id: Ib2b2e8b34b7a978d1e5d98c1baf0cbdd4a49da6b
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
Allow the emulator launcher to take new options that are commonly
used:
* --window: shows the emulator window instead of running headless
* --avd: set the emulator name instead of using the env var, this
can be more intuitive and more expected than the env var.
* --help: to guide users how to use this script.
Also, the script now will print a list of available AVD names to
use instead of the less obvious error of no AVD name provided
which forces the user to manually find the names first.
This also, sets the COIN_CTEST_RESULTSDIR to CWD in case
it's not set, this is the case when running as a debug VM.
Pick-to: 6.5 6.8 6.10
Change-Id: Id90ca2fddda713645e9c1621e346d73f1dc85ea1
Reviewed-by: Dimitrios Apostolou <jimis@qt.io>
Ubuntu 23.10 introduced new apparmor features and those prevent bitbake
to work correctly until a apparmor configuration file is installed.
Task-number: QTBUG-137321
Change-Id: Ib3f5faae07ea116012b1c66554211c53ca0e77e7
Reviewed-by: Toni Saario <toni.saario@qt.io>
This is needed for the selenium tests in qtdeclarative.
Change-Id: Iaca14244cd42c8b93150b48d6f37c647a2fd7d34
Reviewed-by: Piotr Wierciński <piotr.wiercinski@qt.io>
The toolchain is x86_64 only, which trips up xcodebuild if Rosetta2
is not installed: https://github.com/swiftlang/swift-build/issues/836
We don't have any CI configurations that build QNX on macOS, so we
don't need to install it.
Pick-to: 6.10 6.8 6.5
Change-Id: I8714438c6373e613f28f67b48d2f4f78a723bc9d
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
Reviewed-by: Marianne Yrjänä <marianne.yrjana@qt.io>
Provision started to fail in python2 installation.
Task-number: QTQAINFRA-7459
Pick-to: 6.10 6.8 6.5
Change-Id: I3059615e8469bf935031791fa826452e01f4f972
Reviewed-by: Simo Fält <simo.falt@qt.io>
to follow the syntax like others.
Pick-to: 6.10 6.8
Change-Id: I64ce1b62d6a1caace624acd36c17be02005156c5
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
The directory and file did not exist in cache. Added them and this
change sets versioning to the nuget file name in cache.
Pick-to: 6.10
Task-number: QTQAINFRA-7264
Task-number: QTQAINFRA-7265
Change-Id: I4cf7ce1b547bd8cd4272a981de6845c06a4d1d79
Reviewed-by: Aku Pietikäinen <aku.pietikainen@qt.io>
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
This patch introduces 16KB page size support for Windows
host to do Qt for Android build.
Currently Windows only builds FFmpeg on armeabi-v7a ABI.
32-bit ABI's like armeabi-v7a do not support 16KB page
sizes so the build is done for 4KB page size.
Amends ce488ecbc125cb3484f1cbed592ac9e28867eb66
Task-number: QTBUG-139762
Pick-to: 6.10 6.9 6.8 6.5
Change-Id: Ife7d56dd4a9f6d2892127571cab616b3f861dee6
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
This patch adds needed linker flags for FFmpeg Android
compilation to get FFmpeg binary to be compliant for
16KB page size. 16KB page size is compliant with 4KB
page size.
This patch updates Android OpenSSL to be version 3.0.7,
which is build with two NDK's: NDK27c and NDK29-beta2.
Both with 16KB page size support. They are build with https://github.com/KDAB/android_openssl/pull/69
just changing OpenSSL version from 3.1.1 to 3.0.7 and
NDK version from 25.2.9519653 to 27.2.12479018 (27c) and
another build with 29.0.13599879 (beta2). The both build
artefacts are added to CI-files to be usable.
As the 16KB page size is applicable only to 64-bit ABI's
this patch adds the variable to 90-install-ffmpeg.sh files
for android-x86_64 and android-arm64.
Change is picked to all branches using Android 15 or newer
as Android 15 introduced the 16KB page size support.
Fixes: QTBUG-139762
Pick-to: 6.10 6.9 6.8 6.5
Change-Id: I50bab81b97dad3e9d8c1e834c1928949d1e19687
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
The previous comment referenced a specific bug report but didn't
clearly explain the intent. Replace it with a more general note
clarifying that comment reflow is disabled.
Task-number: QTCREATORBUG-30304
Pick-to: 6.5 6.8 6.9 6.10
Change-Id: I963a3585a20e089df5e5bf71b638e9fc4b15542f
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Related to 33dd0de8fb51bb83230b8c2524d5aae28ffc799b
Task-number: QTBUG-138144
Change-Id: I2aa4a67f8c14de6645f5e821d269474646e616f3
Reviewed-by: Toni Saario <toni.saario@qt.io>
This causes issues with incorrect indentation of comments, as explained
in the linked bug report.
Task-number: QTCREATORBUG-30304
Pick-to: 6.5 6.8 6.9 6.10
Change-Id: I6951bc7bf42990b8671cf99b04b8ca7bed1d24cb
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
Update also Xcode to 26 official release
Task-number: QTQAINFRA-7196
Change-Id: I3549f0b5e7a153cb2728a66a7d69ab4378e0acb6
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Reviewed-by: Aku Pietikäinen <aku.pietikainen@qt.io>
Brew install started to fail on older macos arm versions. Getting
rid of all brew install to avoid future problems with it.
Task-number: QTAINFRA-7408
Pick-to: 6.10 6.9 6.8 6.5
Change-Id: I22eddfad1f49b0814841a5d554100fdffd329593
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
The release config was replaced with rhel 9.2. There is no need
to export 8.10 artifacts anymore.
Pick-to: 6.10
Change-Id: I64fe163a1ab22f4275a8c449f18b3c51d71f8633
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
Set Android 16 to use the _LATEST NDK instead, and create nightly
Android targets that use the _PREVIEW NDK.
Task-number: QTQAINFRA-7290
Task-number: QTQAINFRA-7291
Change-Id: I13688d2c624ba985b5d1fa7a62a2617844dfb9e2
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
Reviewed-by: Rami Potinkara <rami.potinkara@qt.io>
This patch introduces preview NDK. Environment variables related to
preview NDK's are marked with _PREVIEW. The patch introduces NDK
29.0.13599879-beta2 as first _PREVIEW NDK. This preview NDK will be
first used in insignificant platforms Android 16.
Task-number: QTQAINFRA-7290
Fixes: QTQAINFRA-7291
Change-Id: Id093b8f71970f77409bd805d6d1d153f47ade762
Reviewed-by: Rami Potinkara <rami.potinkara@qt.io>
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
Reviewed-by: Elias Toivola <elias.toivola@qt.io>
CI configs for new Qt on board repo.
Task-number: QTBUG-139550
Change-Id: I51a4ecf78088557a53a6754c0bcd661a1165b87f
Reviewed-by: Toni Saario <toni.saario@qt.io>
Update QR rule set and add user name mapping into email to enable
erosion notification.
Task-number: QTQAINFRA-7222
Change-Id: I98fa2f278c3fea7dde61477841ef03ce10223d58
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
After swapping the packaging node from x86_64 to arm64 the
default python got downgraded from 3.11 to 3.9.
Pick-to: 6.10
Change-Id: Iea65e3c3d959c22e1a12d2a4f12ba466de4dbf24
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
We provide qtwasmserver.py when running the selenium tests,
but the dependencies of it must be installed.
Change-Id: Ib12ff04ec6bed28e44b7b2517339669fde9f256a
Reviewed-by: Piotr Wierciński <piotr.wiercinski@qt.io>
We install the new driver alongside the old one,
to make sure that existing builds work unmodified.
The new chromedriver is needed for jspi to work.
We set environment variables:
-- for existing builds
BROWSER_FOR_WASM
CHROMEDRIVER_PATH
-- for new builds
WASM_BROWSER_JSPI
WASM_BROWSER_JSPI_ARGS
WASM_CHROMEDRIVER_PATH_JSPI
WASM_CHROMEDRIVER_PATH_JSPI_ARGS
Change-Id: Ia83d639ea2daf34cf44bd72bae455211fd64a441
Reviewed-by: Piotr Wierciński <piotr.wiercinski@qt.io>
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
Invoke-NMake helper temporarily clears MAKE flags, such as
MAKEFLAGS='-j8', to prevent errors from GNU-style flags and to reduce
flakiness with NMAKE.
The helper is used to build zlib and to prevent:
error U1065: invalid option '-'
Pick-to: 6.10 6.9 6.8 6.5
Task-number: QTQAINFRA-7363
Change-Id: Ia80216677eba6fd8f8364741b6999e6155d678ab
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
This ensures that link-local IPv6 address is unique per
each VM.
Task-number: QTQAINFRA-7383
Pick-to: 6.10 6.9 6.8 6.5
Change-Id: I53434ec3a158cec09f03c96087a401ef05f47b86
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
libclang-v100-dyn.sh had the libclang version 10.0 hard coded in the
file name for the Windows scripts. All local provisioning scripts
calling the latter also had the same version hard coded in their
respective filenames. libclang-v100-dyn.sh also sets the version to be
downloaded in a local variable
There is a mismatch between file names and actually installed version
when the download version is modified.
Remote version from common installer and related local scripts.
Change-Id: I81773ff5a834b6f396ce17af93c6510991de129a
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
With possibility to extend other drivers's versions into log
Task-number: QTQAINFRA-7168
Pick-to: 6.10 6.9 6.8
Change-Id: Ib10887fb904a75ccbb91bef2e9be0e83625da784
Reviewed-by: Matti Paaso <matti.paaso@qt.io>
Target jammy-arm64-debian-pkg-packaging fails in
waitLoop function, which is also used by Ubuntu platforms.
Fix by extending wait loop for lock paths:
- /var/lib/dpkg/lock
- /var/lib/apt/lists/lock (new)
Task-number: QTQAINFRA-7361
Change-Id: If8d5eacaeb72ea6a36496093bc5c248f61997afb
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
This patch updates the fully booted check for Android.
Old logic used init.svc.bootanim property and it's status
"stopped", but since Android 16 forward the status is kept
empty "" if "-no-boot-anim" emulator startup parameter is used.
The new logic simplifies old and relies only to two values:
sys.boot_completed and dev.bootcomplete. These work similary
from Android 9 to 16.
Task-number: QTQAINFRA-7299
Task-number: QTQAINFRA-7298
Pick-to: 6.10 6.9 6.8
Change-Id: I62efb0b05cd9792f92040dcb98a37f4bf14022e6
Reviewed-by: Dimitrios Apostolou <jimis@qt.io>
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
Reviewed-by: Elias Toivola <elias.toivola@qt.io>
Libclang dyn >= 14 is needed e.g. for Squish.
As a drive-by, optimize shell script.
Bump version from 10 to 20.1.3.
Task-number: QTQAINFRA-7353
Change-Id: Iba3584c056c8f06b4efe19ac42d030b4a4049d34
Reviewed-by: Andreas Muss <andreas.muss@qt.io>
Reviewed-by: Simo Fält <simo.falt@qt.io>
Reviewed-by: Stefan Gehn <stefan.gehn@qt.io>
The fetching from 3rd party repos has become very flaky.
To avoid mirrors throttling us and other flaky issues cache
the dependencies and set -o to enable offline mode.
This seems to also speed up the step considerably.
Pick-to: 6.10 6.9 6.8 6.5
Change-Id: I01663e60baa44ab828d8880ab8b346034a50b60e
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
Ubuntu 24.04 installs Wayland by default. The X11 version is known to
be problematic, which is why ubuntu-24.04-x64-documentation-x11-tests
has been marked InsignificantTests.
Extend this to ubuntu-24.04-x64-x11-tests.
Task-number: QTBUG-137909
Task-number: QTBUG-136092
Pick-to: 6.10 6.9 6.8 6.5
Change-Id: I38f4bb5ca59255870dc6dbbb69e9ab339c679ddc
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
At the time of writing, homebrew ships patchelf version 0.18.0. This
version of patchelf has a bug specific to Androd binaries. The macOS
14 arm64 host currently uses this version of patchelf. This causes an
issue during runtime linking in Qt Multimedia applications on Android.
This patch modifies the macOS 14 arm64 host to use patchelf v0.17.2
that we compile from source. It also adds warnings to the provisioning
log should someone try to use v0.18.0 in the future.
Fixes: QTBUG-136930
Pick-to: 6.10 6.9 6.8
Change-Id: Id66b560e6a1d4300a54017e9c3366720dc291944
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
This patch amends 133de012af95507ac485845d8de8f58da005df64.
The previous patch introduced a regression where the newer build paths
were not being passed correctly into 'fix_ffmpeg_dependencies.sh'
during FFmpeg Android builds.
This patch introduces a common function to resolve the installation
directory, which is then used both during compilation and during
FFmpeg patching.
Additionally, it introduces some basic error-handling when running
'fix_ffmpeg_dependencies.sh' so that we can catch this issue in
integration, in the future.
Pick-to: 6.10
Fixes: QTBUG-138615
Change-Id: I195ebd3034a3184bad32e75916a41a20838b2db1
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
coin/provisioning/common/unix/libclang-v100-dyn.sh had the libclang
version 10.0 hard coded in the filename.
All local provisioning scripts calling the latter also had the same
version hard coded in their respective filenames.
At the same time coin/provisioning/common/unix/libclang-v100-dyn.sh
sets the version to be downloaded in a local variable.
When the download version is bumped, there is a mismatch between file
names and actually installed version.
Remove version from common installer and related local scripts.
Task-number: QTQAINFRA-7353
Change-Id: I7489489056e611d6ab84862dafbe48e4e2532780
Reviewed-by: Dimitrios Apostolou <jimis@qt.io>
Reviewed-by: Simo Fält <simo.falt@qt.io>
Installing directly from rb file no longer supported by
homebrew without HOMEBREW_DEVELOPER set after https://github.com/Homebrew/brew/pull/20414
was merged.
Create local tap for install to avoid need for homebrew developer mode.
Task-number: QTQAINFRA-7344
Change-Id: Id59af01875b16d1757b1dba36c2ba04bf973c212
Reviewed-by: Simo Fält <simo.falt@qt.io>
Stable is debian codename and the script was ran in Ubuntu, so it makes
me wonder how did this warm in the first place.
Change-Id: I6d907ce11d53aa498ea93522539891f38e7c8388
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
Will also make glibc versions visible in Tools and Versions pages.
Task-number: QTQAINFRA-7333
Pick-to: 6.10 6.9 6.8 6.5
Change-Id: Ic0274822f326e4b23ed423d8da20002bc6d4f20a
Reviewed-by: Simo Fält <simo.falt@qt.io>
After shocking realization that build artifacts are mixed between
cross-compiled and native window arm builds for installer add missing qt-zlib config, so configs match better.
The -no-opengl mismatch is covered in different patch.
Any auto detected platform configs and features mismatch is unknown,
but let's do hope it works (as the final output is not covered by
single ci test).
Pick-to: 6.10 6.9
Task-number: QTBUG-138859
Change-Id: I03562f1b518cf711cee894b5cf3f4512e2521f77
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
OpenCL, OpenGL, and Vulkan Compatibility pack has been
installed to WoA 11 23h2 Tier1 images to support OpenGL
usage with these modules:
- QtBase
- QtGui
- QtWidgets
- QtDeclarative
- QtQuick
- Qt3D
Enabling OpenGL by removing tags:
-no-opengl
-no-feature-run-opengl-tests
Introduce new cross-compile build target for WoA 11 23h2
- windows-11_24H2-msvc2022-arm64-23H2
- Which has OpenGL enabled
- Should not be used with WoA 11 22h2 as it doesn't have OpenGL
New build will be used only for WoA 11 23h2 tests
- windows-11-x86_64-arm64-tests-23H2
- Which has OpenGL tests enabled
Names for these build and test targets will be renamed later when
WoA 11 23h2 replaces WoA 11 22h2 by removing '-23H2' suffix from names.
Task-number: QTQAINFRA-6973
Task-number: QTQAINFRA-6109
Task-number: QTBUG-126030
Pick-to: 6.10 6.9 6.9.2
Change-Id: Ifa29d93d996ac4884a86835328170d857bf91f33
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
the gstreamer-1.20-plugin-openh264 package seems to be outdated, as
opensuse's openh264 repo seems to have moved to gstreamer-1.24 and
renamed the package to gstreamer-plugin-openh264:
https://codecs.opensuse.org/openh264/openSUSE_Leap/x86_64/
This partially reverts 69f651b01794c93da20894a7ea5728a332903850.
Pick-to: 6.10 6.9
Change-Id: Ie159ec48f83a7b7d10671d2200f7eb4fbcf93db3
Reviewed-by: Lars Sutterud <lars.sutterud@qt.io>
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
TLDR: We need force cross-build the compilation of WebEngine tools
when cross-compiling for Windows ARM64, to ensure that native
development on Windows ARM64 hosts can use the WebEngine tools.
Long version:
We have two packaging configurations for Windows ARM64.
1) we cross-compile 'Windows On Arm' Qt on an x64 Windows host.
This configuration includes the WoA WebEngine libraries, but not
the tools.
2) we build Windows on Arm Qt on a native arm64 windows host. This
currently lacks the WebEngine libraries and tools, because it takes
too much time to build them on native arm hosts in the CI.
When installing WoA on a Windows host using the Qt online
installer, there are three possible scenarios:
a) Running the x64 installer on an x64 Windows host, to be
able to cross-build projects targeting Windows on Arm.
This will install an x64 MSVC host qt, and an arm64 WoA target Qt
from case '1' above.
The x64 qt includes the WebEngine libraries and tools, and the WoA
qt only includes the libraries, but not the tools.
For WoA project builds, the build system will use the
x64 host tools. This works fine.
b) Running the x64 installer on an arm64 Windows host.
This is very similar to the 'a' case, except it involves emulation
of the x64 host tools.
This will install an x64 MSVC host qt, and an arm64 WoA target Qt.
The x64 qt includes the WebEngine libraries and tools, and the WoA
qt only includes the libraries, but not the tools.
For WoA project builds, the build system will use the
x64 host tools using /emulation/. This works fine, as long as x64
emulation is available and enabled.
c) Running the arm64 installer on an arm64 Windows host.
This will install the native arm64 WoA Qt from case '2' above.
The arm64 qt includes arm libraries and tools from case '2', but
that lacks the WebEngine libraries and tools.
So the installer will also install the cross-compiled arm64
WebEngine libraries from case '1', but not the WebEngine tools
(e.g. dict conversion tool).
To ensure that scenario 'c' also gets WebEngine tools, we need to
force build (cross-compile) the tools in scenario '1'.
This patch achieves that by passing -DQT_FORCE_BUILD_TOOLS=ON ,
similar how we do it for yocto builds.
Pick-to: 6.9 6.10
Task-number: QTBUG-138859
Change-Id: I8270731a4afef7ab9af8df63326fb838e02968e8
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
So it can be used during cross-compilation of arm64 packages.
To ensure the env variable set does not conflict with the x86_64
version, the env variable is suffixed with "arm64".
Pick-to: 6.9 6.10
Change-Id: I117f6c4a8431058b9af22390942539a49c632d6a
Reviewed-by: Toni Saario <toni.saario@qt.io>
So that we get complete test results for all failing tests.
Change-Id: I83288f7b8865d494402ada8c8401bce932ac2510
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Effectively insignificant for now, due to COIN_CTEST_IGNORE_EXIT_CODE.
Change-Id: I78a4e37c833c30d63da69da6b3d18e40a22da621
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
This makes configuring nightlies more simple and its results more
readable.
Pick-to: 6.10 6.9 6.8 6.5
Task-number: QTQAINFRA-5945
Task-number: QTQAINFRA-7069
Change-Id: I89ca6b65fbdfcd52dd607c008174e446dc6925f4
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
This patch introduces support for building FFmpeg for Android ARMv7
on Unix hosts.
Pick-to: 6.10 6.9 6.8
Change-Id: I21affa1137cb4b3aa3a5b9cfd5c71e755684db9c
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: Rami Potinkara <rami.potinkara@qt.io>
In preparation for generating a CycloneDX SBOM for Qt framework,
install the cyclonedx-python-lib package which will be a required
dependency for the SBOM generation process (assuming CycloneDX
generation feature is enabled in the build).
Pick-to: 6.8 6.9 6.10
Task-number: QTBUG-129598
Change-Id: Iacaeb22aa568cecd6ffbe2ece30de953e37c5cf2
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
Bullseye-backports has reached end-of-life and is no longer
supported or updated.
Pick-to: 6.8 6.9 6.10
Change-Id: If154155507e159333c0d0b638fc6910b1814665a
Reviewed-by: Patrik Teivonen <patrik.teivonen@qt.io>
Added CI configs for QNX8.0. Toolchain updated to latest version.
Qemu build files updated for new toolchain.
Task-number: QTBUG-131708
Change-Id: I25f5386c85f6bc2f87c69bf820d1bacc0ebd2a47
Reviewed-by: Simo Fält <simo.falt@qt.io>
It's not included by default in Xcode 26.
Change-Id: Ie1e11bdeba18c4ee1e00132fc4bc075b8218e1fc
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
Many of the system tools seems to be written in Swift now, which results
in a warning when running them:
swift runtime: backtrace-on-crash is not supported for privileged
executables
Luckily we can silence this warning via 'warnings=suppressed'.
See https://forums.swift.org/t/suppressing-backtrace-warnings/79235
Change-Id: I09b97553d996269fd4c9d23bf52a319bf964c833
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
New targets:
- windows-11_23h2-arm64-msvc2022
- windows-11-x86_64-arm64-tests-23H2
With latest versions
- Visual Studio Professional 2022: 17.14.7
- MSVC: 14.44.35207
OpenGL is still disabled, but 'OpenCL, OpenGL, and Vulkan
Compatibility pack' has been installed to WoA 11 23h2 Tier1
image to support OpenGL usage with QtWebengine, Qt3D etc.
These targets will be added later:
- windows-11_23h2-arm64-msvc2022-minimal-static-test
- Windows-MSVC2022-arm64_Static-23H2
[CI Platforms]
Task-number: QTQAINFRA-6973
Change-Id: I049f84ad7df91cd62e7f40044d8ef40705ac34e1
Reviewed-by: Simo Fält <simo.falt@qt.io>
Enable testing using QT_USE_ANDROID_MODERN_BUNDLE on the Android
RHEL x86_64 platform.
Change-Id: I1c31aad313b93ae454068bd1315d945b2ced227b
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Tool allows managing modern android bundles. Provision it on RHEL
8.10 platform - the one we use for the Qt for Android x86_64 builds.
Change-Id: Ia1a7bb077e9dc0afc95ad92cbd85c96724ab0ced
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
The option is mature enough to attempt adding full support in CI.
Enable it for CI testing on Android x86 RHEL machine.
Change-Id: Ib0ba96f7a30b10be64bc6df44353e10c090ec3ad
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
If used it might over write package that we want to release.
Pick-to: 6.8 6.9 6.10
Change-Id: I8c0403065cff7354699df6f4d16b5a8125277195
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
Reviewed-by: Akseli Salovaara <akseli.salovaara@qt.io>
Reviewed-by: Rami Potinkara <rami.potinkara@qt.io>
Set the VCPKG_INSTALLED_DIR, VCPKG_HOST_TRIPLET, VCPGK_TARGET_TRIPLET
environment variables after vcpkg ports installation. These variables
will be used when building Qt modules to setup the correct build
environment.
(This commit extends original f41e72adc6)
Change-Id: I7956fc828d6c490f19bfa5222d7db29d1550687e
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
The flite plugin for QtSpeech wasn't tested on CI as the development
files weren't installed.
Pick-to: 6.8 6.9 6.10
Change-Id: Ieefe42f67009b99cc95f54567f224972d12c1538
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
Reviewed-by: Tim Blechmann <tim.blechmann@qt.io>
Files were prebuild by cloning emsdk repo in their respective VM
produced by Coin provisioning, and running './emsdk install 4.0.7' and
'./emsdk activate 4.0.7' in macOS 15 and OpenSUSE 15.6. And just
'./emsdk install 4.0.7' in Windows 10.
This amends 5510396f4d9f175e7f61a953ea0722ce57d059d4
Pick-to: 6.10
Task-number: COIN-1232
Change-Id: Ifa768173093c4b6b90599d0fff8b34a1db8b1bbc
Reviewed-by: Lorn Potter <lorn.potter@qt.io>
Emscripten 4.0.7 requires Python +3.8, OpenSUSE does have Python 3.11
but its path is only set to PYTHON3_EXECUTABLE envvar defined in
08-pythondev.sh.
OpenSUSE 15.6 comes with Python 3.6.15 which the previous emscripten
3.1.70 used.
Pick-to: 6.10
Change-Id: Ied63ace32b7fb252d124ad447bc56dba353ff403
Reviewed-by: Lorn Potter <lorn.potter@qt.io>
Native WoA builds are done with -no-opengl switch,
therefore native test coin nodes do not need to have
openglsw installed.
(ms-windows-store://pdp/?productid=9NQPSL29BFFF)
However, when trying to run cross compiled WoA on native
test nodes this ends up with:
tst_QOpenGLWindow::create() Failed to load opengl32sw (%1 is not a valid
tst_QOpenGLWindow::create() Failed to load and resolve WGL/OpenGL
function
However, adding no-opengl flag would affect our release binaries
and would remove qt3d and qtdatavisualisation from packaging.
Use run-opengl-test feature instead.
Pick-to: 6.10
Task-number: COIN-1211
Change-Id: Id21051bc69e431a9d3773c4b4e0c8c2e63315b42
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
This change removes 'InsignificantTests' from all 24H2 targets and also
adds 'Packaging' to 24H2 targets that have 'Packaging' in equivalent
23H2 targets. [CI Platforms]
Pick-to: 6.10
Task-number: QTQAINFRA-6734
Change-Id: I6056ddafcb351875d297ab52565e6b20ba75bb2b
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
This path will be used as CMAKE_MAKE_PROGRAM explicitly.
Change-Id: Ic15253f837b798c468f782ad4116d1ba4cc7c934
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Ubuntu 24.04 GNOME X11 still has too many flaky issues in our
CI, which blocks integrations too much.
This reverts commit 365860ce42.
Pick-to: 6.10 6.9 6.8
Task-number: QTBUG-137909
Change-Id: I058c5d9c5e67bbea4a5ea88a915270ef00110d7a
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
Ubuntu 24.04 GNOME X11 still has too many flaky issues in our
CI, which blocks integrations too much.
This reverts commit e2e25e8a66.
Pick-to: 6.10 6.9 6.8
Task-number: QTBUG-137909
Change-Id: Ifcb56d0172b7bd0e66d1fe6e764ea6643b8e4834
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
Ubuntu 24.04 GNOME X11 still has too many flaky issues in our
CI, which blocks integrations too much.
This reverts commit 6db000ab67.
Pick-to: 6.10 6.9 6.8
Task-number: QTBUG-137909
Change-Id: Iec2323da11354b3176c2428e441965b77fd768a1
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
Previous patch 75fea893b1 introduced
a small bug where multiple nightly builds of FFmpeg were being
outputted into the same directory, effectively causing them to
overwrite each other.
This patch gives the nightly builds their own subfolder for outputted
library files.
Pick-to: 6.10
Task-number: QTQAINFRA-7069
Change-Id: I5f7e111708aecedd2817888948b77b8163f0452d
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
Set the latest NDK envvars for android-quick-minimal and Android 16.
Pick-to: 6.10
Task-number: QTQAINFRA-7069
Change-Id: Ib533eeb08a31437967485cc35f40e434c2880108
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
Bug reports from the nightly target are updated to the ticket.
Task-number: QTQAINFRA-5945
Change-Id: I9e0622b3da4909dc72af1da8c0deb260f6cd5a3e
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
Multiple Android NDKs are installed in provisoning. FFmpeg build uses
NDK in its build process for Android, so this change makes provisioning
build multiple Android FFmpeg builds, so each Android nightly can use a
FFmpeg build where its corresponding NDK version was used.
Pick-to: 6.10
Task-number: QTQAINFRA-7069
Change-Id: Ie4457c87b7b75e0c711a76bd8170e718cbda445d
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
This change makes macOS provisioning also install older NDKs for
Android (if set), which will be used in nightly targets.
Pick-to: 6.10
Task-number: QTQAINFRA-7069
Change-Id: Ie176c5ea69a1398afa69691ad6f37b7af2f66dfc
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
This change makes provisioning also install older NDKs for Android,
which will be used in nightly targets.
Pick-to: 6.10
Task-number: QTQAINFRA-7069
Change-Id: Ia8695383e94df282822da9019c33f1004a879bf6
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
When you use the helper to set an envvar in provisioning, you can not
reference the machine scoped variable in a later .ps1 script in the same
provisoning run using the direct/static reference '$env:NAME', instead
you have to use a more verbose method with e.g. 'Get-Item' cmdlet and/or
set the envvar additionally to the process scope yourself.
This change makes the helper also add process scope to the envvars, this
way envvars set in provisioning can be simply referenced with
'$env:NAME' in later provisioning scripts, which is consistent with the
way you can use SetEnvVar helper in Unix and directly reference the
envvar with just its variable name in later .sh scripts.
This change also removes duplicate local scope envvar definitions now
that Set-EnvironmentVariable helper does it.
Pick-to: 6.10
Change-Id: I804fa8f8dfce742a84e8b4bc077f466820589f7e
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
It's easier to see what submodules fail to synchronize and make
the actions on them, rather than looking into full log.
Change-Id: I98bb3b42783e431a53e536e8104a460ba6bc63e9
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Disabling HarfBuzz causes tst_qglyphrun and tst_qfontdatabase to fail.
Also without HarfBuzz, tst_qxmlstream is too slow and always times out.
Task-number: QTBUG-137809
Change-Id: I5794c7f2f3b371f80dcfbb9d53f95572d874bf2a
Reviewed-by: Toni Saario <toni.saario@qt.io>
Qt Multimedia needs correct permissions set in order to run automated
tests. This is currently being done on our macOS ARM targets, but not
x86 targets.
This patch runs the scripts on relevant x86 targets.
Pick-to: 6.10 6.9 6.8
Task-number: QTBUG-137582
Change-Id: Ia13b8f190938b44b8a14fc8c796912910a8d6d88
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
This script has previously failed under some configurations, while
also failing to stop provisioning.
This patch enables fast-fail behavior, catches potential issues with
missing executables early with a descriptive error message. This
should allow us to detect if the required packages are missing
in the future, and stop provisioning accordingly.
This patch also installs the necessary packages on the relevant
CI build targets.
Task-number: QTBUG-136930
Pick-to: 6.10 6.9 6.8
Change-Id: I7c781264ad67508d19fd44556a9caf0f201638d4
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
with Qt Wayland QPA/client were moved into qtbase.
[CI Platforms]
Pick-to: 6.10
Change-Id: Ia268f974784c8f2cc0b4245041801a6442eaabce
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
Large Send Offload (LSO) was originally disabled because it caused
deterioration in network throughput but the cause of that deterioration
is now fixed in infra and LSO should be enabled back as it improves
network performance. LSO is enabled in Windows by default.
Pick-to: 6.10 6.9 6.8 6.5
Task-number: QTQAINFRA-7236
Change-Id: I243632d958007142792df0cbd9a341fb2b86df69
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
We are going to run test suite twice with qtwebview, with
different backends on windows. Therefore install
webview2 to build plugin also on other nodes.
Task-number: QTBUG-128447
Task-number: QTBUG-75747
Pick-to: 6.10
Change-Id: I88da09eb9bf9e58f630ed65071d33bd4a89ac094
Reviewed-by: Toni Saario <toni.saario@qt.io>
This makes the qemu virtualize the target rather than emulating
it. Virtualization allows few times better performance in tests.
Pick-to: 6.9 6.10
Change-Id: I7a5f7e3e2b04c52034325459ef05bfc0dce5d0b7
Reviewed-by: Simo Fält <simo.falt@qt.io>
Moved the name construction to a dedicated function so that it can be
reused in `call_cmake_in_qt_build_dir`
Change-Id: Iace4130e79cd08f622e762e2861948db5f2bd972
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
After all repos are configured and built, do another round of
reconfigure.
This can catch issues in the find_package of plugins. E.g. when running
the builds for qtbase -> qtdeclarative -> qtmultimedia, during the
first pass qtdeclarative is reconfigured without any plugins present,
but in the second pass additional plugins will be added in the
`find_package` chain.
Change-Id: I298492463e38e57f250ee22f1e8c7f880ce9940a
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
This is enabled by default and replaces the hard-coded qtdeclarative
dependencies.
Change-Id: I58dbf4f801aeacf73a0f38a5cbdb856418bddae4
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
If a list is provided to `OUTPUT_EXCLUDED_OPTIONAL_DEPS` for
`qt_internal_*_module_dependencies`, all optional dependencies that were
not marked as required when resolving the requested modules are saved to
the list.
Change-Id: I2c239a79f483c78af0d649c5b437db03d09eea57
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
When using local sources, the sync step is replaced with setting up
symlinks to the current source folders.
Change-Id: I16500c130b35b962e9d0398498e0c83d71bdc149
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Also `configure_qt` did not have `CMAKE_GENERATOR` defined in the args.
Change-Id: I84a2aed1b992d8169d92fe727094708d8bd447b0
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Allow to define variables used in `ConfigureBuildQt` at configure time.
The preference is local var -> environment var -> cache var -> default.
Change-Id: Ib4bc4f31b3764a6c734e24562d18418560c3a8a8
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
This script requires that we have setup specific environment variables
ahead of time. If they are missing, we are prone to receiving
non-descriptive error messages.
This patch adds checks for the required environment variables, and
gives useful error messages if they are not set correctly.
Pick-to: 6.10 6.9 6.8
Change-Id: I0cfb99187f303b22dbdd46a7a848b85dbf571aad
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
This patch adds an optional parameter to the provisioning script
'install-ffmpeg-ios.sh', allowing us to override the output directory
for which the finalized library is installed.
This is particularly useful for local builds, where we often need
multiple different versions of FFmpeg installed, for different Qt
versions.
This patch has no impact for existing coin workflows.
Pick-to: 6.10 6.9 6.8
Change-Id: Ib0764eb29b84ae8badcfb48424f86316f3b2b650
Reviewed-by: Simo Fält <simo.falt@qt.io>
In the provisioning script 'install-ffmpeg-ios.sh', we have a variable
'prefix' controlling where to install the finalized library. The value
of this prefix is sometimes hardcoded into some of the temporary build
directories, making the script break if we actually modify the 'prefix'
variable. This means we currently cannot easily change the output
directory.
This patch modifies 'install-ffmpeg-ios.sh' so that the 'prefix' is
applied consistently throughout the script, allowing us to change
the output directory in the future.
Pick-to: 6.10 6.9 6.8
Change-Id: I3458984aa22f8c82ed4d0bfac8ac8e71356e8789
Reviewed-by: Simo Fält <simo.falt@qt.io>
This patch adds an optional parameter to the provisioning script
'install-ffmpeg-macos.sh', allowing us to override the output directory
for which the finalized library is installed.
This is particularly useful for local builds, where we often need
multiple different versions of FFmpeg installed, for different Qt
versions.
This patch has no impact for existing coin workflows.
Pick-to: 6.10 6.9 6.8
Change-Id: If31922e931db19ab189850b975ce0131a64321b4
Reviewed-by: Simo Fält <simo.falt@qt.io>
Set the VCPKG_INSTALLED_DIR, VCPKG_HOST_TRIPLET, VCPGK_TARGET_TRIPLET
environment variables after vcpkg ports installation. These variables
will be used when building Qt modules to setup the correct build
environment.
Change-Id: I3a625f4ef089b5da676b96a5bebaacfb09112ee4
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
VxWorks version update to 25.03 from 24.03.
Removed xf86drm patch.
Pick-to: 6.10
Change-Id: Idd5930fae79c68bc6c14cba5245404de9e851ef8
Reviewed-by: Matti Paaso <matti.paaso@qt.io>
Our CI does not need some mDNS multicast services by Windows and they
are spammed by Windows VMs in network with mdns.mcast.net requests.
Pick-to: 6.10 6.8 6.5
Task-number: QTQAINFRA-6761
Change-Id: Ie676f94b81e7281ec84d9fbbfa2fd7f1d28dfbca
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
Prefer static linking for now, to bypass the deployment issues.
We will switch to dynamic libraries once online installer deliver the
vcpkg installed libraries.
Change-Id: Iac9a888237742ae886df8fb9b742b45f4727e28a
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Provision protobuf and gRPC packages using vcpkg.
Change-Id: I4d834236408938e228fb0721474edfad946a8dc8
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Add a script to download windows app sdk and webview2 to be used for CI
This script downloads NUGET, then tries to download Windows App SDK,
WebView2 and CppWinRT libraries and sets appropriate environment paths
to be used later by webview2 plugin.
Task-number: QTBUG-128447
Task-number: QTBUG-75747
Pick-to: 6.10
Change-Id: I1b7ff29b1870d0445034590d01caa503c9e3ae0f
Reviewed-by: Toni Saario <toni.saario@qt.io>
It's needed for static linking with static xcb libs.
xcb-image depends on xcb_aux.h which is in xcb-util package.
Debian-11.6, Ubuntu, openSUSE, SLES already have it.
Pick-to: 6.10 6.9 6.8
Task-number: QTBUG-137004
Change-Id: Iffb9ab7d62a2bea3cb8e27354d25957c49911859
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Commit b0e38f6ace22f9e8ff8dbbe16e8e1cdf8e75648c introduces a new
QML tree model class and the feature definition to go with it. This
model is not needed in the minimal configuration => disable it.
Amends: 30aadf11aa
Task-number: QTBUG-134299
Change-Id: Ie0adcc17f8cecd02c1c5c8bb47f8a085c029539a
Reviewed-by: Mate Barany <mate.barany@qt.io>
The clipboard is unconditionally needed by recent changes to
(qtbase) qnsview_complextext.mm (QTBUG-126238). After discussion
with Tor Arne, decided to drop the clipboard size optimization.
Its size impact is not large and the platform is a desktop
plaform where size is typically not so critical.
Amends: 30aadf11aa
Task-number: QTBUG-134299
Change-Id: I342cdd8cd37e8a54c1f70fda680ca6e9743ed2d5
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
We already have same config in u2404.
Replace the usage of ubuntu-22.04-developer-build with u2404 one.
Pick-to: 6.10 6.9 6.8
Task-number: QTQAINFRA-7146
Change-Id: Ie304b3abbe6da9b203c1ce7eec45d7f9254a7392
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
We already have two tests on u2404.
Replace the usage of ubuntu-22.04-developer-build-x11-tests with u2404
one.
Pick-to: 6.10 6.9 6.8
Task-number: QTQAINFRA-7146
Change-Id: Ib3b1888e1bbb70637432ac70f6116b723e71320d
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Qt Wayland client was moved into qtbase. We will try to enable
them from qtbase to all modules in the future in dev. For 6.9
and 6.8, they are InsignificantTests, waste some CI resources.
Perhaps we can fix them later, but I don't think it's worthy.
Pick-to: 6.10 6.9 6.8
Change-Id: I0f26312284bec4f02da915e829d3a68aac820ceb
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@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>
The Gnome session type boots into the autostart user's Activty Overview.
This overview doesn't allow window activation and fails tst_selftest.
This can't be prevented with gnome-settings or gnome-tweaks.
Add pre-provisioning instruction to select Gnome Classic session type,
which boots into the normal desktop mode.
Fixes: QTBUG-136467
Pick-to: 6.10 6.9
Change-Id: Id189dd948a9a912179e0c86a6cf56f4a2417dfce
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
gcc10 was removed from official and SUSE community repositories for SP6.
The missing gcc10 is blocking provisioning so install gcc11 instead. SP5
still has gcc10 and it is active in dev branch.
Pick-to: 6.10 6.9
Task-number: QTQAINFRA-7187
Change-Id: Ie7c9f2175553c29654cf5b358ead6dd76e635d60
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
We used to build the documentation with these configurations but they
changed to developer-builds and the documentation was moved to a
separate configurations (documentation-warnings, offline-documentation).
We added those configurations but ignored the developer-builds, and at
the moment they are not doing anything expect wasting resources when
acquiring VMs, so let's get rid of them.
Pick-to: 6.10 6.9
Fixes: QAA-2976
Change-Id: Ia9509e43aec2974bae098de8a2d13ac9d29e2fad
Reviewed-by: Petri Virkkunen <petri.virkkunen@qt.io>
Enables WOA test running in webengine. Which is unable to
build the native WOA target.
Add 'fake' configure argument -corss-compiled to
so test instruction on native windows arm have
a chance to bailout (qquickeffect maker is never
cross-compiled)
Task-number: COIN-1211
Change-Id: Ie920f65f9ec260c0c1a7111e495fd9a86adee5f6
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
In the provisioning script 'install-ffmpeg-macos.sh', we have a variable
'prefix' controlling where to install the finalized library. The value
of this prefix is sometimes hardcoded into some of the temporary build
directories, making the script break if we actually modify the 'prefix'
variable. This means we currently cannot easily change the output directory.
This patch modifies 'install-ffmpeg-macos.sh' so that the 'prefix' is
applied consistently throughout the script, allowing us to change
the output directory in the future.
Pick-to: 6.9 6.8
Change-Id: Id0b1bb23513b7bccf02f0c4073e4177f651792dd
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
This is needed for building cmdbridge for remote Linux support
in Qt Creator. This got lost for Linux/ARM prebuilt packages for
Qt Creator when moving from Debian/ARM to Ubuntu24/ARM.
Task-number: QTCREATORBUG-32928
Pick-to: 6.9 6.8
Change-Id: Ic993eaadacec21882e1e2f1b6e0d73bc4ffbf6d4
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
Add a new nightly platform configuration to run qt5.git RunCMake
tests.
Currently this will test the init-repository script, and will also
attempt to build and install Qt in various configurations that
developers use locally.
Change-Id: I74e0befc76ef0702c9036d30c85b8cf16b0b98a3
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Coin CI only tests 'prefix' builds of Qt, because that's what we use
for packaging.
But many developers configure and build Qt in various ways which are
not covered by tests.
Introduce a new suite of RunCMake tests that configure and build Qt
in all the different permutations that we know people use.
This includes various combinations of:
- prefix vs no-prefix
- out-of-source vs in-source
- per-repo vs top-level
- building tests and examples in-tree vs out-of-tree
- building examples as in-tree vs external projects
- building more than one repo
The aim is to run all or some subset of these tests in a nightly Coin
CI run.
It can also be a useful way to test "risky" unmerged changes in an
automated way, instead of manually doing the various builds.
The current default set of repos that are built are:
qtbase, qtshadertools and qtdeclarative.
The submodules that are built can be controlled by setting various
cmake or env vars when configuring or running the test:
- QT_CI_BUILD_QT_SYNC_MODULE - the main repo that should be checked
out. Its dependencies will also be checked out, based on its
dependencies.yaml info.
- QT_CI_BUILD_QT_PIN_GIT_REF - the git sha1 or ref of the main repo
that should be checked out
- QT_CI_BUILD_QT_SKIP_SUBMODULES - a list of submodules that should be
skipped, can be useful to skip optional dependencies
- QT_CI_BUILD_QT_EXTRA_CHECKOUT_CHANGES - a list of gerrit commit
sha1s or refs for each submodule to be checked out to specifically.
- QT_CI_BUILD_QT_EXTRA_CHERRYPICK_CHANGES - a list of gerrit commit
sha1s or refs to be cherry-picked on top of whatever commits the
submodules were synced to.
- QT_CI_BUILD_QT_FILTER - a list of filters to include or exclude
test cases to run.
Sample usage:
mkdir build && cd build
cmake ~/qt5/tests/manual/RunCMake
# Run regular tests
ctest -V -R RunCMake.ConfigureBuildQt
# Skip some optional submodules of qtdeclarative
export QT_CI_BUILD_QT_SYNC_MODULE=qtdeclarative
export QT_CI_BUILD_QT_SKIP_SUBMODULES='qtimageformats,qtlanguageserver"
ctest -V -R RunCMake.ConfigureBuildQt
# Cherry-pick extra changes on top of the synced commits
# repos are split by '|', commits by ','
export QT_CI_BUILD_QT_EXTRA_CHERRYPICK_CHANGES='qtbase aaabbbccc|qtshadertools a12,b23,b45,refs/changes/57/628457/2'
ctest -V -R RunCMake.ConfigureBuildQt
# Checkout specific commits for each submodule
export QT_CI_BUILD_QT_EXTRA_CHECKOUT_CHANGES='qtbase refs/changes/54/634554/5|qtshadertools 3bb8a41c44fa69c30f6887685ad70ef7e84c10a6'
ctest -V -R RunCMake.ConfigureBuildQt
# Only run top-level no-prefix, but not in-source source builds
export QT_CI_BUILD_QT_FILTER='top_level,no_prefix,-per_repo,-in_source'
ctest -V -R RunCMake.ConfigureBuildQt
Change-Id: I355084081dd7b48cdf75c03eb001b64ab7ba96fb
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
Reviewed-by: Cristian Le <cristian.le@qt.io>
We don't want Windows VMs to spam mDNS messages about optimizing
Windows updates, when the updates themselves are disabled.
Pick-to: 6.9 6.8
Task-number: QTQAINFRA-6761
Change-Id: I1452ebbb612f784c96f07de0a29cb2cfb54f1e75
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
The <Package>_ROOT should point to the package prefix, where
CMake should look for the respective cmake/, lib/cmake, and other
CMake package directories. Setting directly it to package path is
incorrect.
Pick-to: 6.8 6.9
Change-Id: Id8859c29da08144c60ed3d6301d2c65c8d602d1f
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
We may read the installed package information from the 'vcpkg list'
command instead of parsing the vcpkg.json. Also instead of using
the jq as a parser, use the cmake script. This allows skipping the
jq installation.
Change-Id: Id3ace62f8f40ff1bd059878da3fd13e466861830
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Provision and run the test script on Windows in warn-only mode.
Task-number: QTQAINFRA-6796
Change-Id: I06fdfc44109017deb5eaacd3811930b98f1a10f7
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
Virtio drivers were updated 0.1.204 -> 0.1.271 which seems to fix
network issues in CI. System OS name is also changed to 'WIN-23H2-X64-55' (15 character limit).
At the same time, 23h2 -54 began to receive a popup about incoming
Windows license expiration which was fixed by changing its ipk key in
-55.
Pick-to: 6.9 6.8
Task-number: QTQAINFRA-6761
Change-Id: Iace589156f878ec63e277ab5e30db3264fb29ebc
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
These modules build, but their tests do not. Remove tests from the
config to allow it to be blocking.
Change-Id: I5913835b7621494aa59671bb34b1faeaeaf3442c
Reviewed-by: Simo Fält <simo.falt@qt.io>
On iOS we no longer deploy FFmpeg .dylibs directly. As such, there is
no need to install the .dylibs during provisoning.
This patch removes this installation step during provisioning.
Pick-to: 6.9 6.8
Change-Id: I6f901113caca4b8d602490ba05db0c9dacb8f80d
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
Which gets us Xcode 16, with the macOS 15 SDK.
Pick-to: 6.9
Change-Id: I3c7936885e97e479873c4d012adca0d67765c907
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
Native WoA builds are done with -no-opengl switch,
therefore native test coin nodes do not need to have
openglsw installed.
(ms-windows-store://pdp/?productid=9NQPSL29BFFF)
However, when trying to run cross compiled WoA on native
test nodes this ends up with:
tst_QOpenGLWindow::create() Failed to load opengl32sw (%1 is not a valid
tst_QOpenGLWindow::create() Failed to load and resolve WGL/OpenGL
function
Use the same switch on cross compile WoA configuration.
Note this can have the impact on installer binaries.
Task-number: COIN-1211
Change-Id: I508587f25701990c438f315bd9163fdd691ddeb3
Reviewed-by: Simo Fält <simo.falt@qt.io>
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
Which gets us Xcode 16, with the macOS 15 SDK.
Pick-to: 6.9
Change-Id: I755c27f64f903b281f5d1c7947fbf370ddc3ee17
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
There are two image templates right away: -70 is Windows 11 with no
Visual Studio or Windows SDK ever installed. -71 includes VS2022 17.9.1
(MSVC 14.39.33519) and Windows SDK 10.0.26100.1742
Image changes compared to 23h2:
- VS2019 is left out as it's no longer used in provisioning scripts.
- Old DirectX installation (10-dxsdk.ps1) is left out. It's legacy,
originally used for Windows 7, and newer libraries should be found
from Windows SDK.
- 08-libclang-v100-dyn.ps1 is removed as it's no longer used. It had
dependency to VS2019.
- These images use UEFI instead of BIOS.
[CI Platforms]
Task-number: QTQAINFRA-6734
Task-number: QTQAINFRA-6823
Change-Id: I53a62c74b07d7fbfc9b1afbe44444272ae7c51e7
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
* Update the version variable used to identify the correct package for
download and cache sites.
* Update SHA1 for provisioning packages on all platforms.
Fixes: QTBUG-134304
Pick-to: 6.9 6.8
Change-Id: I2577600296e75080d503dc1a537ddbc00d0f207f
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
Reduce ci integration time for qtqwebengine winarm64, where doing
qthost msvc22 target takes ~5h compared to mingw ~15 min.
Add mingw runtime to path for WoA cross compile node.
Task-number: COIN-1211
Change-Id: Iecd6f924544d2a17a595ac85473f51b599f24202
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
We will use RHEL9 to build prebuild binaries from Qt 6.10 ->
Change-Id: Ib49908c2997f5faccc9aa5e32b60088658d405d8
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
Currently this script relies on hard-coded values specify minimum
iOS version to link against.
This patch unifies the hard-coded values into a single variable.
No functional changes.
Pick-to: 6.9 6.8
Change-Id: I12bddeb53f0fe3388ea55c841a9864722a1d5f82
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
Starting from 6.9 the "ubuntu-22.04-documentation-x11-tests" config
was replaced by "ubuntu-22.04-developer-build-x11-tests". The new
configuration doesn't test the documentation for warnings which is
why we had failures in 6.8 where to docs were checked but not in 6.9
or dev.
This commit fixes the issue by adding the relatively new
"documentation-warnings" configuration, which will once again check
our documentation.
See also 434e4a224a .
Task-number: QAA-2878
Pick-to: 6.9 6.9.0
Change-Id: I479a9606ab16f8b87009d26ab03636c4c658fcb5
Reviewed-by: Liang Qi <liang.qi@qt.io>
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
Add instructions to run cmake on the qt5/tests/manual/RunCMake
directory followed by ctest.
These are only executed on platforms that set the
TopLevelRunCMakeTests feature.
Change-Id: I336f9395e5d9d580619eac028fbfc1d6c14bf805
Reviewed-by: Toni Saario <toni.saario@qt.io>
Coin CI doesn't provide git info for the qt5.git repo, but only a
source archive. The InitRepository test needs the git info to work
correctly.
When we detect that the test is run in the CI, instead of using the
source archive, clone the qt5.git repo from code.qt.io instead. Then
fetch and checkout the exact tested ref.
Change-Id: I892545c083288a8d32d3f8957bfc64984d52f5fc
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
The previous stdout regular expressions were expect the build dir to
be in the source dir. Relax that constraint, so any build dir can be
used.
Keep the generated 'tmp' part as the indicator for the build dir.
Change-Id: Ib8c2bf31f80926b9209948a5c70859e086ed71a1
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
RunCMake uses SEND_ERROR instead of FATAL_ERROR in run_cmake(),
which means that the script will continue to run even if a command
fails.
This change adds a check.cmake file and modifies run_suite_command to
ensure that we exit early if a command fails.
Change-Id: I8175ddc91144e3d0dea131857138af7940626208
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
The test has bit-rotted a bit since the last manual run.
Adapt the modified litehtml submodule URL.
Add the additional git config command to the output.
Change-Id: I240274a0772d6024401e8d08f6c150d4f12ac8cb
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
Adjust the path to where expect to find the QtRunCMakeTestHelpers
module in qtbase.
Replace the usage of 'QtIRRunCMake' with 'RunCMake' in the root test
CMakeLists.txt.
Pass the current source dir as an extra module path to the RunCMake
test, so it can find the Common module without relying on relative
paths, so that any build dir works.
Remove the unnecessary forwarding of CMAKE_SYSTEM_NAME.
Amends e552513c9f
Change-Id: If804bcb36a0bd3df6e4617e56c146094793138c4
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
Currently this script overwrites a local variables and reuses it for
a (slightly) different purpose. This makes the code a bit hard to
follow.
This patch introduces a separate local variable to improve readability.
No functional changes.
Pick-to: 6.9 6.8
Change-Id: Ifa1904482f498d9b380d1ed19ab6b0104afda19b
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
Currently this provisioning script builds for arm64 architecture
when on iOS simulator. Qt ships x86_64 binaries for iOS simulator, and
we should build FFmpeg similarly.
This patch introduces support for x86_64-simulator in the iOS FFmpeg
provisioning script and uses it in place of arm64-simulator.
Pick-to: 6.9 6.8
Task-number: QTQAINFRA-7034
Change-Id: Ie93cffba51924cd1d78651d20dec211817cb0cef
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
While writing a documentation for FFmpeg build on iOS it was found that
many options are redundant. Remove them to simplify the provisioning
script and to reduce the amount of cargo cult code.
Pick-to: 6.8 6.9
Fixes: QTBUG-133502
Change-Id: I26aab49365eaca83bcdbfeb86de0638ac701bb80
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
* add FFmpeg stubs to the 'Required.private' section.
This will make the logic more robust after integration this
in qt multimedia.
* add some script comments.
* fix shellcheck.
* add validity checks.
Pick-to: 6.8 6.9
Change-Id: I28639d21c7210109e52ff98ce682da51f8744287
Reviewed-by: Jøger Hansegård <jogerh@gmail.com>
Reviewed-by: Pavel Dubsky <pavel.dubsky@qt.io>
The provisioning script install-ffmpeg-android.sh can be useful to run
locally to make sure we build FFmpeg with the same configuration as we
do in CI.
This patch introduce an optional parameter to this provisioning script
that allows us to specify where to install the compiled binaries.
Pick-to: 6.9
Change-Id: I7ea30bffa4753ac1fab707ed2876ddcbbca06175
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
Windows usually updates certificates once a week, but due
to disabling Windows background updates there is need to
install and update certificates manually.
Updating certificates during provisioning is selected method
as it's aligned with the same procedure how linux machines have
handled the same.
Task-number: QTQAINFRA-7001
Pick-to: 6.9 6.8 5.15
Change-Id: I7c077b5e08328b12c481a3501736f06baf85e71e
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
Reviewed-by: Matti Paaso <matti.paaso@qt.io>
openSUSE 15.6 doesn't have explicit openssl-3,
same was earlier seen with SLES 15.6 as well.
Therefore System's OpenSSL is read from openssl.
Pick-to: 6.9 6.8
Change-Id: I38d81b5484732e225036530e5326433ab90ef92b
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
Disable auto-upgrades as it may lock and block scripts from running, resulting an error in /var/lib/dpkg/lock-frontend. Also remove 01-disable_auto_suspend.sh as auto suspend is already disabled in tier-1.
Pick-to: 6.9 6.8
Change-Id: Ia4420de72b26c7b4fd851f079fd4686624e5bf02
Reviewed-by: Matti Paaso <matti.paaso@qt.io>
Squish for Qt 6.8 has glibc 2.38 and glibcxx 3.4.32 dependencies, while
Ubuntu 22.04 LTS supports glibc 2.35 and glibcxx 3.4.30.
Pick-to: 6.9 6.8
Change-Id: Ia401daf444fbc3e460477fd1f5397781b902cf9d
Reviewed-by: Johanna Äijälä <johanna.aijala@qt.io>
Reviewed-by: Matti Paaso <matti.paaso@qt.io>
Bug reports from the nightly targets are updated to the ticket.
Task-number: QTQAINFRA-6540
Change-Id: Ie60275b20a30bac5517a1599050feba6286a624c
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
Use the sha from last update of Gradle and update AGP version
to match qtbase's 0e4f9ffa55c2b77fbe79e96362bc68a968982b48 commit.
Task-number: QTBUG-132852
Pick-to: 6.9
Change-Id: Iab851b08bc11290ee51a22f3bdd64369928dff22
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
This task updated the build.gradle of Gradle cache
to use SDK 35 for compile and target.
Task-number: QTBUG-130285
Task-number: QTBUG-129461
Pick-to: 6.9 6.8 6.5
Change-Id: I076211baf896e65aae3b616a3d6286258c3d0640
Reviewed-by: Rami Potinkara <rami.potinkara@qt.io>
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
Other linux distros have similar ca-certificate install/update in use.
Issue was noticed in RTA, and if similar happens again, these RHELs
need new provisioning to get up-to-date ca-certificates available.
Task-number: QTQAINFRA-7014
Pick-to: 6.9 6.8
Change-Id: Id0ef369b0d714b40b66117d6e62ddd6a787cae71
Reviewed-by: Simo Fält <simo.falt@qt.io>
Previous dependency platform had been removed from CI, leading nightly
builds failing silently. Changed also from MSCV to mingw since it seems
to be more commonly used among customers.
Task-number: QTQAINFRA-7017
Task-number: QTQAINFRA-7000
Pick-to: 6.9 6.8
Change-Id: I009dd5e5c5ad28434816f831de37849a53f2c24f
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
Running tests in QEMU for imx8 currently is not reasonably possible,
mostly due to lack of support from QEMU to emulate imx8 board.
Set qtmultimedia and it's dependees qtcharts and VKB as insignificant.
Change-Id: Iffc9c2e7df4bc06fd5b3c77124c650dda5696236
Reviewed-by: Simo Fält <simo.falt@qt.io>
Implement installation script in common/linux and call it from all
distros except arm (for which currently no binary exists).
Run executable after installation.
Warn only, to enable integration.
Task-number: QTQAINFRA-6796
Change-Id: Id0ebed7ae7d43733acb53d908750174634a4e676
Reviewed-by: Dimitrios Apostolou <jimis@qt.io>
Using original platform config to prevent unnecessary failures
in Axivion analysis.
Task-number: QTQAINFRA-7009
Change-Id: If4b35b1401226c515efd7a29ce73b2fbe408c762
Reviewed-by: Toni Saario <toni.saario@qt.io>
* Update the version variable used to identify the correct package for
download and cache sites.
* Update the file names for all platforms, as these libraries are built
directly from upstream without other patches applied on top.
* Add provisioning package locations for Windows VS2022 x64.
* Set 'vs2022' as default toolchain on Windows.
* Update call sites for `libclang.ps1` to pass `vs2022` as argument to
the script.
* Drop Windows configurations with VS2019.
* Update cached and official URLs with the major version for Windows
platforms.
* Update SHA1 for provisioning packages on all platforms.
* Move from RHEL 8.8 to 8.10.
* Move from RHEL 9.2 to 9.4.
Fixes: QTBUG-129506
Fixes: QTQAINFRA-6605
Task-number: QTBUG-129373
Pick-to: 6.8 6.9
Change-Id: I5146e6551a1b3c83133803f61ca6f8428cb6a14f
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
In practice it already is, because qtbase sets COIN_CTEST_IGNORE_EXIT_CODE
to 0 for macOS 15, and this change has propagated to qt5.git now, but this
makes it official.
macOS 15 is now a significant platform [CI Platforms]
Change-Id: I9dc8b0f56582e08560859a17304e886e7fc3020b
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
to the same libraries we build e.g. on macOS. Also, clean up the
script a bit removing a duplicate configure option.
Pick-to: 6.9 6.8
Task-number: QTBUG-133502
Change-Id: If06aad102783bc3025155d3427aa68d87ad4d179
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
The Windows template was upgraded from -53 to -54 just after the
qtgradleplugin platform config was added, and I guess that's why this
one was missed.
Change-Id: Ibc2250a40d6e67e409cee323cb305a93e65ee7ff
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
Use prebuilt package stored in intranet when possible and use
intranet mirror when git is required.
Task-number: QTQAINFRA-6903
Pick-to: 6.9 6.8 6.5 5.15
Change-Id: I1630098756c2e9b4f551686679e98a40af5eef2d
Reviewed-by: Simo Fält <simo.falt@qt.io>
This patch bumps the sdkBuildToolsVersion used in Coin to 35.
Task-number: QTBUG-129461
Task-number: QTBUG-130283
Pick-to: 6.9 6.8 6.5
Change-Id: I2e1fbdfd23cb854ec50625ff29331adc61abc32c
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
To catch potential top-level build issues like non-unique example
names, missing AUTOGEN / moc does not exist workarounds and other
issues.
The nightly platform uses the newly introduced
'NoSubmoduleDependencies' Coin feature, which will ensure that we
only configure the qt5.git top-level build, not any of the submodules.
Change-Id: Idb79d768749311b4184e211cd54d38219bcba7c6
Reviewed-by: Toni Saario <toni.saario@qt.io>
This patch bumps the sdkApiLevel used in Coin to 35.
Task-number: QTBUG-129461
Task-number: QTBUG-130283
Pick-to: 6.9 6.8 6.5
Change-Id: Ia26248982a2807b2d3554d1a7a7394efcf13f834
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
Currently only SLES and openSUSE has GCC in versions.txt.
Will also make GCC versions visible in Tools and Versions pages.
Task-number: QTQAINFRA-5901
Pick-to: 6.9 6.8 6.5
Change-Id: I9742c3151e074c503947018a0c7f7c2e0c1077bd
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
`git-review` is a command line tool for interacting with Gerrit.
Some IDEs offer support for this tool, either natively or through
plugins. The tool relies on a configuration file, .gitreview. Adding
this configuration file to our repositories simplifies initial setup
for contributors that use the tool directly or through their IDE of
choice.
The configuration file adds a remote called 'gerrit'. This is the
default for the tool, and also the name set for
codereview.qt-project.org by Qt's `init-repository` script. Thus,
the configuration should work seamlessly alongside other repository
helpers.
Task-number: QTBUG-132604
Pick-to: 6.9 6.8
Change-Id: Iea428aeaa1b4cdbaabd3477aaf061b8960efc887
Reviewed-by: Samuel Gaist <samuel.gaist@idiap.ch>
Debian is no longer supported for Qt 6.8.1 and later
Pick-to: 6.9 6.8
Change-Id: Ic9ddac3d95451b900f60be6a90efd5fb32985601
Reviewed-by: Patrik Teivonen <patrik.teivonen@qt.io>
Reviewed-by: David Schulz <david.schulz@qt.io>
That is what we are using for packages too.
Pick-to: 6.8 6.9
Change-Id: I88ab02f577933292c882ec4633d9087b1bf957ea
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
These test helpers are moved to qtbase submodule.
Change-Id: If8aa31fe1d9a93f2667249abd90ae9b8cb81d07a
Reviewed-by: Alexandru Croitor <alexandru.croitor@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>
QNX qemu configs separated. QNX710 and QNX800 require different set of
dependency libraries and there's an extra image creation bug on QNX800
that needs workaround too.
QNX800 toolchain updated.
Task-number: QTBUG-131708
Pick-to: 6.9 6.8
Change-Id: I3bc5c8bb63abbb729d03fcf3afb2f7881bcdd270
Reviewed-by: Simo Fält <simo.falt@qt.io>
Id: 'macos-13-arm-on-arm64-tests' was just removed, adjust
qtsaferenderer-runtime.yaml configuration to match
what's defined in macos.yaml.
Keep feature definitions same than before for
added 'macos-13-arm64-tests'.
Change-Id: I97becead1e7155d4d586692fd6ff87fad636efd3
Reviewed-by: Teemu Holappa <teemu.holappa@qt.io>
find_package looks for PackageName_ROOT and the package is now
named 'protobuf'.
Fixes: QTBUG-132901
Pick-to: 6.9
Change-Id: Ifb956e4ab52c3df059d2624eb989c97473a662a2
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
The hard-coded path paths added to LIBRARY_PATH and CPLUS_INCLUDE_PATH
was not correct on Apple Silicon Macs, where homebrew installs into
/opt/homebrew/.
There's also no point in passing on the library location via compiler
environment variables, when we can use ODBC_ROOT. And we don't need
to pass it on as a CMake define, as a environment variable works just
fine. This decouples the provisioning of libiodbc from the build
configurations.
Pick-to: 6.9 6.8
Change-Id: I40aa3c1852fb0baf3366fa1a9dab85a66eef95e2
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Axivion analysis for qt5 started to fail at out of memory.
Increasing virtual machine size to correct the problem.
Task-number: QTQAINFRA-6931
Change-Id: I2d0f1ee655a1449926f9938dbae6f4be0afbce8f
Reviewed-by: Toni Saario <toni.saario@qt.io>
Newer version of Chrome together with healdess mode
should provide more stability.
Pick-to: 6.9
Change-Id: Ifb6b326b90067d9e069ebef662356d28e2c9edd7
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
as xcframeworks, so that we can provide both arm64 and arm64-simulator
versions (the former can be used in App Store, the latter when
working with a simulator).
Pick-to: 6.8 6.9
Task-number: QTBUG-132313
Change-Id: Ic683f58dffcef8a06adb4a915c4e3abc4ab219e5
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
This caused tst_qplaintextedit to start flaking a lot.
Partially reverts b25251e2ba.
Task-number: QTBUG-133243
Change-Id: I348faa09831720a43aeb1f8097c42185e32c31dd
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
The test broker will later be used by the mqtt tests
There are 4 variants using two ports each
2883, 3883 -> Tcp
9883, 10883 -> Ssl
9080, 10080 -> WebSocket
9081, 10081 -> WebSocketSecure
For each of the 4 variants we test 3 protocols:
3.1, 3.1.1, 5.0
Task-number: QTBUG-129171
Change-Id: If000dd333221e7296499fc756ef97a074cf97273
Reviewed-by: Elias Toivola <elias.toivola@qt.io>
Reviewed-by: Jøger Hansegård <joger.hansegard@qt.io>
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
A test requires this much memory.
Change-Id: I85063fbe911317035a6de3e85354ffb243d0cd7f
Reviewed-by: Simo Fält <simo.falt@qt.io>
Reviewed-by: Aku Pietikäinen <aku.pietikainen@qt.io>
When it activates, all calls to qWaitForWindowActive() fail causing a
barrage of test failures.
Fixes: QTBUG-132070
Change-Id: I4d414e34d91d54f3edac9a476d66d5db8dab6c7b
Reviewed-by: Toni Saario <toni.saario@qt.io>
It seems it has been forgotten from some versions.
It helps with monitoring the IP address the VM gets via DHCP and
offers other useful functionality to the KVM hypervisor.
Task-number: QTQAINFRA-6610
Change-Id: Ie4b3ab7794ae2bafe53224006b2417d73851b495
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
It helps to monitor the IP address assigned by DHCP from they
hypervisor.
Task-number: QTQAINFRA-6610
Change-Id: I51c85b341b039a0625e0362f018c547127083dcc
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
The FFmpeg building flow has become too different on linux and macos.
Decoupling the logic makes it more simple to follow.
The CR also fixes nits and shellcheck warnings in install-ffmpeg.
Pick-to: 6.8 6.9
Change-Id: I28639d28c7210809e52ff18ce612da52f8754285
Reviewed-by: Jøger Hansegård <joger.hansegard@qt.io>
By removing the InsignificantTests flag and adding the
COIN_CTEST_IGNORE_EXIT_CODE env var we can control the
significance at the module level.
Change-Id: I89171f6dbed8c38aed279aec01e3bad36a157f5e
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
The 'target' configurations currently trigger the 'host'
configure command line, and are duplication of the existing
rule we have for the host machines. Disable the top-level
configure checks for the 'target' builds completely.
Fixes: QTBUG-132799
Pick-to: 6.8 6.9
Change-Id: Ia06dde53825e882e78a8c6be9e62779aaedcebf4
Reviewed-by: Toni Saario <toni.saario@qt.io>
Needed with all the machines generating SBOM
Task-number: QTQAINFRA-6871
Task-number: QTBUG-131434
Pick-to: 6.9
Change-Id: I15a79c005f530c551f9026e2cbfb465ed1211e98
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Swift 5.9 includes built in crash reporting, printing stack traces,
libraries, and registers to stdout/err.
https://www.swift.org/blog/swift-5.9-backtraces/
As (Core)Foundation is written in Swift nowadays, we get this feature
for free even in our "C++" apps, as we always link to CoreFoundation.
Our test binaries have been taught how to hook into this, so the
remaining step is to enable it via the SWIFT_BACKTRACE env var.
Pick-to: 6.9
Change-Id: I72dbd9ea934ecc3091766456509f4bd42b2bdab8
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
This patch
- Replaces Android 14 with Android 15 as a maximum version
- Introduces Android 15 system image to CI cache
- Sets Android 15 as significant
Task-number: QTQAINFRA-6478
Fixes: QTQAINFRA-6652
Pick-to: 6.9 6.8 6.5
Change-Id: Icb6de43f3e2c2f7f98f3172c83d66bebf9603d24
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
There're code duplications in install-ffmpeg scripts.
Let's have a file with FFmpeg installation utils and reuse
the functionality on unix platforms.
The utility functions make the code more robust and get
around code duplications.
Pick-to: 6.9 6.8 6.5
Change-Id: I28639d18c7110109e52ff09ce602da52f8857281
Reviewed-by: Jøger Hansegård <joger.hansegard@qt.io>
WoA template got updated in 2151c5510f
and 0f18b0bc2f, but not everywhere.
Pick-to: 6.9 6.8
Change-Id: Ie2ee9e62f9bc10753bd527a2b1a7edc5de46ca60
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
Reviewed-by: Simo Fält <simo.falt@qt.io>
RHEL 8 installs python3-html5lib, however this only affects
installed pythnon 3.6, webengine should use
3.11 therefore add it to pip installer.
The change for switching webengine to 3.11 is in
so installing of python3-htmllib can be removed.
Change-Id: Ia6f4262971f60b960a61a466f418750c0d956cbc
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
While dylibs embedded in app bundle work locally on a device,
Apple Connect rejects such an app complaining about missing
Swift Runtime Support. Instead we must create frameworks.
Pick-to: 6.9 6.8
Task-number: QTBUG-130813
Change-Id: Ifd6eed227478bc29702b3b59968fcbfe2839ca82
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
Change Windows 22h2 arm64 tier-1 template -54 -> -55, where Windows
SDK 10.0.26100.1742 is installed.
Task-number: COIN-1206
Change-Id: Id4b008d12ee092daa1e84c50d9a36240ee680483
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
Change Windows 10 22h2 x86_64 tier-1 template -52 -> -53, where Windows
SDK 10.0.26100.1742 is installed.
Task-number: COIN-1206
Change-Id: Ia78f8d3b67c3aa546a4f47ad503f44782722631f
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
Change Windows 11 23h2 x86_64 tier-1 template -53 -> -54, where Windows SDK 10.0.26100.1742 is installed.
Task-number: COIN-1206
Change-Id: I713ea4d5032145a92d7bcbccec6c98543cbc90d2
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
CI configs for new Boot2Qt repo.
Task-number: QTBUG-127698
Change-Id: I26fcc8c6a2224959a670290f7fcfe402ed7be137
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
Qt auto tests now require exceptions due to usage of
QTEST_THROW_ON_FAIL and QTEST_THROW_ON_SKIP.
(Amends 72e2341971)
Task-number: QTBUG-121822
Pick-to: 6.9
Change-Id: I175ce8459660465477a0ac29d65353c871df69b9
Reviewed-by: Toni Saario <toni.saario@qt.io>
Also change the upper case L to lower case l, because it's changed
upstream.
Amends 0cfa1fa561
Pick-to: 6.9
Task-number: QTBUG-131169
Change-Id: I5e501e37bb5516e15a2cbb68cb523ebc5e88d47c
Reviewed-by: Nicholas Bennett <nicholas.bennett@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>
Extending feature usage with newest and recently added CI platforms
- openSUSE 15.6
- SLES 15 SP6
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.
(Amends cf237ca8dc)
Task-number: QTQAINFRA-6702
Pick-to: 6.9
Change-Id: I34f76b127899a878ef2ddf8f3c09904d8e21f493
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
The newest stable version of Android emulator should bring more
stability.
Pick-to: 6.9 6.8 6.5
Fixes: QTQAINFRA-6805
Change-Id: Id67d3ec888b486e6aae862588928528788583aae
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
We want automated testing for QtGP. Test cases that can be run with
Gradle have been made a while ago, but they were only run locally by the
developers.
This commit adds Linux/macOS/Windows configurations for QtGP. These are
marked TestOnly as the build/test process in Gradle is packaged together
and we don't want to initiate builds for the Qt side.
Task-number: QTTA-217
Change-Id: I777d191596f43089d0ad80cbb6470c62a0eee257
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
Avahi-daemon often hogs 100% of CPU on the VMs. This particularly
causes issue on 2 core(thread) VMs where tests compete for CPU
with avahi.
Limiting avahi to test service related interfaces eliminates the
abnormal CPU usage.
Avahi should be only needed for tests to see the docker test services.
(Amends: 9f1cba8637)
Task-number: QTQAINFRA-6697
Change-Id: I425a0fbe0fb0080ab5e057d020bc7157ea36a3a6
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
The qttools qlitehtml submodule url was recently updated to use a
relative url like '../../playground/qlitehtml.git' instead of an
absolute path to code.qt.io repo.
Same for the nested litehtml submodule.
This broke initialization of the qttools repository, because the
init-repository script only normalized one '../' segment in the
submodule url, instead of all of them, which ended up trying to clone
a non-existent git://code.qt.io/qt/../playground/qlitehtml.git repo.
Apply the url normalization in all the code paths where there might
still be '../' segments in the url.
Pick-to: 6.8 6.9
Change-Id: Iaa8e58104c92858318ad66aefa5a38d63ad7a155
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
There's possibility that some installations might add more into
Path that doesn't get visible during the installation process.
Change makes it easier to detect if there's i.e. JRE installed during
Mimer, which caused Java SE update to 17 fail in qtbase build for
Android, because JRE was the first Java found from Path and it
wasn't the required new JDK 17 version.
This can lead even to test with incorrect version of Java, which can
happen with any other different version installations as well.
Task-number: QTQAINFRA-6392
Task-number: QTQAINFRA-6385
Pick-to: 6.8
Change-Id: Idce79eb06d73894ae648e0be53ff1f07bb21392d
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
If there is an error in emsdk scripts when running ".\emsdk install",
the provisioning would still continue. This change will make the script
exit and stop provisioning when the install command fails.
Also remove the attempt to use Python 2 and make sure the installation
finds Python 3 instead.
Pick-to: 6.8 6.5
Task-number: QTQAINFRA-5453
Change-Id: If052adcd446537b0eeb6261e4a297e9aeb292c6e
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
This will use the newer iOS 17 SDK during the build, and allow us to
enforce the minimum SDK version check.
This change also switches to using an arm mac for the build.
Pick-to: 6.8
Task-number: QTBUG-119490
Change-Id: Ie9ff2b2f4fe40bda2856d4b12a03aaa05f836de4
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
While on windows the instantclient sdk also provides the relevant
(import) libs, on linux those libraries are only provided by
instantclient-basiclite package. Therfore setting the Oracle_ROOT env
var to the sdk dir will prevent the libraries to be found on linux.
The FindOracle.cmake module is already adjusted to look for the
libraries in ${Oracle_ROOT}, ${Oracle_ROOT}/lib and
${Oracle_ROOT}/sdk/lib so they should be found correctly even we don't
append 'sdk' for Oracle_ROOT on windows for consistency.
Task-number: QTBUG-128873
Change-Id: Icd211d5b503234de529c339581a4f42f0b5fc726
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
It's easier to manage the vcpkg tool versions using this file,
but not editing script each time.
Change-Id: If6d04a8ac07731ec1fab46b1f663b86bbe640631
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
The old version doesn't support MSVC 17.10 toolchain, so we cannot
build for arm64.
Change-Id: I63df5b61d6d7e06ee49f46f77528021f3ce5be47
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Add -j4 to limit how many cores is used to build ffmpeg-ios binaries.
Error in logs: "posix_spawn failed: Resource temporarily unavailable"
Task-number: QTQAINFRA-6803
Pick-to: 6.8
Change-Id: I3fb56cdbe4cbda8f779852b0a16121916aa5a1d4
Reviewed-by: Jøger Hansegård <joger.hansegard@qt.io>
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
# Enable network connection from right upper corner
Some files were not shown because too many files have changed in this diff
Show More
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.