Linux only, as the plugin requires the xcb QPA plugin. Includes the
Linux packaging configurations so release binaries can be exported.
Task-number: QTQAINFRA-8015
Change-Id: I481c39db55ad4ef6f36a7ceaef00e1a30c43adc8
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
(cherry picked from commit 6bda9bdef9)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
The switch of the VxWorks guests' NFS mounts from TCP to UDP removed
transport-level backpressure and retransmission: when the server drops
a request or a reply, the client re-sends the RPC itself. With
VXWORKS_QEMU_INSTANCES=4 KVM-speed x86 guests hammering the server
concurrently, drops are frequent enough that non-idempotent metadata
ops (MKDIR, RENAME, REMOVE) get replayed, which surfaces as spurious
errors and crashed autotests in exactly the metadata-heavy paths
(QSettings, QFileDialog, tst_QFile::openDirectory).
Address the three drop points on the server:
- nfsd threads: the distro default of 8 is too few; when all of them
block in a commit, incoming UDP requests are silently discarded.
Raise to 32.
- sync exports: commit latency under parallel load exceeds the
client's RPC timeout and triggers the retransmit storms above.
Export async instead; the exports carry disposable CI scratch data,
so relaxed durability is acceptable.
- socket buffers and fragment reassembly: NFS3 rsize/wsize over a
1500-byte MTU turns every large reply (READ, READDIRPLUS) into an
IP fragment train, and one lost fragment costs the whole RPC. Raise
rmem/wmem to 8 MiB and the ipfrag thresholds to 16/12 MiB, applied
on every boot since sysctls do not persist.
Also use exportfs -ra so changed export options are resynced on VMs
that already carry the exports from a previous run.
TMP,HOME,CACHE directories were in NFS, now they are moved to ramfs
on the device side. imx6 ram increased to 4G because of this.
This also includes the NFS patch from WindRiver.
Fixes: QTBUG-149201
Change-Id: I710d81789d6cdd7b4de40bba0c55086ea61724fd
Reviewed-by: Toni Saario <toni.saario@qt.io>
(cherry picked from commit 58b1334bac)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Qt 6.11 removed the NOT ANDROID guard around the offscreen platform
plugin, so it can now be built for Android. Add offscreen to -qpa
alongside android in the Android build configs so libqoffscreen is
built and shipped for every ABI.
Pick-to: 6.11
Change-Id: I01fea9372c5297ef633fa3ddead84e9e975a2051
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
(cherry picked from commit e0f1c974c3)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Add a helper script to check the reported distro version at
/etc/os-release at the start of a provisioning and at the end of it,
compare them, and throw an error if there is any difference even at the
most minor patch level e.g. Ubuntu 24.04.0 -> 24.04.1.
Task-number: QTQAINFRA-7810
Pick-to: 6.11 6.8
Change-Id: If4f1e997aef40037ee876bc3843ed09a5412615f
Reviewed-by: Simo Fält <simo.falt@qt.io>
(cherry picked from commit d4992d4da4)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
As a drive-by, we fix the ffmpeg-installation-utils.sh script to install
FFmpeg source code into the expected target directory, instead of it
relying haphazardly on the name of the downloaded archive.
Same fix for install-ffmpeg.ps1.
Task-number: QTBUG-148761
Change-Id: Id765e01fbd402ee494a6a3ffec773d1dccc07c87
Reviewed-by: Tim Blechmann <tim.blechmann@qt.io>
(cherry picked from commit 7fdc3c2e63)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
QT_USE_ANDROID_MODERN_BUNDLE is renamed in qtbase, so reflect
that in qt5 as well.
Task-number: QTBUG-145101
Change-Id: Ieae7c662b80b18f6b287bdd8c19e971932b0d171
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
(cherry picked from commit 6b51154f65)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
- Create platform config file for the 6.12 branch in tqtc-qml-preview-mcp repo
- Both QtMcp and QmlPreviewMcp have the same platforms supported
Change-Id: I9dd65966e6319ca51e8dfd3a9ef43a4f6a3db7ac
Reviewed-by: Antti Kokko <antti.kokko@qt.io>
It is typically hard to beat AudioToolbox. We may be better off not
disabling them when building FFmpeg.
Change-Id: Iba10fa3fe2f972e408017743a0db67d0e1a04a47
Reviewed-by: Nils Petter Skålerud <nils.petter.skalerud@qt.io>
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
(cherry picked from commit 51aab48f53)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Both the 7.1 and 8.0 SDP ships pre-2022g zone info so they need to be
updated with a newer one. Point both at zoneinfo-2026a-usr.tar.xz, which
is rooted at usr/ and so suits either SDP layout, extracted into each
SDP's own target directory.
tst_QDateTime's expectation for the affected rows keys off the zone data
rather than the OS as of I3103b98c, so no test-side coordination is
needed when the new template rolls out.
Change-Id: I75a2df6e0002886e3de91f0573f8083645307c39
Reviewed-by: Marianne Yrjänä <marianne.yrjana@qt.io>
Reviewed-by: Simo Fält <simo.falt@qt.io>
(cherry picked from commit 2b92278152)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
tst_qbytearray_large autotest fails in CI on x86, because qemu is
started with 4Gb of memory and this test needs 4,7 Gb.
Fixes: QTBUG-149168
Change-Id: I0b6d753085c3e1f830cd705e6513003437909c64
Reviewed-by: Toni Saario <toni.saario@qt.io>
(cherry picked from commit e9ce684743)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
GCC = 15.1.0 MinGW = 12.0.0
Note: Win10 doesn't have MinGW targets anymore as those were moved
recently into Win11 (ddebcf8fd9)
But we still keep MinGW 15.1.0 installation as part of the Win10
provisioning as we did with Win11 before it had MinGW targets.
Reason is to keep installation working for just in case it's needed.
Task-number: QTQAINFRA-7483
Change-Id: I2cb2e2ef180b11cad61a5131ec47ea2ad207f338
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
Reviewed-by: Tim Blechmann <tim.blechmann@qt.io>
(cherry picked from commit 295083dd9b)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
This switches vcpkg back to a specific tag of the master branch of our
fork. That's why we can remove the "reference" key from the
configuration too, since master is the default branch.
The updated protobuf port only builds the libprotoc compiler library
when the target triplet equals the host triplet, or when the libprotoc
or target-protoc feature is requested. Since we always build against
our custom *-qt triplets, which never match the host triplet, request
the libprotoc feature so that protobuf::libprotoc is available and
qtgrpc can build qtprotobufgen.
Change-Id: Ief4b12c57c082f94b2bcfae6fd02ebac7018a5c9
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
(cherry picked from commit dd170ab8a4)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Qt6Multimedia on QNX links libasound (QSA), but 8.0 mkqnximage ships no
audio at all, so qtspeech's tst_qtexttospeech dies at load with
"ldd:FATAL: Could not load library libasound.so.5". Add the library;
without io-audio the device list just stays empty.
Pick-to: 6.11
Change-Id: I467cb977313ce2496e2ab063c820929f2bfa591e
Reviewed-by: Marianne Yrjänä <marianne.yrjana@qt.io>
Reviewed-by: Simo Fält <simo.falt@qt.io>
(cherry picked from commit c899623a25)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
The qtwebengine module is going to be released as separate component
this implies also that qtwebview module should be split into two parts:
* qtwebview-native one which implements qtwebview using platforms
native apis, released together with qt installer
* qtwebview-webengine one which compiles webengine backends (plugins) for different platforms, released together with webengine component
Instead of really splinting the sources of webview the idea is to keep
everything how it was.
For Qt5 integration .gitmodule overrides dependency files for modules,
webview builds now and tests without qtwebengine dependency meaning only
native part is builds and tested. The outcome is used for installer
packaging. However, module builds stay the same and qtwebview is still
built and tested after qtwebengine, therefore there are no changes in
development process.
Change-Id: I7fe87f8464b07683ec41a76511e8eec45941376d
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
(cherry picked from commit 8732522eea)
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
This reverts commit 72a7e5c4db.
Reason for revert: Minor version specific internal repos are now
available
Pick-to: 6.11 6.8
Task-number: QTQAINFRA-7810
Change-Id: Ibdf7d847929175fce2aa3a1b4473695346821a96
Reviewed-by: Simo Fält <simo.falt@qt.io>
(cherry picked from commit 065d6d06d9)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
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.11 6.8
Fixes: QTQAINFRA-7785
Change-Id: Ib2b6a55d7b994c95299ddf66546d9362b04823df
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
(cherry picked from commit f408aa690a)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
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.
Change-Id: Ied33d25a60d5c9f54dcf37be3aad5cac0d2cbd03
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
(cherry picked from commit 3ea33c05bf)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
The package is installed into a subdirectory of the user's home
directory, so there is no need to use sudo.
Change-Id: I06b455678234954eb98a5b61487548fc259520fa
Reviewed-by: Simo Fält <simo.falt@qt.io>
Reviewed-by: Dimitrios Apostolou <jimis@qt.io>
(cherry picked from commit f0a6bdb87e)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Now that we have individual builds for device, and arm64 and x86_64
simulator, as a workaround for lacking xcframework support.
Change-Id: Ifff43080b32bcab80e5cbf54f9b23ecd443480a6
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
(cherry picked from commit 0979c63ba8)
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
This patch upgrades the provisioned FFmpeg version to n8.1.2
As a prerequisite, it also installs the nasm package on relevant
platforms.
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>
(cherry picked from commit a20ee395b0)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
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.
Fixes: QTQAINFRA-6166
Task-number: QTQAINFRA-7942
Change-Id: I1e8dacf8ea5f3c492f12270c5f407bd4e5a2e756
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
(cherry picked from commit cdadd80b87)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Also have to update libclang-llvmorg to a version built with llvm-mingw 22.1.7
Task-number: QTQAINFRA-7552
Change-Id: I7e579eacb146718b34ec486598323fa85cf3bfb4
Reviewed-by: Tim Blechmann <tim.blechmann@qt.io>
Reviewed-by: Simo Fält <simo.falt@qt.io>
(cherry picked from commit 8804b39aa5)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
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.
Change-Id: Idaeb846b757afe0e071fe2f0aed2b35333ca50fe
Reviewed-by: Simo Fält <simo.falt@qt.io>
(cherry picked from commit 65104d023e)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
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
Change-Id: Ic2d7912bdac22d71a3424d14b5000cbef89f61a6
Reviewed-by: Simo Fält <simo.falt@qt.io>
(cherry picked from commit 20c9b61cf6)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
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.
Change-Id: If345095f1a2aa635f3fb1e343e47d51ba07ee4ec
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
(cherry picked from commit 81f3a57d3b)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
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.11 6.8
Change-Id: Iebf22f27c33709902485bd034c9442659c1b54cc
Reviewed-by: Simo Fält <simo.falt@qt.io>
(cherry picked from commit 14aeaae7de)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Add Qt Gradle plugin to the provisioning Gradle cache to avoid
potential fetching on each build in qtdeclarative tests.
Pick-to: 6.11 6.8
Fixes: QTBUG-147567
Change-Id: I2ac5ef09b958e50d808a024479ee6d4ed111aff0
Reviewed-by: Toni Saario <toni.saario@qt.io>
(cherry picked from commit 9969af72b5)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Add feature-delivery plugin to the provisioning Gradle cache
to avoid potential fetching on each build in qtbase tests.
Pick-to: 6.11 6.8
Change-Id: Ie9126114287aff77abcd2f68bfff4d8dc25fa6a9
Reviewed-by: Toni Saario <toni.saario@qt.io>
(cherry picked from commit 4549003489)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
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.
Change-Id: I7115f4db7623fff2b539553b72c875cf25d3a3a7
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
(cherry picked from commit b49f3297b8)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
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.11 6.8
Fixes: QTBUG-145559
Change-Id: Ie08d42f4fa7c9b9e975a027dd6f20419936a606d
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
(cherry picked from commit b679f634ea)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>