6780 Commits

Author SHA1 Message Date
Elias Toivola a60717f3fa RHEL 9: Use minor version specific repo-clones
Pick-to: 6.12 6.11 6.8
Task-number: QTQAINFRA-7810
Change-Id: I71fb2a868aca7aa80795a3ab9630f0ba79bef21e
Reviewed-by: Simo Fält <simo.falt@qt.io>
2026-08-06 19:22:17 +00:00
Elias Toivola 065d6d06d9 Revert^2 "Provisioning: Take repo-clones into use in RHEL 9"
This reverts commit 72a7e5c4db.

Reason for revert: Minor version specific internal repos are now
available

Pick-to: 6.12 6.11 6.8
Task-number: QTQAINFRA-7810
Change-Id: Ibdf7d847929175fce2aa3a1b4473695346821a96
Reviewed-by: Simo Fält <simo.falt@qt.io>
2026-08-06 19:22:15 +00:00
Assam Boudjelthia fec1887c6e Android: bump to Gradle 9.5.1 and AGP 9.2.1
Following Qt 6.12 release 3rd party components update.

Pick-to: 6.12
Task-number: QTBUG-146315
Change-Id: I688abb791777ac12808f479428cfc95d07f9460b
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
2026-08-06 04:25:28 +00:00
Assam Boudjelthia cdadd80b87 Coin: use the internal Gradle mirror instead of the upstream
Qt for Android builds run Gradle which needs to frequently
request download artifacts from Gradle and Maven, and that
can sometimes fail due to network issues, or worse in times
or many request might get temporarily blocked.

To avoid that, this uses the internal Gradle mirror. This
is done by installing an init script routing every
repository through the internal Nexus mirror.

Also, since Qt's build runs offline, ~/.gradle must be
fully prepared during provisioning, without reaching
public repositories. That's achieve by priming the cache
by building the shared proiect and seeding the Gradle
distribution from the internal mirror into the wrapper
cache, so no wrapper externally request Gradle.

Pick-to: 6.12
Fixes: QTQAINFRA-6166
Task-number: QTQAINFRA-7942
Change-Id: I1e8dacf8ea5f3c492f12270c5f407bd4e5a2e756
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
2026-08-06 04:25:25 +00:00
Tony Sarajärvi 8804b39aa5 Update llvm-mingw to 22.1.7
Also have to update libclang-llvmorg to a version built with llvm-mingw 22.1.7

Pick-to: 6.12
Task-number: QTQAINFRA-7552
Change-Id: I7e579eacb146718b34ec486598323fa85cf3bfb4
Reviewed-by: Tim Blechmann <tim.blechmann@qt.io>
Reviewed-by: Simo Fält <simo.falt@qt.io>
2026-08-06 04:25:22 +00:00
Nils Petter Skålerud 3ea33c05bf macOS, FFmpeg: Explicitly do not link X11 libraries
The FFmpeg auto-detect mechanism will automatically pull in x11 as a
dependency if the development packages are found on the host. This makes
the FFmpeg unable to run macOS hosts that don't have the x11 package
installed.

This patch makes us explicitly avoid including it.

Pick-to: 6.12
Change-Id: Ied33d25a60d5c9f54dcf37be3aad5cac0d2cbd03
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
2026-08-06 04:25:19 +00:00
Alexandru Croitor f0a6bdb87e Provisioning: Don't sudo install grpc on all unix platforms
The package is installed into a subdirectory of the user's home
directory, so there is no need to use sudo.

Pick-to: 6.12
Change-Id: I06b455678234954eb98a5b61487548fc259520fa
Reviewed-by: Simo Fält <simo.falt@qt.io>
Reviewed-by: Dimitrios Apostolou <jimis@qt.io>
2026-08-06 04:25:17 +00:00
Nils Petter Skålerud a20ee395b0 Upgrade to FFmpeg n8.1.2
This patch upgrades the provisioned FFmpeg version to n8.1.2
As a prerequisite, it also installs the nasm package on relevant
platforms.

Pick-to: 6.12
Task-number: QTBUG-139714
Change-Id: Ibc9dc21a9caeba812ff94e8c0b5a2a1ab3959c64
Reviewed-by: Tim Blechmann <tim.blechmann@qt.io>
Reviewed-by: Nils Petter Skålerud <nils.petter.skalerud@qt.io>
2026-08-06 04:25:14 +00:00
Alexandru Croitor f408aa690a CMake: Update provisioned CMake to version 4.3.2
Update provisioned cmake to 4.3.2.

Adjust the linux provisioning script to be architecture-aware.

Add the script to the provisioning of the Ubuntu-24.04-aarch64
platform, which was previously missing it and instead relied on the
system 3.28.3 CMake.

Pick-to: 6.8 6.11 6.12
Fixes: QTQAINFRA-7785
Change-Id: Ib2b6a55d7b994c95299ddf66546d9362b04823df
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2026-08-06 04:25:11 +00:00
Tor Arne Vestbø 0979c63ba8 Remove universal build of Qt for iOS
Now that we have individual builds for device, and arm64 and x86_64
simulator, as a workaround for lacking xcframework support.

Pick-to: 6.12
Change-Id: Ifff43080b32bcab80e5cbf54f9b23ecd443480a6
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2026-08-04 05:08:45 +00:00
Qt Submodule Update Bot 80f542aa53 Update submodules on 'dev in qt/qt5'
Change-Id: Id1b23747190bd739e4dcbff8e8827c41c549a203
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2026-08-03 19:02:35 +00:00
Karim Pinter 4d6a473bed Update coin to VxWorks 26.03
VSB and VIP updated to VxWorks 26.03. NFS updated to v3 UDP only.
Qt home, cache, tmp directory moved to ramfs with HRFS formatting.

Task-number: QTBUG-145458
Change-Id: I954bac54584797d77429937a2e3edec6da5a73fd
Pick-to: 6.12
Reviewed-by: Simo Fält <simo.falt@qt.io>
2026-07-31 05:07:34 +00:00
Toni Saario 4bb35ed3bb Update VxWorks libs to 26_03
Pick-to: 6.12
Change-Id: I6157d0645dcfdebda2f2bb34e4736c832b4f5956
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
2026-07-31 05:07:31 +00:00
Karim Pinter 65104d023e Set VxWorks QtBase tests insignificant till all the problems are fixed
Upgrade to VxWorks 26.03, needs several fixes, which depend on each
other. But they fail on staging, because they are not staged together.
After the changes are in dev and 6.12 branch, the test insignificant
feature can be removed.

Pick-to: 6.12
Change-Id: Idaeb846b757afe0e071fe2f0aed2b35333ca50fe
Reviewed-by: Simo Fält <simo.falt@qt.io>
2026-07-31 05:07:28 +00:00
Karim Pinter 20c9b61cf6 Coin: Run VxWorks QEMU autotests against parallel emulators
Boot several VxWorks QEMU instances per host and drive them
concurrently instead of running every autotest serially against a
single emulator. A 2x2 trial (2 instances, 2 cores each) already
halved the ARM autotest wall-clock time, so scale the launcher to an
arbitrary instance count.

vxworks_qemu_launcher.sh now takes an optional instance id and gives
each instance its own tap device, guest IP (172.31.1.10+N), MAC,
serial FIFO pair and QEMU log. Instance 0 keeps the previous addresses
so a single-instance run is unchanged. The shared bridge/tap setup is
serialized with flock and made idempotent so parallel launches do not
race on it. The SSH readiness probe targets the instance's own IP.

Emulator sizing:
- Intel: 4 instances, -smp 4 -m 4G each (KVM).
- ARM: 2 instances, -smp 2 -m 2G each (TCG).

Bump the x86_64 test configuration from VMSize8 to VMSize16 so the
host can accommodate 4 instances x 4 cores / 4 GB. ARM stays on
VMSize8 (2 x 2 cores).

Fixes: QTBUG-147569
Pick-to: 6.12
Change-Id: Ic2d7912bdac22d71a3424d14b5000cbef89f61a6
Reviewed-by: Simo Fält <simo.falt@qt.io>
2026-07-31 05:07:25 +00:00
Tor Arne Vestbø b49f3297b8 Add independent iOS simulator and device builds
Xcode 27 no longer ships a universal iOS simulator runtime, so our
trick of building fat binaries for iOS no longer works.

As a stop-gap towards XCFrameworks we build simulator and device
individually, so that we can package them up in the SDK as two
components next to each other.

This does break the convenience of switching between simulator and
device within the same Xcode project, but use through Qt Creator
is not affected as that is always a single-SDK build of the user
project.

Pick-to: 6.12
Change-Id: I7115f4db7623fff2b539553b72c875cf25d3a3a7
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2026-07-28 09:34:47 +00:00
Tim Blechmann 81f3a57d3b ffmpeg: bumb nvidia codec headers to nv-codec-headers to 12.0.16
building against nvidia-codec-headers 12 bumps the minimum requirement
to driver version 520 (released october 2022). This should still give us
good coverage on most devices in 2026, while also enabling hardware AV1
encoders.

Pick-to: 6.12
Change-Id: If345095f1a2aa635f3fb1e343e47d51ba07ee4ec
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
2026-07-28 04:51:43 +00:00
Robert Griebl 6f4085c84d Add an Ubuntu 24.04 lcov configuration
Also update lcov to a modern 2.4 release.

Change-Id: Iea14af47a3dbd509fdd735e60f314c3101bbc3b4
Reviewed-by: Simo Fält <simo.falt@qt.io>
2026-07-28 04:51:42 +00:00
Marianne Yrjänä 14aeaae7de CI: Update QNX7.1 toolchain
Toolchain updated to newer version and related library version updates done.
Added sshd-session as it's now needed by SSH Daemon.

Pick-to: 6.12 6.11 6.8
Change-Id: Iebf22f27c33709902485bd034c9442659c1b54cc
Reviewed-by: Simo Fält <simo.falt@qt.io>
2026-07-22 19:40:32 +00:00
Alexandru Croitor b679f634ea CMake: Only parse local .git/config to get initialized submodule
For the purpose of getting the list of already initialized
submodules, it suffices to parse only the local .git/config file
of a repository.

This avoids including the output of a global ~/.gitconfig file, which
might contain bracket symbols, and thus break parsing of active
submodules.

Pick-to: 6.8 6.11 6.12
Fixes: QTBUG-145559
Change-Id: Ie08d42f4fa7c9b9e975a027dd6f20419936a606d
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2026-07-22 19:40:29 +00:00
Alexandru Croitor 9136724f2e coin: Fetch latest qlitehtml refs in Coin mirror during Nightly test
This ensures that the RunCMake.InitRepository test will not fail due
to an outdated checkout of the qlitehtml repository in the Coin git
mirror.

Pick-to: 6.8 6.11 6.12
Fixes: QTBUG-148458
Change-Id: If37fdf1c1ff7e3c2337efe2da06570627e4dbccd
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2026-07-22 19:40:26 +00:00
Elias Toivola 44aa931e29 Windows 10: remove old provisioning directories again
After 42370c3e0b was merged, another patch
reintroduced the old w10 directories. Remove them again.

This amends 862c3df5bf

Pick-to: 6.12
Change-Id: I3413d88bd14fdd61ea50bb8966d2c14311ed5136
Reviewed-by: Simo Fält <simo.falt@qt.io>
Reviewed-by: Aku Pietikäinen <aku.pietikainen@qt.io>
2026-07-22 19:40:22 +00:00
Simo Fält dd13fa7b41 Provisioning: Fix 7z extract commands on RHEL 9.6
More recent 7z requires additional switch due to multi hop links.

Change-Id: Ia023bf8d662d4c842acc97498e0b89cf2a2a167d
Reviewed-by: Matti Paaso <matti.paaso@qt.io>
2026-07-22 19:40:19 +00:00
Simo Fält d4fc6f01a9 Add nightly config for Pyside6 Axivion scan
Pick-to: 6.12
Task-number: QTQAINFRA-5563
Change-Id: If44a576e831ae31ebd6efa4e8fe64521aa83602b
Reviewed-by: Matti Paaso <matti.paaso@qt.io>
2026-07-17 04:59:11 +00:00
Axel Spoerl c425276693 Harden qt_run_all.sh / ps1
Scripts were executed with 'sh', because not all provisioning scripts
were executable. That lead to path mismatches.
The script halted on errors. Manual provisioning might not always work.

Drop the 'sh', because all provisioning scripts are executable now.
Add a command line option to toggle whether to halt on errors or not.
On Windows, don't only consider ps1, but also exe, bat, cmd files.

Pick-to: 6.12
Change-Id: Ife8b0becc91b1d855d29d20e123016ce87dc80bb
Reviewed-by: Simo Fält <simo.falt@qt.io>
2026-07-17 04:59:09 +00:00
Elias Toivola 654c9c2b03 Windows 11 24h2: clean old/unused installations
Pick-to: 6.12
Task-number: QTQAINFRA-7912
Change-Id: Idcb4ebdf6df88d9eb6fe8e6c555688fba53e4a73
Reviewed-by: Simo Fält <simo.falt@qt.io>
2026-07-15 09:52:35 +00:00
Alexandru Croitor 8e218fec47 CMake: Fix git-qt-foreach output being lost in non-tty invocations
There's a tty check in qt_internal_foreach_repo_run.
The code reads tty_exit_CODE rather than the correct tty_exit_code.

In a non-tty context (when stdout is a pipe), /usr/bin/tty prints
"not a tty" and has a non-zero exit code, leading to stdout being
redirected to a file named "not a tty" in every submodule.

Use the right name.

Pick-to: 6.8 6.11 6.12
Change-Id: I6bba544aa0e3bbe2f09925cae56f303e70643681
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2026-07-15 09:52:28 +00:00
Simo Fält 444670374a COIN: Add nightly config for Harmony OS developer build
Pick-to: 6.12
Change-Id: I4793f7e6a368031848696a7fd7f81df6775e9cee
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
Reviewed-by: Aku Pietikäinen <aku.pietikainen@qt.io>
2026-07-15 09:52:25 +00:00
Joerg Bornemann 02df2a107d Windows: add Run-Executable-With-Timeout and mitigate Notepad++ hang
Add Run-Executable-With-Timeout, a wrapper around Run-Executable that
takes a timeout in seconds as its first argument. Run-Executable gains
an internal -TimeoutSeconds parameter (default 0 = no timeout, all
existing callers unaffected) used by the new wrapper.

Apply a generous timeout to the Notepad++ silent installer, which was
observed hanging for ~14 hours and causing provisioning CANCELED
failures on Windows 11 24H2 machines.

Cache the process handle ($null = $p.Handle) immediately after
Start-Process -PassThru. Without this, $p.ExitCode reads back as $null
after the process exits, which made Run-Executable spuriously throw
"Process <exe> exited with exit code " (blank) on successful runs.
This race was observed in provisioning logs for certutil.exe in the
certificate-updates step.

Change-Id: Icc66b670a3d40d67d1b6251913a06dbffeffaec2
Reviewed-by: Elias Toivola <elias.toivola@qt.io>
Reviewed-by: Simo Fält <simo.falt@qt.io>
2026-07-15 09:52:23 +00:00
Elias Toivola 42370c3e0b Remove unused Windows provisioning directories
Remove versions that are not in use in branches older than 6.12. When we
want to have pick-to's to lts-6.8 (and beyond) after this patch, they
need to have their own separate patches created.

Windows OS:es which are left:
- Windows 10 22h2 x86_64
- Windows 11 23h2 arm64
- Windows 11 24h2 x86_64

Pick-to: 6.12
Task-number: QTQAINFRA-7912
Change-Id: I70c2df706e5ff36cee0563b59243883a7012e6b1
Reviewed-by: Simo Fält <simo.falt@qt.io>
2026-07-15 09:52:20 +00:00
Qt Submodule Update Bot 34e6afee88 Update submodules on 'dev in qt/qt5'
Change-Id: I13c4dcc4fd1ba2e81e6d72c742cf839a4d76d6cd
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2026-07-10 04:25:21 +00:00
Ari Parkkila eb6aff6f96 Add platform configs for meta-qbsp-mediatek
CI configs for new Qt Onboard repo.

Task-number: QTBUG-132475
Change-Id: Idfd4846295fbd92e4bca23edcf96a56a48bdfa08
Reviewed-by: Simo Fält <simo.falt@qt.io>
2026-07-09 06:09:11 +00:00
Qt Submodule Update Bot 5a7814e918 Update submodules on 'dev in qt/qt5'
Change-Id: I7ab36d796ca1798256ee6289e8e414b91315d073
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2026-07-08 16:03:00 +00:00
Qt Submodule Update Bot 41b759dba7 Update submodules on 'dev in qt/qt5'
Change-Id: Ifa4a19daae02e8da179eaf1f4c76cab2ab371248
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2026-07-06 23:18:02 +00:00
Assam Boudjelthia 9969af72b5 Provisioning: add Qt Gradle Plugin to the Gradle cache project
Add Qt Gradle plugin to the provisioning Gradle cache to avoid
potential fetching on each build in qtdeclarative tests.

Pick-to: 6.12 6.11 6.8
Fixes: QTBUG-147567
Change-Id: I2ac5ef09b958e50d808a024479ee6d4ed111aff0
Reviewed-by: Toni Saario <toni.saario@qt.io>
2026-07-02 19:40:22 +00:00
Assam Boudjelthia 4549003489 Provisioning: add feature delivery to the Gradle cache project
Add feature-delivery plugin to the provisioning Gradle cache
to avoid potential fetching on each build in qtbase tests.

Pick-to: 6.12 6.11 6.8
Change-Id: Ie9126114287aff77abcd2f68bfff4d8dc25fa6a9
Reviewed-by: Toni Saario <toni.saario@qt.io>
2026-07-02 19:40:15 +00:00
Simo Fält d059dc0446 COIN: Fix HarmonyOS nightly build's config id
Pick-to: 6.12
Change-Id: I86e3b8e563553feb233692542f9b37f034e32a61
Reviewed-by: Liang Qi <liang.qi@qt.io>
2026-06-30 11:51:53 +00:00
Liang Qi cb7d1367be coin: also generate bat files on Linux host for HarmonyOS build
Pick-to: 6.12
Task-number: QTBUG-147252
Change-Id: Iff66606f01a0fcd843d121cccf8d1cd1be94876b
Reviewed-by: Patrik Teivonen <patrik.teivonen@qt.io>
2026-06-30 07:56:45 +00:00
Elias Toivola 862c3df5bf Windows 10: set private network
Changed firewall configurations in CI network caused W10 VMs to prompt
to select public/private network profile setting for the changed
network.

Set the network profile with a script to prevent this prompt reappearing
in build/test VMs.

Pick-to: 6.12 6.11 6.8
Change-Id: I6c71fd31cd3982742254edf508a0ccfc3d2ceeb6
Reviewed-by: Toni Saario <toni.saario@qt.io>
2026-06-29 16:04:48 +00:00
Simo Fält e37b588b62 CI: Update CMake deb package for sbuild
Also cleaning up libicu debian packages that are not used anymore.

Pick-to: 6.12
Task-number: QTBUG-146967
Change-Id: I9351ed0065da72457fadabbc69dffd687373b746
Reviewed-by: Toni Saario <toni.saario@qt.io>
2026-06-29 13:08:18 +00:00
Marianne Yrjänä 28c27e1256 QNX: Add unwinder libraries to Qemu image
On QNX8 backtrace requires unwinder. Adding unwinder libraries to QNX
x86 Qemu image.

Change-Id: If29f910720036501f0ee4ce47106507b2daf07aa
Reviewed-by: Simo Fält <simo.falt@qt.io>
2026-06-29 13:08:16 +00:00
Qt Submodule Update Bot 129c6abe37 Update submodules on 'dev in qt/qt5'
Change-Id: I19431ab1a552ecc545cd2b3faf4d7a82e954dac0
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2026-06-26 14:19:05 +00:00
Elias Toivola b5af653382 Set an ARM64EC config to run tests on arm64 hosts
Set them as InsignificantTests.

Pick-to: 6.12
Task-number: QTQAINFRA-7579
Change-Id: I58df5bcd55e9b4e11a733c0a0576d6ec2f743ebe
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
2026-06-25 21:16:53 +00:00
Elias Toivola ed632de606 ARM64EC: turn off QDoc
Pick-to: 6.12
Task-number: QTBUG-147036
Change-Id: I5fea2c54d4a6d52710564d739c30f34375ad4b79
Reviewed-by: Topi Reinio <topi.reinio@qt.io>
2026-06-25 21:16:52 +00:00
Elias Toivola 8f3e7cd7eb ARM64EC: disable qtwebview build
qtwebview build is effectively disabled by unsetting WEBVIEW2_SDK_ROOT.

Pick-to: 6.12
Task-number: QTBUG-146988
Change-Id: I68b0e0e87694a0dab8760a40e3e5aee9d6460ef2
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
2026-06-25 21:16:52 +00:00
Elias Toivola e84b449ab5 ARM64EC: skip qtwebengine and qtpdf builds
Pick-to: 6.12
Task-number: QTBUG-146860
Change-Id: Ifc71bd6f77945093546e71dc22c22e77d6631bca
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
2026-06-25 21:16:51 +00:00
Elias Toivola fc6d6d66cc Windows: add ARM64EC target
This target builds Qt6 as arm64ec on a x86_64 host. The provisioning is
done through x86_64 so many of the 3rd party dependencies (e.g. ffmpeg)
are x86_64.

Pick-to: 6.12
Task-number: QTQAINFRA-7579
Change-Id: I66b2a6b70667586cddf1df8b96c3e1149fac4567
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
2026-06-25 21:16:51 +00:00
Alexandru Croitor 341fe4e602 coin: Add syft to provisioning
Syft is a tool that scans package manager manifest or lock files and
generates an SBOM (Software Bill of Materials) file based on the
found packages. It can generated both CycloneDX and SPDX SBOM formats.

The tool will be used by the Qt for Python project to generate SBOMs
based on the python packages used during the build.

The tool is provisioned on all the platforms that have the
GenerateSBOM feature.

Pick-to: 6.8 6.11 6.12
Task-number: PYSIDE-3366
Change-Id: I1369f7b1b041b1fc0d8a56a20446df322d26d33a
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2026-06-25 04:04:54 +00:00
Tor Arne Vestbø 42039d0819 Add nightly iOS test configuration
Change-Id: Iace7f21a42d6fc1992b83212638e3ae783a6f768
Reviewed-by: Simo Fält <simo.falt@qt.io>
2026-06-25 04:04:50 +00:00
Tor Arne Vestbø b7a2e3ba1c Install universal iOS simulator
Change-Id: Ic2c353a193515dc7d388a06ce911e146c8fea5bc
Reviewed-by: Simo Fält <simo.falt@qt.io>
2026-06-25 04:04:47 +00:00