415 Commits
Author SHA1 Message Date
Joerg Bornemann c63b5fb4e5 coin: generate vcpkg attribution files during provisioning
Run vcpkg_generate_attributions.py after installing the ports, so the
generated qt_attribution.json files and the port index are written in
place into $VCPKG_ROOT/installed, next to the libraries they describe.

The OHOS wrapper needs no change, it delegates to install-vcpkg-ports.sh.

Task-number: QTBUG-150865
Change-Id: Ib9b9cded132dac9b574bcadc05c939e6ed352946
Reviewed-by: Alexandru Croitor <[email protected]>
2026-10-03 07:50:08 +00:00
Karim Pinter d44d627511 [VxWorks] raise kernel and RTP file descriptor limits to 1000
The CI VIP images were built with NUM_FILES, RTP_FD_NUM_MAX and
HRFS_DEFAULT_MAX_FILES at 300. That is too tight for the Qt autotests.

A single test binary runs several style suites in one RTP, and each Qt
thread's event dispatcher costs two descriptors for its wakeup pipe, on
top of windows, the QML disk cache on /ram0 and test data read over NFS.
tst_qquickpopup exhausted the per-RTP descriptor table roughly five
sixths of the way through its run and aborted with

  QFATAL : QEventDispatcherUNIXPrivate(): Cannot continue without a
           thread pipe

which is pipe() failing for want of a free descriptor.

NUM_FILES is the kernel-wide table, shared with the SSH daemon, the NFS
client and the serial console, so the same exhaustion starves those
services: the guest stops answering SSH, the test runner cannot reach it
any more and has to reboot the emulator. tst_qquickmenu wedges its guest
the same way.

Raise all three parameters to 1000. Descriptor table entries are a few
tens of bytes, so the memory cost is negligible on the emulated targets,
and the value stays well below FD_SETSIZE (2048) for any code that still
uses select(); Qt itself polls. This leaves an estimated two to three
times headroom over the peak demand of the heaviest test binary, which
is enough to stop the limit being the binding constraint while keeping a
genuine descriptor leak visible rather than merely delayed.

Fixes: QTBUG-150363
Pick-to: 6.12
Change-Id: I42e26afe0b21215d19b8ed5755a425d8bfed5278
Reviewed-by: Toni Saario <[email protected]>
2026-10-03 07:50:01 +00:00
Karim Pinter cbbd7e2d22 [VxWorks] Recover from guest resets instead of running unprovisioned
A VxWorks guest that hits a kernel exception reboots itself. QEMU
then restarts the kernel from the same -kernel/-append, and the guest
comes back running only the romfs startup script, without the
per-instance configuration written over the serial console by
coin_vxworks_vars.sh. The test runner's health check (serial echo and
SSH rtp list probe) cannot tell such a guest from a healthy one, so it
keeps handing tests to it. In a qtdeclarative run one x86 emulator
slot rebooted about 90s after provisioning and then failed every test
it was given, because the startup script set an LD_LIBRARY_PATH with
the ARM VSB path baked in, so no RTP could load its shared objects.
Fix both halves:
Start QEMU with -no-reboot, so a guest reset ends the QEMU process
instead of rebooting the kernel. The runner already detects a dead
emulator (serial FIFO without a reader, SSH unresponsive) and
relaunches and re-provisions that slot only; the other parallel
instances are unaffected. A reset during boot is now reported by the
launcher's "exited during boot" check right away instead of after
the SSH wait deadline.
Update the VSB and VIP images to build 15-09-2026, whose startup
script sets the correct per-architecture LD_LIBRARY_PATH, so a guest
that does come up from the romfs defaults is still able to run RTPs.

Fixes: QTBUG-150258
Pick-to: 6.12
Change-Id: I199c507eae14a54c6765f3166a56236c44782f1b
Reviewed-by: Toni Saario <[email protected]>
2026-09-25 07:01:34 +00:00
Tuomas Vaarala 5671be2454 Coin: QNX 8.0 QEMU: put the fontconfig tools on PATH
764040 rebuilt fc-match for the 8.0 SDP, but tst_qfont::defaultFamily
still fails all five rows with "fc-match cannot be started: execve: No
such file or directory". The binary is in the image; it is just not on
PATH. Both fontconfig tools are installed to /system/xbin, while the
image PATH is /proc/boot:/system/bin. Coin does add /system/xbin, by
redefining home/root/.ssh/environment in data_files.custom, but
mkqnximage's own inputs/data.build defines that same file at line 72 and
the custom include only follows at line 96. data.build sets
[+dupignore], so the first entry wins and the override is dropped
without a warning. QNX 7.1 is unaffected: its built-in entry already
names /system/xbin.

The same gap has silently disabled the fc-cache call that
post_start.custom runs at the end of startup:

  post_startup.sh: fc-cache: cannot execute - No such file or directory

Install both tools into /system/bin, which is on PATH in the boot
environment and in an ssh session. fc-cache additionally needs HOME:
without it fontconfig fails with "Cannot load default config file" and
"No writable cache directories", because every cache directory in the
config is either absent or relative to HOME. The HOME and
FONTCONFIG_FILE that QNX_TEST_ENV sets do not reach guest startup, so
pass the same two values there.

Verified on a locally built and booted GA8.0.5 image: bare fc-match
resolves to /system/bin/fc-match and all five generic families return
DejaVu Sans, which is what QFont::defaultFamily() returns, so the five
rows pass; and the cache lands in /data/home/root/.cache/fontconfig,
which is the HOME the tests run with.

Pick-to: 6.12 6.11
Change-Id: I6bd29f997b9567218d85768fa47fab38b076cb28
Reviewed-by: Marianne Yrjänä <[email protected]>
Reviewed-by: Simo Fält <[email protected]>
2026-09-25 07:01:31 +00:00
Assam Boudjelthia bb6a722532 Android: update emulator to version 37.1.11
Emulator 36.6.11 maps host visible Vulkan memory into the guest
with a hard coded 4 KB page while the guest driver on the x86_64
16 KB page size image uses getpagesize(), so the mapped pointer
is off by up to 12 KB. Uploads and readbacks then hit the wrong
memory, which is what fails the RHI tests on Android 17. The
emulator 37.1.11 ships the gfxstream fix that aligns to the page
size the guest kernel reports.

Task-number: QTBUG-136620
Task-number: QTBUG-146930
Pick-to: 6.12 6.8
Change-Id: I73e3194d00eca422b6aa5d99a726bfcb14d7e084
Reviewed-by: Simo Fält <[email protected]>
2026-09-25 07:01:28 +00:00
Assam Boudjelthia 1880c78815 Android: make Android 17 CI target significant
Replace Android 16 with Android 17 in CI, Android 17
is the max supported version for Qt 6.12.

Pick-to: 6.12
Task-number: QTBUG-146930
Change-Id: I1780ed538b852c7d46491bae7be512766f7da2c1
Reviewed-by: Simo Fält <[email protected]>
2026-09-19 15:42:02 +00:00
Assam Boudjelthia 1eb5f09e3d Android: bump Android target API level to 37
Provision the Android 17 SDK platform and build tools,
and compile the Gradle cache project against them.

Pick-to: 6.12
Task-number: QTBUG-136620
Change-Id: I6470f60c08f028a2bfbc6ed09a99492d4a174402
Reviewed-by: Ville Voutilainen <[email protected]>
2026-09-18 13:41:56 +00:00
Elias Toivola 574f06fdcc Add Ubuntu 26.04 x86_64 with non-blocking tests
Ubuntu 26.04 comes with GCC 15.2.0 and GNOME 50 which drops X11/xorg and
is Wayland only. X11 programs may run with XWayland within the Wayland
session.

The tier-1 -50 and -51 images are created and configured with Packer
instead of doing it manually. OS configurations can be checked at:

coin/pre-provisioning/qtci-linux-Ubuntu-26.04-x86_64/scripts/
coin/pre-provisioning/qtci-linux-Ubuntu-26.04-x86_64/http/user-data

Provisioning changes compared to x64 24.04:
- Pulseaudio backport is removed:
    03-install-pulseaudio-16-bugfix-backports.sh
- 80-docker.sh is updated to noble -> resolute
- apt: python3-pypdf2 -> python3-pypdf
- '-snld20' param added to 7z commands
- 62-install-swiftly.sh: apt install swiftlang instead
- vx_works.sh: /etc/sysctl.conf -> /sysctl.d/ for net.ipv4.ip_forward=1
- 92-sbuild.sh: sbuild-update is deprecated -> comment out
- enable_test_stacktraces.sh: /usr/lib/sysctl.d/55-ptrace.conf for U26
[CI Platforms]

Pick-to: 6.12
Task-number: QTQAINFRA-8001
Task-number: QTQAINFRA-5844
Change-Id: Ic6951f46845f8de8ca012a7c4f353fb042a16ae4
Reviewed-by: Simo Fält <[email protected]>
2026-09-17 21:40:01 +00:00
Liang Qi 14fd3ac200 coin: add provisioning 26.0.0.821(API 26) for HarmonyOS
Task-number: QTBUG-150204
Pick-to: 6.12
Done-with: Joerg Bornemann <[email protected]>
Change-Id: I136b695eb7759e7d6b2341ddd1e63876042ae7f2
Reviewed-by: Joerg Bornemann <[email protected]>
2026-09-14 04:14:08 +00:00
Liang Qi a8cd722ee2 coin: remove dead code about patch file for HarmonyOS
Pick-to: 6.12
Change-Id: I994603a93712c05035faf5a59b5c3c7451aea177
Reviewed-by: Joerg Bornemann <[email protected]>
2026-09-14 04:14:04 +00:00
Assam Boudjelthia 61b2b03b78 Android: update Android 17 to latest image
Update to Android 17 SDK 37.1 revision 7. The newer 37.2
revision 4 image fails to boot on the CI x86_64 emulator.

Pick-to: 6.12
Task-number: QTBUG-146930
Change-Id: If9fe32defa505aa6150aa69bb874bb05345027ee
Reviewed-by: Ville Voutilainen <[email protected]>
2026-09-14 04:13:59 +00:00
Assam Boudjelthia 8c31c16298 Android: update emulator to version 36.6.11
Pick-to: 6.12 6.11 6.8
Task-number: QTBUG-146930
Change-Id: I18983a99e351ea66b06c97feabaa7916750b8c7a
Reviewed-by: Simo Fält <[email protected]>
2026-09-14 04:13:54 +00:00
Joerg Bornemann ee8728d202 coin: Fix the versions.txt path in install-vcpkg-ports-android.sh
Bash expands a leading tilde only at the start of a word, or after = and
: in a word that looks like a variable assignment. -DOUTPUT=~/versions.txt
is neither, so the tilde reaches CMake literally whether or not the
argument is quoted, and CMake does not expand it either.

vcpkg_parse_packages.cmake:17 reads the file with file(STRINGS) before
appending to it, and that is a fatal error for a path that does not
exist, so the script aborts before writing anything. Nothing in the call
chain uses set -e and the failing cmake is not the last command, so the
script still exits 0 and the x86-android-qt package versions have just
been missing from ~/versions.txt on the RHEL 8.8 and 8.10 targets since
c259d85b. The tilde was correct there before that commit, as the target
of a shell redirection.

The x86_64-android-qt invocation right below already uses $HOME; use it
here too.

Task-number: QTBUG-115715
Pick-to: 6.12 6.11
Change-Id: I9fe43ec7ba10d8105ef6c9566580e1305935e29a
Reviewed-by: Alexandru Croitor <[email protected]>
2026-09-11 06:17:18 +00:00
Karim Pinter 58b1334bac [VxWorks] Tune the NFS server and move TMP,HOME,CACHE dirs to ramfs
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
Pick-to: 6.12
Change-Id: I710d81789d6cdd7b4de40bba0c55086ea61724fd
Reviewed-by: Toni Saario <[email protected]>
2026-09-04 09:39:24 +00:00
Tuomas Vaarala 5ad4448629 Coin: QNX 8.0 QEMU: drop the dead nslookup mapping
nslookup ships only in the 7.1 SDP, never in 8.0. The mapping was
copied in when the 710 and 800 qemu trees were split, and mkqnximage
has warned and skipped it ever since. Remove it from the 8.0 tree; 7.1
keeps its own, where the file exists.

Pick-to: 6.12 6.11
Change-Id: I18cbb621233a736b590e5aa5c9170e3a02e2ee04
Reviewed-by: Simo Fält <[email protected]>
2026-09-03 04:39:22 +00:00
Tuomas Vaarala 81c7c49f23 Coin: QNX 8.0 QEMU: rebuild fc-match against the 8.0 SDP
The image's fc-match is a 2021 QNX 7.1 binary needing libc.so.5 and
libfontconfig.so.1. QNX 8.0 has libc.so.6 and libfontconfig.so.17, so
the loader cannot start it and tst_qfont::defaultFamily fails all five
rows. Point 8.0 at a new archive built from fontconfig 2.17.1 against
the 8.0 SDP, and replace the comment that wrongly described the tzdata
package with the real recipe. Verified on a QEMU image: all five
generics resolve to DejaVu Sans, matching QFont::defaultFamily(). 7.1
keeps the old archive, where the binary still works.

Pick-to: 6.12 6.11
Change-Id: I0b6b00f6ee627dfa9edd4c0c599d1582def01099
Reviewed-by: Simo Fält <[email protected]>
2026-09-03 04:39:17 +00:00
Marianne Yrjänä 6683a395e8 Provisioning: Update QNX7.1 SDP package
Previous SDP update missed windows tools which are need by RTA. Windows
tools now added back to package. In addition, kernel and OpenSSL updated
to newer version with bugfixes.

Fixes: QTBUG-149349
Pick-to: 6.12 6.11 6.8
Change-Id: I65a35e6e8388a8eb7ddfb34f2be66c6817146011
Reviewed-by: Tuomas Vaarala <[email protected]>
Reviewed-by: Simo Fält <[email protected]>
2026-09-03 04:39:13 +00:00
Tuomas Vaarala 6920b96315 Coin: QNX 8.0: update SDP to GA8.0.5
The SDP we shipped was a hand-composed package set whose fsnotify
component dated from 2024-11-23 (fs.notify 0.0.2.02005). On that build
QNX never wakes a blocked poll() or select() when an inotify event
arrives, so QSocketNotifier never fires and QFileSystemWatcher's native
engine silently delivers nothing. That is the sole cause of the
tst_qfilesystemwatcher failures on this platform (QTBUG-149526).

GA8.0.5 ships fs.notify 0.3.0.00006, which fixes it. Rather than
cherry-pick the one package, bring the whole SDP to GA8.0.5: all 249
packages the com.qnx.qnx800.patchset805 manifest pins are now at their
GA8.0.5 versions, verified against the manifest with no deviations.

GA8.0.5 also ships mkqnximage 0.5.0, whose inputs/data.build gained a
built-in "var/etc/hosts=etc/hosts" entry and fixed the syntax of the
var/etc/resolv.conf symlink entry. Both are emitted before the
data_files.custom block and the first entry for a path wins, so they
silently shadowed our own hosts and resolv.conf. That left the image
with the stock QNX /etc/hosts - none of the statically mapped test
server names - and a dangling /etc/resolv.conf symlink. The hosts
entry is dropped in the SDP tarball; resolv.conf is provisioned here
at var/dhcpcd/resolv.conf, which is what the symlink now points at.

Verified with the unmodified upstream test on both architectures -
23 passed, 0 failed, 0 skipped on an aarch64 Raspberry Pi 5 and on the
x86_64 QEMU image built from this SDP. Previously 16 passed, 7 failed.
A standalone inotify poll() reproducer now exits 0 on both, and a
booted image resolves the test server names again.

Pick-to: 6.12 6.11
Task-number: QTBUG-149526
Change-Id: I9275aef6c24f693f3115265c51d109d2b2254c7a
Reviewed-by: Marianne Yrjänä <[email protected]>
Reviewed-by: Simo Fält <[email protected]>
2026-09-03 04:39:08 +00:00
Tuomas Vaarala 2b92278152 Coin: QNX: share one IANA tzdata 2026a archive between 7.1 and 8.0
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.

Pick-to: 6.12
Change-Id: I75a2df6e0002886e3de91f0573f8083645307c39
Reviewed-by: Marianne Yrjänä <[email protected]>
Reviewed-by: Simo Fält <[email protected]>
2026-08-25 18:40:42 +00:00
Jukka Jokiniva 092792a1f4 Update CINetworkTest application version
Task-number: QTQAINFRA-8035
Pick-to: 6.12
Change-Id: I5b7df957dd9688b4357426dd4996f6bd56d755b4
Reviewed-by: Axel Spoerl <[email protected]>
2026-08-21 04:17:29 +00:00
Elias Toivola d4992d4da4 Linux: add a distro version check to prevent unintentional updates
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.12 6.11 6.8
Change-Id: If4f1e997aef40037ee876bc3843ed09a5412615f
Reviewed-by: Simo Fält <[email protected]>
2026-08-19 12:06:01 +00:00
Karim Pinter e9ce684743 [VxWorks] increase the memory for qemu for x86
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
Pick-to: 6.12
Change-Id: I0b6d753085c3e1f830cd705e6513003437909c64
Reviewed-by: Toni Saario <[email protected]>
2026-08-19 12:05:57 +00:00
Tuomas Vaarala c899623a25 Coin: QNX 8.0 QEMU: add libasound.so.5 to the system image
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.12 6.11
Change-Id: I467cb977313ce2496e2ab063c820929f2bfa591e
Reviewed-by: Marianne Yrjänä <[email protected]>
Reviewed-by: Simo Fält <[email protected]>
2026-08-19 12:05:53 +00:00
Liang Qi 3ed07a35b3 coin: also build HarmonyOS on macOS arm64
Pick-to: 6.12
Change-Id: I35b04541f930745e4e10125582a8a810f3aaaaf5
Reviewed-by: Simo Fält <[email protected]>
2026-08-19 12:05:50 +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 <[email protected]>
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 <[email protected]>
2026-08-06 04:25:25 +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 <[email protected]>
Reviewed-by: Nils Petter Skålerud <[email protected]>
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 <[email protected]>
2026-08-06 04:25:11 +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 <[email protected]>
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 <[email protected]>
2026-07-31 05:07:31 +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 <[email protected]>
2026-07-31 05:07:25 +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 <[email protected]>
2026-07-28 04:51:43 +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 <[email protected]>
2026-07-22 19:40:32 +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 <[email protected]>
2026-06-29 13:08:16 +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 <[email protected]>
2026-06-25 04:04:54 +00:00
Elias Toivola 7c5594ea08 Android: Extract NDK packages into their own versioned dirs
This prevents sneaky NDK overwrites if there is no versioning in the
.zip root directory.

Pick-to: 6.12 6.11 6.8
Task-number: QTQAINFRA-7069
Change-Id: Ib0bd30c27da316735001bc5027d1dac1f8ead703
Reviewed-by: Assam Boudjelthia <[email protected]>
2026-06-21 06:52:00 +00:00
Tuomas Vaarala 6282a3fd8a Coin: QNX QEMU: set HOME and FONTCONFIG_FILE for tests
When HOME was unset, ~/.cache collapsed to /.cache on the read-only
QNX QEMU rootfs, so Fontconfig printed "No writable cache
directories" from QtGui-linking sub-tests and broke the
expected-output validation in tst_selftests.

Set HOME=/data/home/root (distinct from TMPDIR so filesystem
watcher tests keep separate watchable dirs) and point
FONTCONFIG_FILE at the deployed fonts.conf. QNX SDP 8.0 ships
fonts.conf at etc/fonts/fonts.conf, not etc/fontconfig/fonts.conf
as 7.1 did, so correct the data_files.custom source path too.

Squashes the former HOME-only and FONTCONFIG_FILE changes, which
conflicted on the same QNX_TEST_ENV lines and could not integrate
together.

Pick-to: 6.8 6.11 6.12
Change-Id: I1943d07eff0a2e99bb96db28e73b4c77e4aa2df8
Reviewed-by: Marianne Yrjänä <[email protected]>
Reviewed-by: Simo Fält <[email protected]>
2026-06-13 06:54:10 +00:00
Axel Spoerl a377574e66 Provisioning: Make all shell scripts executable
For scripted auto-execution all shell scripts in provisioning need to
be executbale. Most are, but some have been forgotten.

Make the remaining ones executable.

Fixes: QTQAINFRA-7905
Pick-to: 6.12
Change-Id: I663aeb6c04f2b9d8049d21a75966369b15fe6d29
Reviewed-by: Simo Fält <[email protected]>
2026-06-12 12:39:41 +00:00
Tuomas Vaarala 00177db989 Coin: QNX QEMU: add localhost to /etc/hosts
The Coin hosts file fully overrides the SDP default, which
had 127.0.0.1 and ::1 entries. Combined with nsswitch
"hosts: files mdnsd dns" and resolv.conf -> 172.31.1.1, any
test resolving http(s)://localhost fell through to NXDOMAIN.

Fixes tst_QHttpServer (229 HostNotFoundError asserts) and
tst_abstractoauth2 (silent crash) on QNX 8.0 QEMU. Applied
to 710/ too so the same latent issue can't surface there.

Pick-to: 6.8 6.11 6.12
Change-Id: I2aaa782980cb44afe3499ba8bd35fd7d3c093043
Reviewed-by: Simo Fält <[email protected]>
Reviewed-by: Marianne Yrjänä <[email protected]>
2026-06-06 08:26:04 +00:00
Dimitrios Apostolou 23c201ac4e Update sccache to v0.15.0
Also set SCCACHE_DIRECT in an effort to counter the error:

    cc1plus: error: .../CMakeFiles/....dir/cmake_pch.hxx.gch: \
        created by a different GCC executable [-Werror=invalid-pch]

Pick-to: 6.12 6.11 6.8
Change-Id: Ic7a3743642ff69495309794f6d17fc9b98d7f338
Reviewed-by: Toni Saario <[email protected]>
2026-06-06 08:26:01 +00:00
Joerg Bornemann 41986ce213 coin: Add arm64-ohos-qt vcpkg overlay triplet
The upstream vcpkg *-ohos triplets have been changed to build static
libraries in multi-config mode. Add (and use) an arm64-ohos-qt triplet
that builds shared libs in release mode.

The triplet differs from the upstream one only in the values
VCPKG_LIBRARY_LINKAGE and VCPKG_BUILD_TYPE.

This patch is a preparation for merging vcpkg upstream back to our
fork.

Pick-to: 6.12
Change-Id: Iac6a4798b0322e9c57cf09ca35a408c66504ba46
Reviewed-by: Alexandru Croitor <[email protected]>
2026-06-06 08:25:59 +00:00
hjk cc750dc924 Disable Qt-StrictIterators
The rule in this form is not as helpful as intented.

Paraphrasing comments from the linked issue:

This rule was created based on clazy's “Warn when iterator objects are
implicitly cast to const_iterator" which was likely an attempt to limit
hidden detaches of implicitly-shared Qt containers.

But mixing const_iterator and iterator is not the problem. The problem
is calling a non-const begin()/end()/find()/etc when you only need
const_iterators. So if you ban the implicit conversion from iterator to
const_iterator, you will catch these, theoretically. Practically, no-one
writes QList<Foo>::const_iterator it = l.begin() these days anymore,
everyone is using auto, so the check can never actually trigger for True
Positives.

As-is, it produces False Positives which has a potential to make the
code actually worse.

An alternative to reach a similar goal is to use QT_STRICT_ITERATORS, so
there’s no need for an Axivion check for it.

Task-number: BAUHAUS-29596
Pick-to: 6.12
Change-Id: I910e9ecc89c3db497c046f6d15ff07ab2ecc470a
Reviewed-by: Marc Mutz <[email protected]>
Reviewed-by: Volker Hilsheimer <[email protected]>
2026-06-04 16:26:51 +00:00
Liang Qi 548f241460 coin: upgrade to 6.1.0.850(API 23) for HarmonyOS
Change-Id: Ia7b8ed8fcb6c521fb8461adf68791e123e980180
Reviewed-by: Liang Qi <[email protected]>
Reviewed-by: Joerg Bornemann <[email protected]>
2026-05-23 08:33:53 +00:00
Alexandru Croitor 7ebe94dfaf CMake: Raise CI-tested minimum CMake version to 3.25.3
Amends ffef920337

Task-number: QTBUG-146221
Change-Id: I80632d555a88ca0641f7cb9e10953a4dc66c565b
Reviewed-by: Tor Arne Vestbø <[email protected]>
Reviewed-by: Joerg Bornemann <[email protected]>
Reviewed-by: Paul Wicking <[email protected]>
2026-05-15 10:40:48 +00:00
Matti Paaso 9bdaa61dc4 Run Axivion analysis only for security critical files
Task-number: QTQAINFRA-7720
Pick-to: 6.11 6.8
Change-Id: Ic3c0ba96421b94e5024ae887e32d51e879305739
Reviewed-by: Toni Saario <[email protected]>
2026-05-14 19:04:40 +00:00
Liang Qi a6d9551cd7 coin: vcpkg install ports for HarmonyOS
Done-with: Joerg Bornemann <[email protected]>
Change-Id: I18b27db3e37a3ff892b985e34d4d43bca81eb0e5
Reviewed-by: Alexandru Croitor <[email protected]>
2026-05-14 00:25:03 +00:00
Liang Qi 25748b508a coin: add provisioning scripts for HarmonyOS
Done-with: Joerg Bornemann <[email protected]>
Change-Id: I9b4ce2855b7661065a903e0d9568254f02dddd62
Reviewed-by: Alexandru Croitor <[email protected]>
2026-05-14 00:25:02 +00:00
Olli Vuolteenaho bdff386c19 Update minimum AAOS version in CI to AAOS12
We dropped support for AAOS10 already in QtAA 6.9, but forgot to update
the minimum SDK version in CI.

Fixes: QAA-3464
Pick-to: 6.11
Change-Id: Iaba6fb08bb6b00f7c01132e7cd528c4727a31859
Reviewed-by: Assam Boudjelthia <[email protected]>
2026-05-08 11:54:19 +00:00
Nils Petter Skålerud 8adbc25578 FFmpeg: Move required provisioning packages into common files
The packages required for FFmpeg provisioning may change between FFmpeg
versions, as is the case when upgrading to FFmpeg n8.1. It is a
time-waster to manually go through all hosts to make sure they all
have the correct packages. Additionally we have no way of knowing
whether a package is used by FFmpeg and/or something else.

This patch moves the list of required FFmpeg packages into some common
files, and refactors each host to read these files. This way we can
modify provisioning in one place.

Pick-to: 6.11
Change-Id: I31d409595b7da231b1f845c18095e77f7af51b0a
Reviewed-by: Artem Dyomin <[email protected]>
Reviewed-by: Elias Toivola <[email protected]>
2026-05-04 14:20:31 +00:00
Tero Heikkinen d0cda5eb77 RHEL: Add test to verify installed release package versions
This test will check that release packages are from current release
version i.e. RHEL 10.0 "el10_0" and not from 10.1 "el10_1" or newer.

If newer release packages are found, script will output those packages
and exit with exit code 1 to ensure that release version stays locked.

Pick-to: 6.11
Task-number: QTQAINFRA-7817
Task-number: QTQAINFRA-7614
Change-Id: I905dd2e72bf5dadc6f3f4b21aa7c09f06204d297
Reviewed-by: Dimitrios Apostolou <[email protected]>
2026-04-29 04:32:33 +00:00