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.10 6.8
Change-Id: Ib03b999bef0373dc9600d505b1f4ce926fa97de6
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
(cherry picked from commit fb6a8b0215)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
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.10 6.8
Change-Id: Id9227241283d4c529005c4961449f50ca7af13be
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
(cherry picked from commit c9a8b8f220)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
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.10 6.8
Change-Id: Idba30d07607780d1ef8c60cc5e038a034c821632
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
(cherry picked from commit 8a70b9e482)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Also set Packaging and JavaDoc targets for RHEL-9.6. JavaDocs feature is
removed from a non-Packaging Android Linux target.
Pick-to: 6.10
Task-number: QTQAINFRA-7326
Task-number: QTQAINFRA-7331
Change-Id: I18ec1e79e6fbe7b4ed001a3cdb648dae37b89561
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
(cherry picked from commit 6856189287)
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
RTA is using different means to install Squish for RTA tests, no need
to do it in general provisioning.
Change-Id: I4858a282ad7a0b1412f6dd0f4876109fe54a4c88
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
(cherry picked from commit 4bff151490)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Reviewed-by: Aku Pietikäinen <aku.pietikainen@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.10 6.8
Change-Id: I5766d234bce2054d0dc6999ae1cac3f05c197d0e
Reviewed-by: Aku Pietikäinen <aku.pietikainen@qt.io>
Reviewed-by: Toni Saario <toni.saario@qt.io>
(cherry picked from commit c69a56646f)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Needed for WebEngine based on Chromium 140
Pick-to: 6.10
Change-Id: I0cf1df1107cc8f5aa2850239608f03a7c7831676
Reviewed-by: Elias Toivola <elias.toivola@qt.io>
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
(cherry picked from commit 2bd7830030)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
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.10
Change-Id: I91f9938b595ecff5b04d49a71e9872f5d7278cda
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
(cherry picked from commit df82dc7de2)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
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.10 6.8
Change-Id: Id54b9fc69307ef28eb35cf1c0042df11e704a6e2
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
(cherry picked from commit bc6ba67934)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
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.10 6.8
Change-Id: I51f83ce3844c2aa9db778b1c54091acb64a227e6
Reviewed-by: Dimitrios Apostolou <jimis@qt.io>
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
(cherry picked from commit e3966f2ffc)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Custom patched packages for windows.
Also Add Windows on arm support.
Pick-to: 6.10 6.8
Fixes: COIN-740
Change-Id: I27f7d36b3501be2a2011b9b8dfa0ec846cd57bf5
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
(cherry picked from commit 73c4ed922a)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
We need this to be able to create some dependency debian packages.
Change-Id: Ic4f3259f8bf29fa19c10394b63634f1512db47bc
Reviewed-by: Aku Pietikäinen <aku.pietikainen@qt.io>
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
(cherry picked from commit bee5ded33b)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
The configuration is duplicate as it is also run on 24.04.
Pick-to: 6.10 6.8
Task-number: QTQAINFRA-7146
Change-Id: Icbd1f7379cb1f23ed8c818f25aa3e09c5fcb5a45
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
(cherry picked from commit 2bac4d3be9)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
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.10 6.8
Change-Id: Ic5048f54adb31d263e28f51312f44fe3b55e6fe5
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
(cherry picked from commit ba6a77312d)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
This reverts commit aecfc7e23b.
Reason for revert: QtOpenAPI can use the zlib that is bundled with
Qt now (which is the case for all MSVC configurations in CI), and
that commit broke qtinsighttracker.
Task-number: QTBUG-138968
Fixes: QTBUG-142771
Change-Id: I69344c52572a472baed96a136aecbe33b310da16
Reviewed-by: Samuli Piippo <samuli.piippo@qt.io>
Reviewed-by: Tatiana Borisova <tatiana.borisova@qt.io>
(cherry picked from commit 8fb136fc8a)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
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.10 6.8
Change-Id: I8c1f6f7d635fe47b9faa34dbe6988e89252dc2c9
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
(cherry picked from commit f0b54a51f7)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
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.10 6.8
Change-Id: I6ba67dfd7cd37809164c7e2c4bcf89d07d45b1b2
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
(cherry picked from commit bb77943c0f)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Commit d6918d7ac5 broke init-repository if
you did not pass an --alternates option.
Pick-to: 6.10 6.8
Task-number: QTBUG-142712
Fixes: QTBUG-142744
Change-Id: Ia727b420a34a46e52f0f05e549aabe2c975c6d7e
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
(cherry picked from commit 6bd3b23b6c)
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.10 6.8
Fixes: QTBUG-142712
Change-Id: Ief7a87768d9ff17bb2832ae363f573ecae58d5ee
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
(cherry picked from commit d6918d7ac5)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
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.
Change-Id: Ib4626d17339256d56c4764e3167f4e9fe4b9c909
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
Reviewed-by: Liang Qi <liang.qi@qt.io>
(cherry picked from commit e9a003f0c3)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
This helps with the test stability when code.qt.io is down or slow.
Pick-to: 6.10
Change-Id: I0bdaaa06772a94e73cb33d3f827e4e327123b60a
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
(cherry picked from commit 160e6135bb)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
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>
(cherry picked from commit b276b549f7)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
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.10
Change-Id: Ib771f473b6ed3ce42c6191647da7d473b64c2316
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
(cherry picked from commit dcd07cc2ab)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
- 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>
2025-06-02 05:03:32 +00:00
595 changed files with 5880 additions and 1996 deletions
# GNOME Classic was selected because there's an issue with Starndard (wayland display server). Autotest start failing because terminal session remains in Activities Overview.
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.