Compare commits

..

388 Commits

Author SHA1 Message Date
Elias Toivola d388103e82 Ubuntu 24.04: Pin Swift to version 6.3.3
Swiftly selected unavailable Swift 6.4.0 during provisioning. Do the
installation with version pinned to 6.3.3 which is the version from the
latest passed Ubuntu 24.04 provisioning.

Fixes: QTQAINFRA-8057
Pick-to: 6.12
Change-Id: I806d733b8249c3d2b9dd59ad84f0ab8c23c9068e
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2026-09-17 21:40:03 +00:00
Elias Toivola 2eb362d1c8 Ubuntu 26.04: remove i386 packages
i386 packages are installed for 'integrity-arm64' target which has
ubuntu-22.04 as platform dependency. The packages are not needed in
Ubuntu 26.04, and not installing them saves storage space and some
bandwidth in not mirroring i386 apt repos in repo-clones.

Pick-to: 6.12
Change-Id: I2bcd1d5d6426ed26e02aec6d6753660a148270b2
Reviewed-by: Simo Fält <simo.falt@qt.io>
2026-09-17 21:40:02 +00:00
Elias Toivola 61d6a83316 Ubuntu 26.04 x86_64: enable internal APT repository
As a side-by-side change, also disable external APT sources so that only
the internal repository is used. Without this disable, 'apt update'
still reads from the external sources.

Pick-to: 6.12
Task-number: QTQAINFRA-8001
Change-Id: If036cca65f5bad9f54216863160e37aa806600b4
Reviewed-by: Simo Fält <simo.falt@qt.io>
2026-09-17 21:40:02 +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 <simo.falt@qt.io>
2026-09-17 21:40:01 +00:00
Qt Submodule Update Bot 6e7735f5db Update submodules on 'dev in qt/qt5'
Change-Id: I8514e984e3ae93312c1f9060fbb302ae2262a1a0
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2026-09-15 09:50:44 +00:00
Liang Qi 85f201f07f coin: add build for 26.0.0.821(API 26) for HarmonyOS on Linux host
Task-number: QTBUG-150204
Pick-to: 6.12
Done-with: Joerg Bornemann <joerg.bornemann@qt.io>
Change-Id: I3ba7c904d4145b274fc2fe8960b6321b1f44cce8
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2026-09-14 04:14:12 +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 <joerg.bornemann@qt.io>
Change-Id: I136b695eb7759e7d6b2341ddd1e63876042ae7f2
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
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 <joerg.bornemann@qt.io>
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 <ville.voutilainen@qt.io>
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 <simo.falt@qt.io>
2026-09-14 04:13:54 +00:00
Joerg Bornemann 75ce1846a3 coin: Update vcpkg to 2026.07.29-qt
Also update vcpkg-tool to 2026-07-27.

Change-Id: I8196df248099e786978a5b9214a3b7afd8fc2a42
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2026-09-14 04:13:48 +00:00
Joerg Bornemann 9fc2fe4bb5 coin: Switch vcpkg-provided libs to static linkage for HarmonyOS
Task-number: QTBUG-147895
Change-Id: I9534cd6218e4115c8ace1fb1bff7d60e2779274b
Reviewed-by: Liang Qi <liang.qi@qt.io>
Reviewed-by: Simo Fält <simo.falt@qt.io>
(cherry picked from commit 574021bdfa)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2026-09-14 04:13:44 +00:00
Alexei Cazacov 7e2b6df4a8 Update essential top-level files in the Qt's super-repo
This commit introduces the following changes:

- README.md - Updated, completely rewritten. Now includes up-to-date
  information.
- README.git - Deleted.
- SECURITY.md - A new document that points to QUIP 15.
- CODE_OF_CONDUCT.md - A new document that points to QUIP 12.
- GOVERNANCE.md - A new document that points to QUIP 2.
- CHANGELOG.md - A new document that points to what's new pages,
  release wiki pages, porting guide, dist/ deprecation note.
- LICENSE.md - A new document that explains where per-module terms live.
- README.md.template - Updated, to specify its purpose.

Fixes: QTBUG-149126
Pick-to: 6.12 6.12.0
Change-Id: I2d2385e22769d4df360a626abc7484baf1cb0285
Reviewed-by: Kai Köhne <kai.koehne@qt.io>
2026-09-13 10:40:38 +00:00
Kai Köhne 897d609dad _clang-format: Suppress false-positive SPDX tag in CommentPragmas
The CommentPragmas regex references the literal string
"SPDX-License-Identifier:" to tell clang-format not to reflow lines
carrying that tag. reuse-tool 6.0+ scans whole files (not just the
first 4 KiB) and its "Invalid SPDX License Expressions" check now
misparses this regex fragment as a real, malformed tag for the file.

Mark it with REUSE-IgnoreStart/End, the same fix already applied to
qtqa's tst_licenses.pl for the identical false positive.

Pick-to: 6.12
Task-number: QTBUG-149427
Task-number: QTBUG-140916
Change-Id: I047cff90d7c43ece8af23863ec6f3a06d8bf23fd
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2026-09-13 10:40:34 +00:00
Qt Submodule Update Bot 26a7125a2c Update submodules on 'dev in qt/qt5'
Change-Id: If9d72ba20d8656b9a1f87602b65fdbd8f89dc5a3
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2026-09-12 11:12:27 +00:00
Alexandru Croitor 653c7cec5b Provisioning: Don't sudo install protobuf on Intel macOS
Sudo installing protobuf changes the ownership of
/usr/local/lib/cmake (among other files) to root, which breaks later
brew installations which try to write into that dir with the qt user.

Don't use sudo on Intel macOS for that package.

Pick-to: 6.12
Change-Id: I0f452bed3f91f1de133acf345419e7a4a83805c2
Reviewed-by: Simo Fält <simo.falt@qt.io>
2026-09-11 06:17:20 +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 <alexandru.croitor@qt.io>
2026-09-11 06:17:18 +00:00
Joerg Bornemann f1632a6b40 coin: Bump the vcpkg OpenSSL override to 3.5.4
The manifest has pinned openssl to 3.0.7 port-version 2 since a5a63931
(Nov 2023), which was the version manual provisioning shipped at the
time. Support for the OpenSSL 3.0 line ended on 2026-09-07, and manual
provisioning has since moved to 3.5.4.

qtgrpc is the only module that opts into vcpkg today, and it does link
the vcpkg copy: the qtgrpc_standalone_tests configure reports OpenSSL
3.0.7 out of installed/<triplet> on Linux, Windows and macOS, and
grpc_testserver, tst_grpc_client_end2end and
tst_grpc_client_interceptors link it. So the stale pin is live, not
dormant.

Pin 3.5.4 port-version 0 rather than dropping the override: it matches
install-openssl.sh and openssl.ps1 exactly, and 3.5 is an LTS release
whereas the registry baseline 3.6.3 is not. The port exists at the
registry tag we already pin, so vcpkg_version.txt stays untouched.

Request the "tools" feature at the same time. 3.0.7 installed the
openssl executable unconditionally; 3.5.4 puts it behind that feature,
which is not enabled by default. qtgrpc's test_server does
find_program(openssl) to regenerate its TLS test certificates and only
warns when the executable is missing, leaving the TLS tests to fail
later on absent key.pem and cert.pem. Building the tool alongside the
libraries keeps the CLI and the linked library at the same version and
drops a hidden dependency on manually provisioned OpenSSL being on
PATH, which is what we want to retire.

The feature is scoped to non-Android, because vcpkg puts the target
triplet's tools directory on CMAKE_PROGRAM_PATH. A cross-built openssl
there would be picked up by find_program and fail to run on the host,
which is the same trap as QTBUG-145933 for protoc. Android keeps the
plain port; the certificates are generated by the host tool anyway.

Task-number: QTBUG-115715
Pick-to: 6.12
Change-Id: I3b36677837fae3080e9362526bd35012e31fc04e
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2026-09-11 06:17:15 +00:00
Simo Fält e94bda4040 Provisioning: Install additional Python for Windows
Qt for Python needs more recent Python to be used when creating
wheels for releases.

Pick-to: 6.12
Change-Id: Ie0faf617dbda7c3d3d97f609c9b23609cb345a5e
Reviewed-by: Elias Toivola <elias.toivola@qt.io>
Reviewed-by: Toni Saario <toni.saario@qt.io>
2026-09-10 05:24:14 +00:00
Oliver Wolff dc29c6d134 Windows provisioning: Remove duplicate libusb install scripts
When libusb installation was added for Windows, Linux, and Mac in change
2cee9da977 there already was a libusb
installation script for Windows in Coin. This script duplication has
never been fixed, so we had 2 scripts for a long time.

Pick-to: 6.12 6.11 6.8
Change-Id: Ic18824faf543a7cae2497b29e4ac8f757ed83af0
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2026-09-10 05:24:11 +00:00
Elias Toivola 6a9e9eb192 Windows: install vim
Fixes: COIN-1060
Pick-to: 6.12 6.11 6.8
Change-Id: Ifa1109f453cfee8d086236d2c59c607ff9867745
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
2026-09-10 05:24:09 +00:00
Simo Fält 31071aed4a Provisioning: Fix for missing Debian security packages
Pick-to: 6.12 6.11 6.8
Change-Id: I65b47bfc1580996989ab1d948a141d46fd53b6f8
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
2026-09-08 10:55:59 +00:00
Patrik Teivonen 6bda9bdef9 Coin: Add platform config for qt-labs/qtxcbnativepainting
Linux only, as the plugin requires the xcb QPA plugin. Includes the
Linux packaging configurations so release binaries can be exported.

Pick-to: 6.12
Task-number: QTQAINFRA-8015
Change-Id: I481c39db55ad4ef6f36a7ceaef00e1a30c43adc8
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
2026-09-08 09:12:37 +00:00
Eike Ziller 779613db43 COIN: Install chrpath on OpenSUSE 16
Required for building Qt Creator/Profiler (installing Qt and
patching ICU)

Pick-to: 6.12 6.11
Change-Id: I733bd8c9a16ebae31c72c01e94d9413c7ff678ab
Reviewed-by: Patrik Teivonen <patrik.teivonen@qt.io>
2026-09-07 04:28:28 +00:00
Joerg Bornemann 056ef7a139 coin: Update vcpkg to 2026.06.24-qt
Change-Id: I28a0ad7271d5800fefadcc5578b79bc69cea9999
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2026-09-04 09:39:27 +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 <toni.saario@qt.io>
2026-09-04 09:39:24 +00:00
Axel Spoerl e0f1c974c3 Coin: Build offscreen QPA plugin for Android CI configs
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.12 6.11
Change-Id: I01fea9372c5297ef633fa3ddead84e9e975a2051
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
2026-09-04 09:39:21 +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 <simo.falt@qt.io>
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 <simo.falt@qt.io>
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 <tuomas.vaarala@qt.io>
Reviewed-by: Simo Fält <simo.falt@qt.io>
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ä <marianne.yrjana@qt.io>
Reviewed-by: Simo Fält <simo.falt@qt.io>
2026-09-03 04:39:08 +00:00
Simo Fält e96543ec42 ohos: Disable bic test for HarmonyOS
To follow same practice with Android.

Pick-to: 6.12
Change-Id: I2af7ca553f105060200a7f3385c954a16e578465
Reviewed-by: Liang Qi <liang.qi@qt.io>
2026-09-03 04:39:04 +00:00
Qt Submodule Update Bot eaa6423f36 Update submodules on 'dev in qt/qt5'
Change-Id: I7d6b2431ccdc6efc3b3882aa695270194ea5a783
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2026-09-01 10:03:54 +00:00
Simo Fält 33df950977 Provisioning: Run Python certificate installer synchronously
Pick-to: 6.12 6.11
Change-Id: I18e8b8256ad66313166dd6e01ea0a030fa81aee7
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
2026-08-30 08:59:08 +00:00
Qt Submodule Update Bot cb8860d23a Update submodules on 'dev in qt/qt5'
Change-Id: I18c91665f579291c585c9aabf8ee0dcd91bb81ab
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2026-08-29 02:01:58 +00:00
Assam Boudjelthia 6b51154f65 Android: use QT_ANDROID_GRADLE_MULTI_MODULE in target test args
QT_USE_ANDROID_MODERN_BUNDLE is renamed in qtbase, so reflect
that in qt5 as well.

Pick-to: 6.12
Task-number: QTBUG-145101
Change-Id: Ieae7c662b80b18f6b287bdd8c19e971932b0d171
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2026-08-29 02:01:57 +00:00
Elias Toivola b03667a922 RHEL 10 & 9: install 7zip-standalone-all instead of p7zip
p7zip in RHEL-10 has a pathing bug reported in:
https://bugzilla.redhat.com/show_bug.cgi?id=2373874

Installing 7zip-standalone-all instead avoids this issue. It'll also be
installed in RHEL-9 for more consistency.

This amends 204528c5bd

Pick-to: 6.12 6.11 6.8
Change-Id: Iae15f27eab01166bd77feba5458d46210f99fa33
Reviewed-by: Patrik Teivonen <patrik.teivonen@qt.io>
2026-08-28 09:43:55 +00:00
Nils Petter Skålerud 7fdc3c2e63 Upgrade to FFmpeg n9.0.1
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.

Pick-to: 6.12
Task-number: QTBUG-148761
Change-Id: Id765e01fbd402ee494a6a3ffec773d1dccc07c87
Reviewed-by: Tim Blechmann <tim.blechmann@qt.io>
2026-08-28 05:26:15 +00:00
Jani Heikkinen 790d69eff5 Qt 6.12: Add offline documentation build config for qtwebengine
Change-Id: Ib5ac73f0de663d8a40349e5f79ffb74bc1ab3541
Reviewed-by: Antti Kokko <antti.kokko@qt.io>
(cherry picked from commit 9da885a19b)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2026-08-27 10:20:34 +00:00
Saman Hashemi df694084d7 Add more supported platforms for tqtc-qtmcp and tqtc-qmlp-preview-mcp
Change-Id: Ia2e7b881bb23d9df980cfc01c01a3e6a20146318
Reviewed-by: Antti Kokko <antti.kokko@qt.io>
2026-08-27 10:20:31 +00:00
Tim Blechmann 51aab48f53 FFmpeg: iOS - build with AudioToolbox
It is typically hard to beat AudioToolbox. We may be better off not
disabling them when building FFmpeg.

Pick-to: 6.12
Change-Id: Iba10fa3fe2f972e408017743a0db67d0e1a04a47
Reviewed-by: Nils Petter Skålerud <nils.petter.skalerud@qt.io>
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
2026-08-27 07:25:57 +00:00
Qt Submodule Update Bot 0e12d8a718 Update submodules on 'dev in qt/qt5'
Change-Id: Ifcbac1064a0b528b256b2086ea25b006c50b1c3b
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2026-08-26 15:30:21 +00:00
Elias Toivola 204528c5bd RHEL: install more supported formats for p7zip
This simplifies tasks in RTA/Jenkins/Packaging. The plugin installs
/usr/bin/7z so linking it with 7za is no longer needed.

Pick-to: 6.12 6.11 6.8
Change-Id: I1dead3d1f138b1a99e3987068b607d947ef94c0c
Reviewed-by: Patrik Teivonen <patrik.teivonen@qt.io>
2026-08-26 04:26:43 +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ä <marianne.yrjana@qt.io>
Reviewed-by: Simo Fält <simo.falt@qt.io>
2026-08-25 18:40:42 +00:00
Janne Juntunen 333b23bd43 Enable packaging for tqtc-qml-preview-mcp
Switch the platform set from CI-only developer/test configurations to
the Packaging-enabled ones so COIN produces Qt Installer content for
the QML Preview MCP server on all target platforms:

 - Linux x86_64: rhel-9.6
 - Linux arm64: ubuntu-24.04-arm64
 - Windows x86_64: windows-11_24H2-msvc2022
 - Windows arm64: windows-11_23h2-arm64-msvc2022 (native)
 - macOS x86_64+arm64: macos-universal-on-arm64

rhel-9.6 and the two Windows configurations run tests in their own
work items; the remaining builds get test-only companion
configurations (offscreen on Linux arm64, macOS 14 on both
architectures). The repository has no tests yet, but the test
work items will take effect as soon as tests are added.

Change-Id: Id3b1a807997478fb419210c3bea7762102036c60
Reviewed-by: Simo Fält <simo.falt@qt.io>
2026-08-25 06:30:25 +00:00
Qt Submodule Update Bot 9ed1386484 Update submodules on 'dev in qt/qt5'
Change-Id: I17cbecee8a133e4fa62ad591270643c45a31e029
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2026-08-24 05:24:56 +00:00
Elias Toivola 1a8bf86bf7 Ubuntu 22.04 arm64 RTA: disable proposed apt repos
Change-Id: Ifff67d4a67dbf3b71a196b9b3795167d0b6dc161
Reviewed-by: Aku Pietikäinen <aku.pietikainen@qt.io>
Reviewed-by: Simo Fält <simo.falt@qt.io>
2026-08-21 06:51:28 +00:00
Elias Toivola 49c5952b0c Ubuntu 22.04 arm64 RTA: allow apt downgrade on libicu
This unblocks libicu-dev apt error.

Change-Id: I1475d6a70cac4dc41cab3de438f1f294af2fd807
Reviewed-by: Johanna Äijälä <johanna.aijala@qt.io>
Reviewed-by: Simo Fält <simo.falt@qt.io>
Reviewed-by: Aku Pietikäinen <aku.pietikainen@qt.io>
2026-08-21 06:51:25 +00:00
Jukka Jokiniva 092792a1f4 Update CINetworkTest application version
Task-number: QTQAINFRA-8035
Pick-to: 6.12
Change-Id: I5b7df957dd9688b4357426dd4996f6bd56d755b4
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
2026-08-21 04:17:29 +00:00
Tero Heikkinen 295083dd9b Update MinGW to v15.1.0 (x86_64)
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.

Pick-to: 6.12
Task-number: QTQAINFRA-7483
Change-Id: I2cb2e2ef180b11cad61a5131ec47ea2ad207f338
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
Reviewed-by: Tim Blechmann <tim.blechmann@qt.io>
2026-08-20 04:22:10 +00:00
Michal Klocek 8732522eea Drop qtwebengine from qt5 integrations
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.

Pick-to: 6.12
Change-Id: I7fe87f8464b07683ec41a76511e8eec45941376d
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
2026-08-19 12:06:07 +00:00
Tim Blechmann aea8ccd137 init-repository: add --depth argument
There are cases when someone may only want to do a shallow clone, e.g.
in CI scenarios.
Adding a --depth argument to reflect to allow shallow clones of the
(sub)modules.

Change-Id: Ia57f6d70c61eeb8f9828c467c8a4cf31c1d9c573
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2026-08-19 12:06:04 +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 <simo.falt@qt.io>
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 <toni.saario@qt.io>
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ä <marianne.yrjana@qt.io>
Reviewed-by: Simo Fält <simo.falt@qt.io>
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 <simo.falt@qt.io>
2026-08-19 12:05:50 +00:00
Joerg Bornemann dd170ab8a4 coin: Update vcpkg to 2026.06.01-qt
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.

Pick-to: 6.12
Change-Id: Ief4b12c57c082f94b2bcfae6fd02ebac7018a5c9
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2026-08-19 12:05:47 +00:00
Jukka Jokiniva f86d819c55 Make RHEL 10 autotests blocking in CI
[CI Platforms]

Task-number: QTQAINFRA-7203
Task-number: QTQAINFRA-7202
Pick-to: 6.12 6.11
Change-Id: Iba9a9a93aa59ac15b8bf80550cf39597875f8c89
Reviewed-by: Frederic Lefebvre <frederic.lefebvre@qt.io>
2026-08-18 11:40:37 +00:00
Qt Submodule Update Bot 906b43060f Update submodules on 'dev in qt/qt5'
Change-Id: I30ec2ea34dc8f2c56feeb7058391cfe111597cfd
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2026-08-18 08:21:30 +00:00
Janne Juntunen 78e1c81b1e Add platform configuration for tqtc-qml-preview-mcp
Change-Id: Ie489eb21cd61e0edb55b658e09e0bf860f47750c
Reviewed-by: Simo Fält <simo.falt@qt.io>
2026-08-11 12:18:19 +00:00
Tor Arne Vestbø ab868d79a0 Build tests for iOS arm64 simulator in nightly test run
Pick-to: 6.12
Change-Id: Id8c3de8c8d39f2df722a6bef403467f98aff2073
Reviewed-by: Toni Saario <toni.saario@qt.io>
2026-08-11 08:12:49 +00:00
Robert Griebl 6326e57a40 LCov build: do a developer build for max code coverage in the tests
Not having a developer build for code coverage runs will skip a
significant chunk of unit tests that require Q_AUTOTEST_EXPORTS.

Change-Id: I05f889a7b0b1be5fb93cb633f109c5caec1cc63d
Reviewed-by: Simo Fält <simo.falt@qt.io>
2026-08-11 08:12:48 +00:00
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
Simo Fält 9b7e7d5852 COIN: Update Debian rules branch
Pick-to: 6.12
Change-Id: Ie9b4511fb2f7ea8b3baafb79c212cc28cc2a7bde
Reviewed-by: Toni Saario <toni.saario@qt.io>
2026-06-25 04:04:45 +00:00
Elias Toivola 99c69904b8 Windows 11 x86_64: update Visual Studio 2022 to 17.14.33
Tier-1 image changes in -73:
- MSVC 14.44.35211.0
- Windows SDK 10.0.26100.7705
- installed .NET SDK
- Visual Studio now has 'ci_msvs' user added with a license to use
  debugger tools.
[CI Platforms]

Pick-to: 6.12 6.11 6.8
Task-number: QTQAINFRA-7726
Task-number: QTQAINFRA-5417
Change-Id: I67d5605c544228daa6bac502ac487d1d5060fd81
Reviewed-by: Simo Fält <simo.falt@qt.io>
2026-06-25 04:04:42 +00:00
Liang Qi adcff73e24 coin: update id name for HarmonyOS builds
We follow the name scheme like Android ones. And we upgraded to API
23 in 548f241460 .

Pick-to: 6.12
Change-Id: Ibe1a221ee561c50c432874987f8926da1b46f797
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Reviewed-by: Simo Fält <simo.falt@qt.io>
2026-06-22 10:35:13 +00:00
Liang Qi 609c6903c7 coin: remove platform configs for HarmonyOS in qtbase.yaml
It was added into cmake_platforms.yaml now.

Pick-to: 6.12
Change-Id: I2d20e582c3c1ec2b8f13ed09a0c7d42a0324697a
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Reviewed-by: Simo Fält <simo.falt@qt.io>
2026-06-22 10:35:10 +00:00
Liang Qi 156feaa139 Revert "coin: add platform configs for HarmonyOS - step 2"
This reverts commit 38e3864f3e.

It was added into cmake_platforms.yaml now.

Pick-to: 6.12
Change-Id: I1f24aef6f2d2a20889bd00acc1f83f2ab3d9b5dc
Reviewed-by: Simo Fält <simo.falt@qt.io>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2026-06-22 10:35:08 +00:00
Liang Qi f898c700d3 coin: add platform configs for HarmonyOS into cmake_platforms.yaml
Pick-to: 6.12
Change-Id: I51c1b3479a884ab97b1deb10102ebb0a9270955b
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Reviewed-by: Simo Fält <simo.falt@qt.io>
2026-06-22 10:35:06 +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 <assam.boudjelthia@qt.io>
2026-06-21 06:52:00 +00:00
Simo Fält bb7ae5f3dc CI: Add HarmonyOS nightly test config
Pick-to: 6.12
Change-Id: Ib224c9eaceae19a5c7dd1c1e85f8e0a65556d470
Reviewed-by: Toni Saario <toni.saario@qt.io>
2026-06-21 06:51:57 +00:00
Jukka Jokiniva 75db654544 Install qemu-guest-agent on Ubuntu-24.04-aarch64
Task-number: QTQAINFRA-7938
Change-Id: I963cc027207bb75123cbd20e6d3925e7ce6022e8
Reviewed-by: Simo Fält <simo.falt@qt.io>
Reviewed-by: Dimitrios Apostolou <jimis@qt.io>
2026-06-21 06:51:55 +00:00
Joerg Bornemann 2882b5615b Coin: Force bundled libtiff/libwebp in Linux desktop packaging
The TIFF and WEBP image format plugins opportunistically link the system
libtiff/libwebp whenever find_package() succeeds. When the Linux release
packaging host moved from RHEL 8.10 to RHEL 9.6, libtiff-devel became
present (pulled in transitively via gtk3-devel), so the shipped libqtiff
plugin gained a hard dependency on libtiff.so.5, breaking on hosts that
ship a different libtiff soname (e.g. libtiff.so.6).

Pin tiff and webp to the bundled copies in the Linux desktop packaging
configurations (rhel-9.6 and ubuntu-24.04-arm64) so the released
binaries stay self-contained regardless of what is installed on the
build host.

Fixes: QTBUG-147470
Pick-to: 6.11 6.12
Change-Id: If406fd6b9338af51176b50c3af5bb3193fd226fd
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Reviewed-by: Kai Köhne <kai.koehne@qt.io>
2026-06-21 06:51:52 +00:00
Qt Submodule Update Bot 87c2d0b629 Update submodules on 'dev in qt/qt5'
Change-Id: I49c56cec4ef358029d4a6b25a619e2db6106dfa0
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2026-06-19 08:52:18 +00:00
Toni Saario adc52dde71 Add caching for qtopenapi maven dependencies
Contains the .m2 folder from home after openapi build. Extracts it
to VM at same path.

Pick-to: 6.11
Change-Id: I3eb5858160db1c996f3c72fae2b91be1478f000c
Reviewed-by: Simo Fält <simo.falt@qt.io>
Reviewed-by: Elias Toivola <elias.toivola@qt.io>
2026-06-18 04:25:38 +00:00
Tero Heikkinen 3f495a95ee Remove openSUSE 15.6 from CI
Except 'opensuse-15.6-host-asan' -target which will be handled in:
  - "Port the ASAN config from OpenSUSE 15 to 16" (QTQAINFRA-7660)

[CI Platforms]

Pick-to: 6.12 6.11
Task-number: QTQAINFRA-7455
Task-number: QTQAINFRA-7452
Change-Id: Ibd224779c77fa2af9460c240181cbe341ae454a9
Reviewed-by: Simo Fält <simo.falt@qt.io>
2026-06-16 11:29:44 +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ä <marianne.yrjana@qt.io>
Reviewed-by: Simo Fält <simo.falt@qt.io>
2026-06-13 06:54:10 +00:00
Allan Sandfeld Jensen 01ed52ad4c Install rust on macOS CI
We need to build it as no official pre-built binaries with
multiple targets exists of rust.

Pick-to: 6.11 6.12
Change-Id: Ibbe5dd77a92e845ce312f2ddf324a30b4c5ddc72
Reviewed-by: Simo Fält <simo.falt@qt.io>
2026-06-13 06:54:07 +00:00
Elias Toivola 5e9c31fe74 Unix: clean up vcpkg packages more later in provisioning
$VCPKG_ROOT/packages/ fills up later in install-vcpkg-ports.sh, clean up
at the end of that script.

This amends 75cdce7b2c

Pick-to: 6.12 6.11 6.8
Change-Id: I87cf73c5b46733141d017efa6d4a2e9e6c482424
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2026-06-13 06:54:04 +00:00
Matti Paaso 6cecda38fa Change Axivion analysis platform configuration
Change Axivion analysis to TestOnly target with platform
dependency.

Task-number: QTQAINFRA-7846
Pick-to: 6.12 6.11 6.8
Change-Id: I6efb23299b9bfcad549d352c804ad4f6a8772e84
Reviewed-by: Toni Saario <toni.saario@qt.io>
2026-06-12 12:39:56 +00:00
Nils Petter Skålerud 75a537b6d5 FFmpeg: Don't build unused FFmpeg components
The FFmpeg components 'avdevice' and 'avfilter' are not used in Qt.
By not building them, we save some time during provisioning in CI.

Pick-to: 6.12 6.11
Change-Id: Id9219f6c00bd48d35d1d5c5b87eecb45f8c16c45
Reviewed-by: Mikko Hallamaa <mikko.hallamaa@qt.io>
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
Reviewed-by: Elias Toivola <elias.toivola@qt.io>
2026-06-12 12:39:54 +00:00
Axel Spoerl c0e391423d Add script to run all (provisioning) shell scripts in given directory
To build / test Qt on a fresh VM, all provisioning scripts have to be
run.

Provide a shell script to facilitate this on Linux and macOS.

Fixes: QTQAINFRA-7906
Pick-to: 6.12 6.11 6.8
Change-Id: Ie06c11c824897d23c74d90c008a595c2f82f6950
Reviewed-by: Simo Fält <simo.falt@qt.io>
2026-06-12 12:39:48 +00:00
Axel Spoerl 4f97b4bea8 Add script to run all (provisioning) shell scripts in given directory
To build / test Qt on a fresh VM, all provisioning scripts have to be
run.

Provide a shell script to facilitate this on Windows.

Fixes: QTQAINFRA-7906
Pick-to: 6.12 6.11 6.8
Change-Id: Ib06f75d7402f72e0496bab35aeb2ac89d1064537
Reviewed-by: Simo Fält <simo.falt@qt.io>
2026-06-12 12:39:48 +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 <simo.falt@qt.io>
2026-06-12 12:39:41 +00:00
Teemu Holappa 74d1e3a4c8 Add ubuntu-24.04-x64 to qtsaferenderer-runtime.yaml
Fixes the following integration issue in Coin:
Defined dependency configuration id:
'ubuntu-24.04-x64' resulted in 0 configurations

Change-Id: I959030c966f7b5908f78767b7f67c20e09d57969
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
2026-06-12 12:39:38 +00:00
Matti Paaso 526a09e46a Update Axivion bauhaus-suite to newer version
Update from version 7.11.3 into 7.12.1

Task-number: QTQAINFRA-7916
Pick-to: 6.12 6.11 6.8
Change-Id: I9bb342636f9e67fc3db6d4a2f735923d0df8b622
Reviewed-by: Simo Fält <simo.falt@qt.io>
2026-06-12 12:39:35 +00:00
Simo Fält b002b0fde9 Provisioning: Remove cups-pdf package from Ubuntu
Updated libcups2-dev package (2.4.1op1-1ubuntu4.20) causes password prompt with lpadmin when installing cups-pdf and this blocks provisioning.

Task-number: QTQAINFRA-7930
Pick-to: 6.12 6.11 6.8 6.5
Change-Id: I308f7d037586ee4ac8320274f551315a7329925c
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
2026-06-12 12:39:32 +00:00
Jukka Jokiniva 640b9c2ea2 Fix tier1 image version on macos-universal-on-arm64
Amends d43a68e9b4

Pick-to: 6.12
Change-Id: Ib36ada89fd37a8846f8932782650ab43154f7385
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
2026-06-12 12:39:29 +00:00
Joerg Bornemann 3275891741 coin: Use OHOS_ARCH instead of OHOS_ABI in CI config
In preparation of consolidating the OHOS target-architecture variables
onto OHOS_ARCH and droppeding OHOS_ABI, we're updating the HarmonyOS
target platform configs to pass -DOHOS_ARCH=arm64-v8a.

This doesn't change behavior, because OHOS_ABI defaults to arm64-v8a.

Pick-to: 6.12
Task-number: QTBUG-147291
Change-Id: I1d0d2071d0512f976eaa031d7c976aa97c3bc9cb
Reviewed-by: Simo Fält <simo.falt@qt.io>
2026-06-10 04:28:16 +00:00
Mårten Nordheim 6a6f4fa55e Disable liburing for Linux packaging
liburing has version tags preventing accidental use of incompatible
versions.

Since we are building all of our linux binaries on RHEL 9/Ubuntu, for
x64 and arm64 respectively, we are hitting this issue now on other
distros that do not have the same liburing package.

To counter that we disable it for the Packaging build and leave it on
for testing. It's an optional feature and a private one at that so not
much is lost at the moment.

Fixes: QTQAINFRA-7927
Change-Id: Ib371e24d9a6e1dc45146493f637209fb5cd2589a
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
(cherry picked from commit c3477b4141)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2026-06-10 04:28:13 +00:00
Axel Spoerl d6315c6f58 Add COIN platform configuration for qtpim
To enable testing / COIN, add qtpim.yaml

Change-Id: I3f788aa04d2a4b23674654d13eb6afac0ecc7f82
Reviewed-by: Simo Fält <simo.falt@qt.io>
2026-06-10 04:28:09 +00:00
Tor Arne Vestbø b684ef99a6 Make macOS 26 developer build and x86_64 tests officially significant
Pick-to: 6.12
Change-Id: I583b2355ac0ea8918ddb9ef1195a91696cbbd24f
Reviewed-by: Aku Pietikäinen <aku.pietikainen@qt.io>
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
2026-06-10 04:28:06 +00:00
Dimitrios Apostolou ce75c3c977 Port ASAN build from OpenSUSE 15 to 16
Pick-to: 6.12
Fixes: QTQAINFRA-7660
Change-Id: I08107822e4b93241741cde7d4d54e6903372a454
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
2026-06-10 04:28:03 +00:00
Tor Arne Vestbø 5d41389310 Build macOS developer build examples as external projects
qtbase for now, as some of the submodules fail to build
examples in this mode.

Pick-to: 6.12
Task-number: QTBUG-90820
Task-number: QTBUG-96232
Change-Id: Icb2254bafcbeee7e4bba7500b2a8395f386244ef
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2026-06-08 22:30:43 +00:00
Tor Arne Vestbø b3e3927f22 Bump macOS and iOS minimal static tests platform to macOS 26
Pick-to: 6.12
Change-Id: I0b90d2921563ace6dac338c9970144a0985a37b8
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2026-06-08 22:30:42 +00:00
Tor Arne Vestbø 50086ff8f3 Explicitly install iOS and visionOS platforms for Xcode 26
The app no longer ships with any platforms (SDKs) built in
except for the macOS platform.

Pick-to: 6.12
Change-Id: I83200553f52b9edf80212a12bb9abd6a26f27407
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2026-06-08 22:30:41 +00:00
Tor Arne Vestbø c22a682b4f Move iOS minimal static tests to shared minimal-static-test file
Pick-to: 6.12
Change-Id: Ia83e315e1d01f61380d1da530c556a3f4fe7a0a9
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2026-06-08 22:30:40 +00:00
Elias Toivola 6ead7af28d Windows arm64 msvc2026: set tests as blocking
This amends 6d676db849

Pick-to: 6.12
Task-number: QTQAINFRA-7559
Change-Id: Iaf869b781280e050b1e0140dd7de815806dd7ebf
Reviewed-by: Simo Fält <simo.falt@qt.io>
2026-06-08 10:23:13 +00:00
Joerg Bornemann 2b6e156008 Build WoA arm64 tests natively using the cross-built toolchain
Rename windows-11-x86_64-arm64-tests to
windows-11-x86_64-arm64-native-tests and switch it from the host-side
cross-compile-tests flow to the native-build-tests flow:

* Features BuildTestsInTest + UseToolchainFromTargetDir build tests in
  the test stage on the arm64 worker using the cross-built toolchain
  (qtbase change 238400b22f3b327c05a51a913b279d4bf37f4adf).
* OpenSSL and FFmpeg env vars unblock qtnetwork and qtmultimedia.

Pick-to: 6.12
Change-Id: Idd0565ceee0714d3f4fbe34ebf8d6373f7315cc1
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2026-06-07 09:23:46 +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 <simo.falt@qt.io>
Reviewed-by: Marianne Yrjänä <marianne.yrjana@qt.io>
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 <toni.saario@qt.io>
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 <alexandru.croitor@qt.io>
2026-06-06 08:25:59 +00:00
Simo Fält 596f204006 COIN: Add QT_HARMONYOS_HVIGOR variable for HarmonyOS to build hap
Pick-to: 6.12
Change-Id: Ie59fe187381c46ced5b1b8370363b3bafb330230
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2026-06-06 08:25:57 +00:00
Elias Toivola a10af2c0e8 Ubuntu: install xclip
This simplifies RTA tasks

Pick-to: 6.12 6.11 6.8
Fixes: QTQAINFRA-7368
Change-Id: I3fa030f8c2655c62427348d328a44f7751d2e578
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
2026-06-04 16:26:55 +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 <marc.mutz@qt.io>
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2026-06-04 16:26:51 +00:00
Tor Arne Vestbø 4826d56e8d configure: Only consider qt-prefixed directories as potential submodules
People might have other non-submodule directories in their Qt checkout,
e.g. ~/dev/qt/tasks, ~/qt/dev/research, ~/dev/qt/6.10, etc

We don't want to treat these as potential submodules.

Pick-to: 6.12
Change-Id: I0765f1832e71fb541be3976810cd6b192fea17a2
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2026-06-04 16:26:47 +00:00
Joerg Bornemann d6ac43b433 configure: Sanitize -submodules arguments
Allow (and ignore) leading, trailing, and repeated commas in the
-submodules argument.

Fixes: QTBUG-147198
Pick-to: 6.11 6.12
Change-Id: I8901a65c6754c58ea3d51cb715932e7b328af445
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2026-06-04 16:26:42 +00:00
Joerg Bornemann 8d4971fd6e coin: Download vcpkg-tool from upstream again
vcpkg-tool release tag 2026-05-27 contains the patch necessary for
HarmonyOS support. We can use the unpatched upstream vcpkg-tool again.
Change the provisioning scripts back to fetch the tool from upstream's
release artifacts page.

Pick-to: 6.12
Fixes: QTQAINFRA-7902
Change-Id: I84ef4582ef8ff5ca6e8e135128fe515438ac2a22
Reviewed-by: Elias Toivola <elias.toivola@qt.io>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2026-06-04 16:26:38 +00:00
Tor Arne Vestbø d43a68e9b4 Build macOS universal packaging config on macOS 26 / with Xcode 26
Pick-to: 6.12
Change-Id: I53424902311028736a71afe097339a270538fa32
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2026-06-04 16:26:34 +00:00
Tero Heikkinen 393b7adc1f Make openSUSE 16.0 tests as blocking in CI
And Packaging -flag moved from openSUSE 15.6
to a new openSUSE 16.0 [CI Platforms]

Pick-to: 6.12 6.11
Task-number: QTQAINFRA-7455
Task-number: QTQAINFRA-7452
Change-Id: I5726f5610fb3bde618e83468d1f9d3ed5083d51b
Reviewed-by: Simo Fält <simo.falt@qt.io>
2026-06-04 16:26:29 +00:00
Liang Qi 38e3864f3e coin: add platform configs for HarmonyOS - step 2
A few modules were added HarmonyOS support.

Pick-to: 6.12
Change-Id: Idf04de728aae7dbf0b0939a4110a225bff2d18b3
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2026-06-04 16:26:25 +00:00
Joerg Bornemann 4df5cb5b02 coin: Enable building examples for HarmonyOS developer build
Pick-to: 6.12
Change-Id: I865db714dac9f0b0a9c75b2ddd6c1350f257fc70
Reviewed-by: Liang Qi <liang.qi@qt.io>
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
2026-06-04 16:26:21 +00:00
Qt Submodule Update Bot f505ed1baf Update submodules on 'dev in qt/qt5'
Change-Id: I408895bd11a7641e8f39728a06f787d5ab14081f
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2026-06-03 22:34:45 +00:00
Qt Submodule Update Bot ec2e17e25d Update submodules on 'dev in qt/qt5'
Change-Id: I4cd445cc604f4659c94ddb08cd77737bf4e39898
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2026-06-03 12:55:39 +00:00
Matti Paaso 36efc0bfb0 Remove libusb installation from macos
Pick-to: 6.12
Change-Id: I5f69afe376087958ef5a6a2985bd87170e3f8a8d
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
2026-06-03 04:22:17 +00:00
Patrik Teivonen f0ab3c330f Provisioning: Point pinned EPEL repo at archive mirror for RHEL 10.0
EPEL 10.0 has been moved under `archive.fedoraproject.org` now that
10.1 is the current release, so the pinned baseurl on `dl.` 404s and
breaks provisioning. Switch to the archive URL to preserve the
exact-release pin.

Pick-to: 6.12 6.11
Change-Id: I0bff932e4aaa11515ca28aa18af5cea73a9e2b05
Reviewed-by: Elias Toivola <elias.toivola@qt.io>
Reviewed-by: Simo Fält <simo.falt@qt.io>
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2026-06-03 04:22:14 +00:00
Qt Submodule Update Bot 9448447668 Update submodules on 'dev in qt/qt5'
Change-Id: Ia665dbfd95052893203b8e1ed2759205667db613
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2026-06-02 17:49:27 +00:00
Juha Vuolle 063d3b1b85 Add rust bridge CI config for macOS ARM64
Task-number: QTBRIDGES-182
Change-Id: I0f9e7adddeee915a4df87197bcfc7d5447d4ac3c
Reviewed-by: Simo Fält <simo.falt@qt.io>
2026-05-28 08:12:28 +00:00
Aku Pietikäinen e80a64ab16 Platform Configs: Update macOS 26 Tier1 images for ARM
Increase image disk size to 300 GB.

Task-number: QTQAINFRA-7890
Change-Id: I7e0d84007ae448d14f2f8246fd8c7bc2a5e505af
Reviewed-by: Simo Fält <simo.falt@qt.io>
2026-05-25 10:12:00 +00:00
Lorn Potter d9938ec5cf wasm: update emscripten to 5.0.5 for 6.12
Change-Id: I430cc0e8675ab76932117534a86d563a20efba3c
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
2026-05-23 15:57:25 +00:00
Liang Qi 548f241460 coin: upgrade to 6.1.0.850(API 23) for HarmonyOS
Change-Id: Ia7b8ed8fcb6c521fb8461adf68791e123e980180
Reviewed-by: Liang Qi <liang.qi@qt.io>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2026-05-23 08:33:53 +00:00
Alexandru Croitor 8dc4442f30 coin: Build universal vcpkg ports for macOS 26 x86_64 and arm64
This makes it consistent with what we do for the older macOS
platforms.

It's also meant to fix the issue of mistakenly running arm protoc on
an x86_64 host in qtgrpc tests which was meant to be fixed by
35389bc1be but was never enabled for the
x86_64 macOS 26 CI job.

To build the universal ports, also make sure to provision the
lipomerge tool which was previously missing on these platforms.

Amends 9a13282256

Fixes: QTBUG-145933
Fixes: QTBUG-146676
Fixes: QTBUG-146677
Change-Id: Ic136a3cab9d4499a0f852cef66a523dd6a53eb9e
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2026-05-16 11:05:09 +00:00
Mårten Nordheim edfe3794c9 Provision liburing development packages for linux distros
Change-Id: I99a6c52be86f87a436dee8a7b571d5548368735d
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
2026-05-16 06:02:43 +00:00
Tuomas Vaarala 18f42f3a87 Coin: QNX 8.0: add Windows provisioning script
Mirror the existing Windows qnx710.ps1 for the 20260410 SDP
patchset and pull the 2026a tzdata overlay alongside it, same
pattern as the Linux common/linux/qnx_800.sh script.

Pick-to: 6.10 6.11
Change-Id: I5b718de8274ba2e1dc174199736c26ecdb5ea44e
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2026-05-16 06:02:40 +00:00
Marc Mutz 669f354e20 remove all status=ignore submodules
It makes little sense to carry these around when they don't compile
and require users to use a Perl script instead of raw git commands to
establish a working qt5.git, or else keep them wondering about these
dead bodies laying aorund. If someone wants to work on them, we can
always partially revert this commit to bring them back.

With this patch, you can now just

   git clone path/to/qt5.git
   cd qt5.git
   git submodule update --init --recursive

and you're set.

Pick-to: 6.11 6.8
Change-Id: Iac0cf516eca7169fb092aa3e86de1722d0ac9c5b
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
2026-05-15 14:15:23 +00:00
Liang Qi addc61e193 coin: add platform configs for HarmonyOS
Only enable qtbase in first round.

Done-with: Joerg Bornemann <joerg.bornemann@qt.io>
Change-Id: I1e659ce7dfcb5229e7ebf6a04bb9828d5616c7c0
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
2026-05-15 14:15:20 +00:00
Toni Saario a315c3b3b7 Include Ubuntu 24.04 in precheck
Qemu config requires it after 9578c28d7e.
22.04 is still required by QNX.

Change-Id: Id64a5aa986e0b6667394e30bd3118ce06ae77379
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
2026-05-15 14:15:17 +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ø <tor.arne.vestbo@qt.io>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
2026-05-15 10:40:48 +00:00
Matti Paaso ed57ce2618 Update Java version into 21 for Debian 11.6
Jenkins dropped Java 17 support, only Java versions 21 and 25 are
supported.

Task-number: QTQAINFRA-7848
Pick-to: 6.11
Change-Id: Ic5c24ad81dbc1779ac40b38ffd92328a989aa867
Reviewed-by: Simo Fält <simo.falt@qt.io>
Reviewed-by: Patrik Teivonen <patrik.teivonen@qt.io>
2026-05-14 19:04:46 +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 <toni.saario@qt.io>
2026-05-14 19:04:40 +00:00
Johanna Äijälä 28217d187f Provisioning: update Java to 21 in Ubuntu22.04 arm64 (RTA)
RTA Jenkins needs Java >=21.

Pick-to: 6.11
Change-Id: Ide00e3542bd69ec1e4d44612db57c753a73248db
Reviewed-by: Matti Paaso <matti.paaso@qt.io>
2026-05-14 19:04:29 +00:00
Elias Toivola 9578c28d7e Move QEMU/Yocto to Ubuntu 24.04 and update it to 5.0.8
This replaces a6e7d2acc6d252640e1244375f1056436a55641b

Task-number: QTQAINFRA-4666
Change-Id: Ib6a0d362deff1213338685b4d64e2508780f2a08
Reviewed-by: Samuli Piippo <samuli.piippo@qt.io>
2026-05-14 09:14:57 +00:00
Elias Toivola 6d676db849 Windows arm64: set InsignificantTests on msvc2026 targets
Task-number: QTQAINFRA-7559
Change-Id: Idbb1dadbcfc69d6612683a4f2001af9702b132f6
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
2026-05-14 06:01:30 +00:00
Elias Toivola 83ed587573 Windows arm64: add MSVC2026 cross-compile targets
Task-number: QTQAINFRA-7559
Task-number: QTQAINFRA-5417
Change-Id: If5b265333ccdc621b0f284e7db7331c760129b6b
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
2026-05-14 06:01:26 +00:00
Elias Toivola 9d137b8ca5 Windows arm64: add Visual Studio 2026 / MSVC2026 target
Included in tier-1 image qtci-windows-11_23H2-aarch64-54:
- MSVC v.19.50.35729.0
- Windows SDK 10.0.26100.7705
- dotnet 10.0 components
- Visual Studio now has 'ci_msvs' user added in which has license to use
  debugger tools.
- Resolution is set to 1280x1024. It was reset to 1024x768 by an ON
  update. This should fix mouse pointer desync in tier-1.
- Visual Studio 2022 is removed to simplify vs2026 use.

Task-number: QTQAINFRA-7559
Task-number: QTQAINFRA-5417
Change-Id: I297aaf569b28be570c1fbefc821370ae711b5ec2
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
2026-05-14 06:01:23 +00:00
Liang Qi 6a9966d4fb coin: instruction modifications for HarmonyOS
Done-with: Joerg Bornemann <joerg.bornemann@qt.io>
Change-Id: I8f664de2f50c73eeaeed3fdbd0ff89d3ace693b3
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2026-05-14 00:25:03 +00:00
Liang Qi a6d9551cd7 coin: vcpkg install ports for HarmonyOS
Done-with: Joerg Bornemann <joerg.bornemann@qt.io>
Change-Id: I18b27db3e37a3ff892b985e34d4d43bca81eb0e5
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2026-05-14 00:25:03 +00:00
Liang Qi 25748b508a coin: add provisioning scripts for HarmonyOS
Done-with: Joerg Bornemann <joerg.bornemann@qt.io>
Change-Id: I9b4ce2855b7661065a903e0d9568254f02dddd62
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2026-05-14 00:25:02 +00:00
Liang Qi 7c29d9c099 coin: switch vcpkg configuration
The new tag and new baseline include the previous qt port
customizations, but also brings in new necessary port changes
to install ohos-related packages.

Done-with: Joerg Bornemann <joerg.bornemann@qt.io>
Change-Id: I813e84b7708656329b3373073a795ed0b9ac45d8
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2026-05-14 00:25:01 +00:00
Liang Qi 7bfd22157a coin: vcpkg build changes for HarmonyOS
Done-with: Joerg Bornemann <joerg.bornemann@qt.io>
Change-Id: I48c0fa7ef9c774588791008d06ca8734dabde7da
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2026-05-14 00:25:00 +00:00
Elias Toivola 75cdce7b2c Unix: clean up vcpkg buildtrees and packages in provisioning
After vcpkg has done installing, only the contents of
$vcpkgRoot/installed are needed by Qt builds. The vcpkg /buildtrees and
/packages directories should be deleted to reduce tier-2 image size in
Unix targets.

Pick-to: 6.11 6.8
Task-number: QTBUG-115715
Change-Id: Ia23ddacde218ba4c6d3276108fbf6a9754f14923
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2026-05-14 00:24:59 +00:00
Elias Toivola 0dab9c3637 Windows: clean up vcpkg buildtrees and packages in provisioning
After vcpkg has installed libraries, only the contents of
$vcpkgRoot\installed are needed by Qt builds. The vcpkg \buildtrees and
\packages directories should be deleted to significantly reduce Windows
tier-2 image size.

Pick-to: 6.11 6.8
Task-number: QTBUG-115715
Change-Id: I311242c61ba7000cdcc49b0f6ff92cf343e209c9
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2026-05-14 00:24:58 +00:00
Aku Pietikäinen 57901788c3 Platform Configs: Update macOS 15 Tier1 images for ARM
Increase image disk size to 300 GB.

Task-number: QTQAINFRA-7880
Change-Id: I0382d1a23fb54db365d79663ab59753427f72f75
Pick-to: 6.11
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
2026-05-14 00:24:57 +00:00
Elias Toivola de5a829fc3 Windows 11 x86_64: Add Visual Studio 2026 / MSVC2026 targets
Included in tier-1 image qtci-windows-11_24H2-x86_64-72:
- MSVC v14.50.35719
- Windows SDK 10.0.26100.7705
- dotnet 10.0 components
- Visual Studio now has 'ci_msvs' user added in which has license to use
  debugger tools.

Task-number: QTQAINFRA-7559
Task-number: QTQAINFRA-5417
Change-Id: Ic488702e8c23f989405c5992b8aaf61093a11797
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
2026-05-14 00:24:57 +00:00
Matti Paaso e5a39cd6b8 Fix icu provisioning for Debian 11
7z updated in Debian upstream repos. New 7z handles symlinks more
strictly.

Task-number: QTQAINFRA-7878
Pick-to: 6.11
Change-Id: Iee95342413f0848966b103faffcee335ac13d771
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
2026-05-12 13:58:56 +00:00
Elias Toivola 72a7e5c4db Revert "Provisioning: Take repo-clones into use in RHEL 9"
This reverts commit 7f2d96a43e.

Reason for revert: Repo-clones for RHEL 9 skips distro version lock.
Correcting this in repo-clones will take time, so temporarily revert
this change to use external repos until repo-clones for RHEL 9 is ready.

Pick-to: 6.11 6.8
Task-number: QTQAINFRA-7810
Change-Id: Idc5d49be02e6ae763129cd2299b8725ae4de7892
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
2026-05-12 03:54:32 +00:00
Qt Submodule Update Bot d721a7b73e Update submodules on 'dev in qt/qt5'
Change-Id: I36ff21dea07da75f287aab26f122252de1e21ae2
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2026-05-11 17:16:18 +00:00
Matti Paaso 0d441821b5 Add qtmultimedia eLinux test nightly yaml
Task-number: QTQAINFRA-7375
Pick-to: 6.11 6.8
Change-Id: Iddf73841d72efdfa98b95c8dda6c0cd8be84d481
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
2026-05-11 10:58:56 +00:00
Toni Saario 9be5cdde71 Revert "coin: Temporary comment out qtci-macos-14-x86_64-105 configs"
This reverts commit 587e291773.

Reason for revert: The image is now fixed.

Change-Id: I2bc979ba58c39a5ce7addff668a94644d68b64ee
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
2026-05-11 07:58:49 +00:00
Tor Arne Vestbø 587e291773 coin: Temporary comment out qtci-macos-14-x86_64-105 configs
The tier1 one image is seemingly broken as it fails to boot.

Change-Id: I71e244b388d9c3d2aad396f755ac218259470ea8
Reviewed-by: Toni Saario <toni.saario@qt.io>
2026-05-10 15:51:35 +00:00
Ville-Pekka Karhu 5eacf857aa Platform Configs: Update macOS 14 Tier1 images for Intel and ARM
Intel image also has an update to coin bootstrap agent to lower MTU to 1496

Pick-to: 6.11 6.8 6.5 5.15
Task-number: QTQAINFRA-7854
Change-Id: Icac411ad0c4fdf4d64a673156cf33ea3f7f94a51
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2026-05-09 12:03:08 +00:00
Teemu Holappa 8deb9f9437 Fix build break in qtsaferenderer configuration
Remove the non-existing configuration 'macos-13-x86_64-tests'

Change-Id: I9b6103fafd07f1bd2479042ff3a90430afeeca38
Reviewed-by: Simo Fält <simo.falt@qt.io>
2026-05-08 14:15:09 +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 <assam.boudjelthia@qt.io>
2026-05-08 11:54:19 +00:00
Tatiana Borisova 564ea220a3 Update The OpenAPI generator version to 7.18.0 on Windows
- the 7.18.0 has generation updates, that affect the code
generation. We already moved to 7.18.0 on Linux and MacOS CIs,
but forgot to update on Windows. See:
e5871fa6e6
Noticed the problem during the work on a 'nullable' feature,
that is not supported by 7.15.0.

Pick-to: 6.11
Change-Id: I9be758218831aae47d7cc9cb1d2dbf60795e6d27
Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
2026-05-08 04:20:10 +00:00
Tor Arne Vestbø 17cca35258 Build Qt for iOS and visionOS on macOS 26 with Xcode 26
Change-Id: Ia19184c7e69207c7761638683a03a79fd8075d79
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2026-05-05 13:07:35 +00:00
Tor Arne Vestbø 0d73eb6948 Bump macOS 14 build targets to macOS 15
In preparation for minimum Xcode and SDK bump.

Change-Id: Id5ebffff76338b821c42b347e643a7822abc2eff
Reviewed-by: Nils Petter Skålerud <nils.petter.skalerud@qt.io>
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
2026-05-04 19:29:27 +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 <artem.dyomin@qt.io>
Reviewed-by: Elias Toivola <elias.toivola@qt.io>
2026-05-04 14:20:31 +00:00
Tim Blechmann 400d0d446b coin: make macos-26-arm64-developer-build significant
macos-26-arm64-developer-build-tests was made significant, but
macos-26-arm64-developer-build remained insignificant. This lead to
situation that the macos-26-arm64-developer-build-tests job failed with
an obscure error "Error occurred while reading log: File not found"

Amends 7c434c9885

Change-Id: Idf15cd6aac4e2791776268a52cdd0eeb67cc5434
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2026-04-29 06:32:41 +00:00
Toni Saario 3a04fab534 Update macOS 26 x86_64 tier1
Updates bootstrap to set MTU to 1496 at boot. This will enable use of
all macOS hosts.

Change-Id: I47fda29f44ba7522b914d24b341239f81a1db776
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
Reviewed-by: Aku Pietikäinen <aku.pietikainen@qt.io>
2026-04-29 04:32:36 +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 <jimis@qt.io>
2026-04-29 04:32:33 +00:00
Nils Petter Skålerud 92af4495d1 Windows, MSYS2: Confirm correct packages are installed
There have been times where we have updated the list of packages to
install, but prebuilt binaries have missed them. This change adds a
check to confirm that the expected packages are installed.

Pick-to: 6.11
Change-Id: I5f6e2b7917c45f7a220d41946e5e4030f63ca21d
Reviewed-by: Elias Toivola <elias.toivola@qt.io>
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
2026-04-29 04:32:30 +00:00
Assam Boudjelthia 73fa80bab8 Provisioning: expand Android gradle cache project
Add an :app and :lib modules so both com.android.application
and com.android.library paths are exercised, and add a Kotlin
source + JUnit test in each module. This makes gradlew build
pull the kotlin toolchain jars (compiler-embeddable, reflect,
coroutines) that Qt Android JAR and app builds could need
later. This way we ensure all possible artifacts are made
available in the cache during provisioning and avoid or at
least reduce the chances or later downloads.

Task-number: QTBUG-132915
Change-Id: Ic518f96370ffc40f921bcb3063257f8663e41615
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2026-04-27 20:14:23 +00:00
Joerg Bornemann 35389bc1be coin: Enable target-protoc for vcpkg-provided protobuf
This feature enables us to build protobuf with different host/target
triplets to lipo the result.

Fixes: QTBUG-145933
Change-Id: I1456c148686c27cecc6f1f2f5decdeb6f0a2304d
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2026-04-25 08:04:11 +00:00
Eike Ziller c653ec850c COIN/Provisioning: Update Golang to 1.26.2
Used by Qt Creator for cross-platform development (gocmdbridge)

Pick-to: 6.11
Change-Id: Icac0c298169f269c006d92843243e2bed25439bc
Reviewed-by: Akseli Salovaara <akseli.salovaara@qt.io>
2026-04-25 08:04:09 +00:00
Tuomas Vaarala 444b0dcd2d Coin: QNX 8.0 QEMU: follow SDP 20260410 soname bumps
The 20260410 SDP patchset ships new majors for freetype and
fontconfig: libfreetype.so.26 (was .so.24) and libfontconfig.so.17
(was .so.1). The old sonames remain only as compatibility stubs
(libfontconfig.so.1 shrinks to a 320 KB shim vs 1.65 MB for .so.17).
Pick up the current libraries in the QEMU system image so Qt runs
against the SDP's real fontconfig/freetype, not the stubs.

Pick-to: 6.8 6.11
Change-Id: I29ceae73d861d1a398f3efd2f4b2eaab3600fc24
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
2026-04-24 16:50:11 +00:00
Tuomas Vaarala a8ce190d22 Coin: QNX 8.0: update SDP to 20260410 patchset
The 2026-04-10 patchset refreshes binaries and bakes in tzdata 2026a
in the SDP tree. Added the missing targetFile= line.

Also pull the tzdata as a separately-downloadable overlay, so it can
be bumped without rebuilding the full SDP tarball. Archive root is
qnx800/target/qnx/... so it extracts onto /opt/ directly on top of
the already-extracted SDP.

Pick-to: 6.8 6.11
Change-Id: I29f675429937346825e4a0b6cfac07ce8dc391a6
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
2026-04-24 16:50:08 +00:00
Nils Petter Skålerud 062bfe0d2f Ubuntu: Build Patchelf from source
On Ubuntu hosts we are installing patchelf from apt, which delivers
the newest version. As of writing that version is v0.18.0. This version
specifically has issues with patching Android ARM binaries, which we do
during FFmpeg provisioning. Using this version of patchelf blocks the
option of using Ubuntu hosts for Android ARM builds.

This patch makes us build v0.17.2 from source, which is what we do on
other UNIX hosts.

Pick-to: 6.11
Change-Id: I23d2114d2a7757ab0ce50cba7d207bc7813d64fb
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
Reviewed-by: Dimitrios Apostolou <jimis@qt.io>
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
2026-04-23 11:54:36 +00:00
Tor Arne Vestbø af907eaa16 Add coin platform config for qt-apps/qt-audio-plugin-example
Change-Id: I921a436bfae2747ac64d139d203a6f6b254e6c0f
Reviewed-by: Toni Saario <toni.saario@qt.io>
2026-04-23 11:54:31 +00:00
Elias Toivola fbda4dea61 Windows: use msys64_20240113_prebuilt to prevent flaky downloads
Current MSYS does not have a prebuild in ci-files01 cache, which makes
the msys2 install script to use pacman to externally download, which can
cause flakiness.

The prebuilt was fetched from a parked Windows 11 24h2 x64 VM, by
compressing: "C:\Utils\msys64" to .7z

Pick-to: 6.11 6.8
Task-number: QTQAINFRA-7387
Change-Id: I4bd037a6d985fc1c007ba65d8f54a73d4183cb10
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
2026-04-23 03:25:36 +00:00
Alexandru Croitor ef53692f29 coin: Switch vcpkg registry mirror to qtbuildsystem one
It's a new fork under a qtbuildsystem group, but with the contents of
the aledelev fork.

The older mrmsdbdl fork is not used anymore, so it's removed.

Pick-to: 6.8 6.11
Change-Id: I641cf8b86e3809f399cfddbe6c5d71ee6174917c
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2026-04-23 03:25:33 +00:00
Simo Fält 3687dbd3e2 Add win config for qtbridge-swift
Change-Id: Ic41ef648ceee78fa8fcb2a792fe808269fc19ff3
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
2026-04-22 09:30:05 +00:00
Tero Heikkinen 007c887d88 Take RHEL 10.0 specific release subdirectory into use
To fix
  - Release lock --set=10.0 doesn't work with internal repo
  - Also locks epel repo to same release version 10.0

Other notes:

7zip is downgraded from 25.01-1.el10_1 to 24.09-4.el10_0. As a result,
the snld switch (introduced in 7zip 25.01) is no longer required.

Pick-to: 6.11
Task-number: QTQAINFRA-7817
Task-number: QTQAINFRA-7614
Change-Id: Ib2daed8cbb6d53e593cb0c835b0cbc4b40fa5f9d
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
2026-04-22 09:30:04 +00:00
Assam Boudjelthia 23b2017121 Android: provision Gradle dependencies for all hosts
Add scripts to download and cache Gradle distribution
and its dependencies during provisioning for all hosts
so that Qt builds don't have to fetch them on every Qt
module and test build.

Add those scripts to various RHEL, Ubuntu, macos and
windows configurations after Android has been run
since the Gradle build for Android requires Android
SDK.

Prior to this, to avoid having a full Gradle project added
to the coin tree, some Gradle files were being fetched from
qtbase using a commit sha, that was aiming to reduce the
amount of changes each time, but that's a bit awkward since
the files here and this commit sha needs to be updated
anyways. So just have a full Gradle project here and update
its values whenever we bump Gradle or Android supported
versions.

Task-number: QTBUG-132915
Change-Id: Id4876ad90a09cdaada5b96c457820c691e2be426
Reviewed-by: Simo Fält <simo.falt@qt.io>
Reviewed-by: Dimitrios Apostolou <jimis@qt.io>
2026-04-21 16:34:55 +00:00
Assam Boudjelthia 7b4a4cf35b Coin: add SourceEnvVar to source env vars written by SetEnvVars
This mainly moves scattered similar code that was already
sourcing profile files to own script, so it can be re-used
elsewhere.

Change-Id: I11677226370fc52f50292d70c62cae5bd7c58d19
Reviewed-by: Dimitrios Apostolou <jimis@qt.io>
2026-04-21 16:34:54 +00:00
Assam Boudjelthia 1e45674573 Android: add Gradle composite build to manage JAR projects
With a Gradle-enabled Qt build, it's easy now to manage all
Qt modules' JAR builds in one place from an IDE, and that's
what's being done here with Gradle composite builds. This
adds each module's JAR in the qt super repo and each module
also defines its potential dependencies (e.g. Qt6Android.jar).

This also update .gitignore with Gradle, JDTLS and IntelliJ
ignores, and moves the existing .gitignore from the provision
android_gradle project to the root.

Task-number: QTBUG-132915
Change-Id: I4573768c394a4c25347eeb8ce6e2ddf7e57796ef
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2026-04-21 16:34:54 +00:00
Tuomas Vaarala e33898efe4 Coin: QNX: set TMPDIR to /data/var/tmp for test runner
/tmp on the QNX QEMU image is a procmgr_symlink to
/data/var/tmp, and procmgr does not implement symlink()
through that redirect — calls with an absolute link path
under /tmp fail with ENOSYS.

Point TMPDIR at the real path so QTemporaryDir, and any
QFile::link() built on it, stop hitting the redirect.
Fixes tst_QFileInfo::isOther on QNX.

Change-Id: I5ac9040134a9cfedb4c7e5e71bc0b9a0f9d7b0b3
Reviewed-by: Marianne Yrjänä <marianne.yrjana@qt.io>
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
2026-04-21 13:37:50 +00:00
Tim Blechmann b1b477af07 nightly unity builds: fix win32 builds
Add missing dash. Amends 5928c2babd

Change-Id: I4ca41d6228e45c44fc8faf4ab97bc7ef90916e07
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
2026-04-21 04:19:40 +00:00
Nils Petter Skålerud 16af59b8ac FFmpeg, iOS: Don't pass '--enable-shared' and '--disable-static' twice
These flags are already provided by the function
'get_ffmpeg_config_options'. In the current we pass them again
explicitly during FFmpeg configuration.

This patch makes us rely on the function's return value.

Pick-to: 6.11 6.8
Change-Id: I4b257331cedafd7241df4360694e4ad1637267fe
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
2026-04-18 06:19:25 +00:00
Matti Paaso ee610ee8f6 Update Axivion analysis configuration
Added correct format for author to enable email notifications.
Removed unnecessary dns query which does not work.

Pict-to: 6.11 6.8
Change-Id: I0513e80d07c42197570abbd3354b0be3b50db768
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
2026-04-17 20:25:10 +00:00
Toni Saario 2ab91b3e17 Update macOS 26 x86_64 image to -102
OS updated to 26.4.1.
MAC address hack in bootstrap changed to read the address
from the context instead of generating one.

Change-Id: Iafe738997d6c09ab09bb688a4a01750a293697f5
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
2026-04-17 20:25:06 +00:00
Nils Petter Skålerud 2911978176 Windows, FFmpeg: Handle exception when downloading patchelf
The script 'install-ffmpeg.ps1' contains logic for building all targets
even if some targets fail, and then report all results at the end. When
building Android specifically, we download patchelf sources from CI,
it's possible for it to throw an exception if CI-files is not
available. This breaks the logic and makes us terminate early.

This patch encloses the Invoke-WebRequest in a try-catch.

This also makes it easier to run this script locally.

Pick-to: 6.11 6.8
Change-Id: I93d4ec905c61dc7b44b87100353353f24c27d276
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
2026-04-15 21:55:44 +00:00
Tim Blechmann 43a37ecafa nightly builds: unity - skip headersclean check
We don't really need to run headersclean when validating unity builds.
Removing them to save a few CPU cycles

Change-Id: I8ace921e17f887bd076bb5c9d62a69a3ee8e0d7d
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
2026-04-13 16:36:12 +00:00
Tim Blechmann 5928c2babd nightly builds: unity - build release builds on windows
We cannot build debug builds as the llvm binaries are release-only
(causing _ITERATOR_DEBUG_LEVEL mismatches)

Change-Id: Ia928ed4b7f3330ce6d4fcdf0da4c369b8f2e0e78
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
2026-04-13 16:36:08 +00:00
Mikko Gronoff f05bc53c89 Add platform configs for meta-qbsp-renesas-rz
CI configs for new Qt on board repo.

Task-number: QTBUG-145260
Change-Id: I952d6a9d961bb03828c72bf692dde64dd99d361a
Reviewed-by: Toni Saario <toni.saario@qt.io>
2026-04-09 09:34:56 +03:00
Rami Potinkara 5f5f9c4db4 Coin: Add Android 17 as insignificant platform
This patch adds Android 17 16KB Beta3 as insignificant platform
to CI which will not abort on first test failure. At the moment
there is only 16KB compliant system image available.

Before the platform can become significant we need to wait
first released version of Android 17. When the first released
version will be added remove the Hack to alter source.properties
mentioned in this patch.

Task-number: QTBUG-143600
Pick-to: 6.11 6.8
Change-Id: Iaf2f122e6b56e496ddb8549f281cca6acd3970ac
Reviewed-by: Elias Toivola <elias.toivola@qt.io>
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
2026-04-09 07:19:33 +03:00
Nils Petter Skålerud 07ec75fa35 FFmpeg, Android: Use llvm-readelf
In the current Android FFmpeg provisioning, we rely on the tool
'readelf' to be installed on the host. On macOS we currently pull this
tool through the Homebrew 'binutils' package. This has proven
unreliable on older macOS hosts.

The Android NDK provides the same tool under the name 'llvm-readelf'.
This patch makes us rely on this tool during provisioning, which is
guaranteed to be provided.

Pick-to: 6.11
Change-Id: I47a186d2dd4b442929b82f35b4d257d011cb9d10
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
Reviewed-by: Dimitrios Apostolou <jimis@qt.io>
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
2026-04-08 19:45:56 +01:00
Allan Sandfeld Jensen 2548d074a0 Install rust on Windows CI
Pick-to: 6.11
Change-Id: Ic33c84f8bab20cc2cbae17b7e42bc8ac89153924
Reviewed-by: Simo Fält <simo.falt@qt.io>
2026-04-07 09:42:11 +00:00
Tero Heikkinen daecc2a3f2 Fix openSUSE 16.0 dependency issue with cargo 1.94 installation
Pick-to: 6.11
Task-number: QTQAINFRA-7793
Change-Id: Ia5ad818dc599317b7f46697732fa9434d5a0eace
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2026-04-07 09:01:27 +03:00
Alexandru Croitor 6ef2fa58fa Fix Windows gRPC install with CMake minimum version 3.5
Augments 7a8ffd980f

Pick-to: 6.8 6.11
Task-number: QTQAINFRA-7683
Change-Id: I3e0531eb0df63116a068ae2e66c916e564e3552b
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
2026-04-03 08:04:03 +02:00
Elias Toivola e2cf3590fb Update OpenSSL to version 3.5.4 in CI
OpenSSL for Windows is now prebuilt. Instructions to build OpenSSL for
Android are also changed.

Pick-to: 6.11
Task-number: QTQAINFRA-5540
Change-Id: I40fb6964b5887c4bfee008997057a75cc70ac037
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
2026-04-02 19:45:03 +00:00
Nils Petter Skålerud d2bc5fdeae FFmpeg, iOS: Automatically grab version string from source code
This patch allows us to automatically grab the FFmpeg version string
from the source code directly, rather than having to explicitly specify
a version string inside ffmpeg-installation-utils.

Pick-to: 6.11
Change-Id: I657302ab8566592390a51c6f5c3ee989d66efaaa
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
2026-04-01 13:45:59 +01:00
Artem Dyomin b8deff00ef Update nv-codec-headers version to 11.1.5.3
Change-Id: I63283fa327188226f6027c38a18bad1dfebdf2f8
Pick-to: 6.11 6.10 6.8
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
Reviewed-by: Nils Petter Skålerud <nils.petter.skalerud@qt.io>
Reviewed-by: Tim Blechmann <tim.blechmann@qt.io>
2026-04-01 06:44:28 +00:00
Qt Submodule Update Bot 05f8bb10d9 Update submodules on 'dev in qt/qt5'
Change-Id: Ifbdd1f0551c1b84aed1a1fb0020be518c9b2398a
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2026-03-30 16:50:26 +00:00
Simo Fält 3bf43a0827 Provisioning: Install libicu to /usr/local on Ubuntu 24.04 x86_64
Build configs are not using correct version from the /opt/icu.

Pick-to: 6.11
Task-number: QTBRIDGES-172
Change-Id: Ic90560036067de1e9d324adfb0c0e765fc521a90
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
2026-03-30 12:54:14 +00:00
Joerg Bornemann 27280bf442 .gitignore: restrict build patterns to directories only
build-* was matching files like build-ohos-deps.sh. Add trailing slash
to both build and build-* so only directories are excluded.

Pick-to: 6.11
Change-Id: I8f5d8c3adcac4071320d70aed5112d037f7cc138
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
2026-03-30 10:52:01 +02:00
Qt Submodule Update Bot 478c693b7b Update submodules on 'dev in qt/qt5'
Change-Id: I57974b9c1be978a8e9cbb756226a5b8e76de47ed
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2026-03-27 21:34:33 +00:00
Qt Submodule Update Bot 095baf0e00 Update submodules on 'dev in qt/qt5'
Change-Id: Ieb2465bc87c5fb504435948357997b67473d7070
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2026-03-26 19:54:24 +00:00
Jukka Jokiniva 97af7f3855 Fix compilation error in libiodbc on macOS 26
For some unknown reason the compilation has started using -std=gnu23,
which breaks the build.

Forcing "-std=gnu89" allows the build to succeed, so let's do that
as a workaround to unblock qt5, while we continue investigation why
this broke.

Task-number: QTQAINFRA-7775
Change-Id: I59a29ab9a20d5b2302d72b1e6fbbe52c7ecd277a
Reviewed-by: Dimitrios Apostolou <jimis@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2026-03-26 15:13:15 +00:00
Jukka Jokiniva 61ce5dfff1 Remove developer build on macOS 15 Intel
A developer build already exists for macOS 26 Intel, so the macOS 15
configuration is no longer needed. Removing it helps reduce CI load
and saves capacity.

Change-Id: I9000967ec8c0ac0e8fb8f033b5b5beb973429f22
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2026-03-26 08:44:44 +00:00
Allan Sandfeld Jensen 74245b3b85 Add missing html5lib
Pick-to: 6.11
Change-Id: I1f10e5772718222a006732c6bb11d793d2eb9624
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
2026-03-26 09:44:41 +01:00
Kai Köhne 6b968eabd5 Doc: Point potential contributors to contribute.qt-project.org, instead of wiki.qt.io
Change-Id: I54c26009c2f09f60a511ae95989e96793193bb8a
Reviewed-by: Daniel Smith <daniel.smith@qt.io>
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
Reviewed-by: Samuel Gaist <samuel.gaist@idiap.ch>
2026-03-26 09:44:39 +01:00
Qt Submodule Update Bot 7ea233ce27 Update submodules on 'dev in qt/qt5'
Change-Id: Ie3a38d20ef0d5d232a8ab2ccc11b76f82bc16c8c
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2026-03-25 08:39:11 +00:00
Tero Heikkinen fc6b391028 RHEL 10: Quick fix to skip updates due to cockpit install fail
This should be temporary fix until pinning or update works.

Without updates QtWebengine needs these libs to be installed directly
  - libatomic

Pick-to: 6.11
Task-number: QTQAINFRA-7773
Change-Id: I55bb3cfe671f21986753048cea5f8cf64c25f112
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
Reviewed-by: Aku Pietikäinen <aku.pietikainen@qt.io>
2026-03-23 09:43:49 +02:00
Nils Petter Skålerud 99b67a8f3f Windows, OpenSSH: Include .zip file extension when downloading
This script currently downloads the .zip file from the web into a local
file with no file extension. This can cause issues for 7-zip when
unarchiving. This patch fixes this.

As a drive-by, we improve the names of some variables.

Pick-to: 6.11 6.8
Change-Id: Icb1b24646b54d75d825764d30a268fa6e55d0183
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
2026-03-20 21:04:59 +01:00
Allan Sandfeld Jensen 073360db1e Explicitly list libclang-dev for Ubuntu 24.04
Is needed by bindgen but not pulled in by dependencies.

Pick-to: 6.11
Change-Id: Ic3963e580f5d03a4c6de89afcac03639d4d3c27f
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
2026-03-20 21:04:57 +01:00
Dimitrios Apostolou e5e813ef90 windows provisioning: automatically choose the right hash algorithm
...based on the length of the given hash.

Additionally use -ine for string comparison, which explicitly does
case-insensitive comparison. That is what the function needs, previously
it was done implicitly by -ne.

And remove MD5, it's not used anywhere.

Pick-to: 6.11 6.10 6.8 6.5
Change-Id: Ib4303737e5e1d743dd0be1a8f829be9a0db2bc04
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
2026-03-20 21:04:54 +01:00
Dimitrios Apostolou 08892fc088 Update curl version on OpenSUSE-16.0
The version that comes with the distro is buggy, it returns success
instead of failure for the command:

    curl --verbose --fail -L --retry 5 --retry-delay 5 -o filename \
        http://url/that/returns/404

The upstream ticket is: https://github.com/curl/curl/issues/17554

Pick-to: 6.11
Change-Id: Ic763c10a308a24c921a8d2ae1f1c651e0cbac429
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
2026-03-20 21:04:51 +01:00
Matti Paaso 68c8815a01 Provisioning: Update Axivion bauhaus-suite tool
Update tool version from 7.11.1 into 7.11.3

Task-number: QTQAINFRA-7727
Pick-to: 6.11 6.10 6.8
Change-Id: Ic91dbe06c81fc2086e89a715bb1514581ff08620
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
2026-03-20 10:05:41 +02:00
Qt Submodule Update Bot e1a145abd1 Update submodules on 'dev in qt/qt5'
Change-Id: I4a977b4c31fff5d822acc842b65be15830454394
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2026-03-19 17:25:28 +00:00
Axel Spoerl 10e3c62702 Disable dock autohide on macOS >= 14
An auto-hidden dock can cause test flakiness by window resizes and
mouse cursor / focus issues when the autohide is toggled.

Disable it on macOS platforms >= 14.

Task-number: QTQAINFRA-7765
Change-Id: Ie488bccd43c203e5bb9a96e731874bab12c2012c
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
Reviewed-by: Aku Pietikäinen <aku.pietikainen@qt.io>
2026-03-19 08:40:29 +01:00
Joerg Bornemann 09d858a0de init-repository: Route help output to stdout
CMake's message() writes to stderr, making it
unnecessarily cumbersome to pipe -help
output. Write output via a temp file and cmake -E cat to send it to
stdout instead.

Change-Id: I71710aeb503076586609a69cada94c8a5e30e3be
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2026-03-10 15:15:04 +00:00
Tero Heikkinen 8bd36b1d0d openSUSE 16.0: Add missing InsignificantTests flag to wasm qtbase
Test tst_qurl has started to fail too often.

Pick-to: 6.11
Task-number: QTQAINFRA-7455
Change-Id: I4f565179fdcf281740e27211a69a1a2868a44cd1
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
2026-03-10 10:16:40 +02:00
Eirik Aavitsland e60dc5c15c Add qtquicktimeline as dependency for qtlottie
Required for new style animations in VectorImage

Change-Id: I9c580a1fd8edb73708c89723b7cbfd9c7c497a0e
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
2026-03-05 14:32:10 +01:00
Piotr Wiercinski a6e71f142d QtBridge: Remove "disable-deprecated-up-to" from config
Remove the flag "-disable-deprecated-up-to 0x070000" which disables all
deprecated function up to Qt 7.0.
We want users to be able to combine qtbridge and cxx-qt in Rust, so both
must use the same Qt version for binary compatibility. If Qt installation
is not present on the system then we will download the minimal Qt from
web.
We also want to support picking specific version of Qt by user:
i.e. "qt_exact_6_10". In this case when the Qt installation is
downloaded from web and built with `disable-deprecated-up-to 0x700000`
it might confusing for user if some functions are missing from API.

Change-Id: I5d00124a1704d4b5a553b7c2d05b3693ff422e74
Reviewed-by: Matthias Rauter <matthias.rauter@qt.io>
Reviewed-by: Simo Fält <simo.falt@qt.io>
2026-03-04 21:04:09 +01:00
Simo Fält c87f7901ba Use OpenGL_GL_PREFERENCE=LEGACY for qtbridges linux config
This is to align with qt5 release binaries.

Change-Id: I8a0a1181eb940fce6078f01fecdbb30e765b3b9c
Reviewed-by: Matthias Rauter <matthias.rauter@qt.io>
Reviewed-by: Piotr Wierciński <piotr.wiercinski@qt.io>
Reviewed-by: Lena Biliaieva <lena.biliaieva@qt.io>
Reviewed-by: Juha Vuolle <juha.vuolle@qt.io>
2026-03-03 12:46:52 +02:00
Alexandru Croitor c3679fb285 CMake: Add nightly platform to build Qt with CMake master from source
Upstream CMake sometimes introduces behavior changes or breakage that
affects building Qt or user projects.

It is beneficial to catch these issues earlier, before a major / minor
CMake release is made, and before we update our provisioning scripts
to use a newer CMake.

Add a new nightly platform file, which includes all existing cmake
platform configurations, and adds the "BuildCMakeFromSources" feature
to all of them.

This feature:
- tells qtbase CI instructions to download the latest master branch
sources from the CMake repository mirror
- builds CMake from these sources
- uses this CMake to configure Qt

The nightly build will run once a week to catch potential issues
introduced in newer CMake changes.

Fixes: QTBUG-143633
Change-Id: If7223b462a437f97b9fecabb5726a5fcaab4be53
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2026-02-27 20:18:12 +01:00
Simo Fält 308b434080 Add Linux config for qtbridges-swift
Change-Id: I2cbc04a6b99ec3941c90a8e9623ee4889d00b555
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2026-02-25 17:15:24 +02:00
Axel Spoerl 3f6cd61644 Nightly baseline run: Move -DFEATURE_xxx args to CMAKE_ARGS
Wrong to add them as configure args.
Put them to the right place.

This amends ab346b98dc.

Change-Id: I5357c3d5ea0ee63f1b292974ceb9fd5792321b4b
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2026-02-24 17:34:10 +00:00
Joerg Bornemann 1d4da9a59b Fix configure -skip not forwarded to CMake
This amends commit 378c8719a9.

Since 378c8719a9, -skip is registered as a known option in
init-repository's option parser. This caused -skip values to be consumed
during option parsing and no longer appear in the unknown_args list that
gets forwarded to configure. As a result, -skip was silently ignored
when -init-submodules was not passed.

Fix by collecting skip modules into a dedicated list from two sources:
the -skip option values consumed by init-repository's parser, and
exclusion entries from -submodules/--module-subset. The merged list is
then forwarded to configure.

This also simplifies the previous merge logic that searched for -skip in
filtered_args, which became dead code after 378c8719a9.

Pick-to: 6.8 6.10 6.11
Task-number: QTBUG-140359
Change-Id: I816020959f86cf4b8e36ce1a62172acd442ed1d3
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2026-02-23 19:08:45 +01:00
Axel Spoerl ab346b98dc Nightly baseline run: Add features and testarg
Disable autotests.
Add -auto feature for baseline tests to register discrepancies with
Lancelot.

Task-number: QTQAINFRA-7602
Change-Id: I1ca8130ddf5e5c88635cd1f18ecad194afe6e24c
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2026-02-23 15:52:25 +00:00
Nils Petter Skålerud 55c0e2f24a VxWorks, QEMU: Remove reference to undefined $appPrefix
install-vxworks-qemu.sh uses a variable that doesn't exist, causing
issues when we turn on more strict error-handling.

Pick-to: 6.11 6.10 6.8
Change-Id: I9d644a497e4689c7ab35c80f97548b1a1a6bdf12
Reviewed-by: Simo Fält <simo.falt@qt.io>
2026-02-23 10:01:37 +00:00
Simo Fält 8a052e235f Provisioning: Install Swiftly and its dependencies
Swiftly is need to install swift tools to linux.

Change-Id: Idfdaacf680f2dc30aa944811ce3daf2e52efe21d
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2026-02-21 19:54:01 +02:00
Assam Boudjelthia ffe1978449 Android: bump to Gradle 9.3.1 and AGP 9.0.0
Following Qt 6.11 release 3rd party components update.

Task-number: QTBUG-143129
Pick-to: 6.11
Change-Id: Idfd310197d5345871637a3e4e1858dbd731eeae8
Reviewed-by: Simo Fält <simo.falt@qt.io>
Reviewed-by: Elias Toivola <elias.toivola@qt.io>
2026-02-21 17:53:55 +00:00
Nils Petter Skålerud 52b3c97ab7 OpenSSL, Android: Enforce correct symlinks in openssl_for_android.sh
There have been cases where necessary symlinks have been lost when
extracting prebuilt OpenSSL builds for Android. This patch ensures the
script will always create them.

As a drive-by, the patch cleans up some behavior related to
'opensslHome' being used to write to a variable outside function scope.

Pick-to: 6.11 6.10 6.8
Change-Id: Id6fb4143aaadcbf11e1b9bc6301ef53d2043ad10
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
2026-02-20 14:33:30 +01:00
Tero Heikkinen 0ab91c0886 Unix: Bash scripts needs to be executable
Pick-to: 6.11 6.10 6.8 6.5
Task-number: QTQAINFRA-7709
Change-Id: Ia8802cc2c5e7fb8ed63e261f70fb343cd55a1dfa
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2026-02-20 15:33:22 +02:00
Tero Heikkinen 9deb066d4c Linux: Keep the IANA time zone database (tzdata/timezone) up to date
Need upgrade of the IANA db to 2022g or later with Ubuntu 22.04. Ensure
zoneinfo (tzdata/timezone) always stays up to date with all Linux OS.

Both packages (tzdata/timezone) provide the same thing:
  - the IANA TZ database under /usr/share/zoneinfo/

tzdata:
  - Debian
  - Ubuntu
  - RHEL

timezone:
  - openSUSE
  - SLES

Pick-to: 6.11 6.10 6.8 6.5
Fixes: COIN-1282
Change-Id: I6fe7d548470d8f0f63e5451a6b5203e658575f48
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2026-02-20 15:33:15 +02:00
Daniel Smith fb581937ff Add platform configuration for tqtc-qtmcp
Change-Id: Ic2e136bb3043e752407ae4d44974cba9d43d757a
Reviewed-by: Simo Fält <simo.falt@qt.io>
2026-02-18 13:56:09 +00:00
Joerg Bornemann 378c8719a9 Fix configure -init-submodules ignoring -skip option
When running configure -init-submodules -skip <module>, the -skip
option was ignored because init-repository ran before -skip values
were processed. The skipped modules were still initialized.

Fix by preprocessing -skip values in qt_tl_run_main_script() before
calling qt_ir_run_main_script(). The -skip values are converted to
module-subset exclusions (e.g. -qtwebengine) and merged with the
existing module-subset option.

Also register -skip as a known option in init-repository so it can
be parsed from the optfile.

Fixes: QTBUG-140359
Pick-to: 6.8 6.10 6.11
Change-Id: I37ed916dd1c22b6d10d23821044fee807919d4a9
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2026-02-18 08:10:35 +00:00
Jukka Jokiniva d5d3f89ce1 Remove macOS 13 from CI
Change-Id: Ibfc4aabf124bcaf681787c724e822411c3adee37
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2026-02-16 10:53:12 +00:00
Tero Heikkinen 7a5b6bdeaa Add missing comment line to describe patchelf usage
Patchelf is added to fix dependencies in shared ffmpeg libs
(amends 83adc86c53)

Pick-to: 6.11 6.10 6.8
Task-number: QTBUG-120990
Change-Id: Ia9359c1a77e82203d53e3d2940885a0c254024c9
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Simo Fält <simo.falt@qt.io>
2026-02-15 13:04:53 +02:00
Nils Petter Skålerud c3fe5fe6fe iOS, FFmpeg: Add documentation/commenting
This patch adds more commenting + documentation to the script
'install-ffmpeg-ios.sh'.

Pick-to: 6.11 6.10 6.8
Change-Id: I7e0023651b868d46b3fb4604bcc6d3eb1d24b7b2
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
Reviewed-by: Nils Petter Skålerud <nils.petter.skalerud@qt.io>
2026-02-14 22:00:41 +00:00
Nils Petter Skålerud 919a4ae240 iOS, FFmpeg: Include dSYM files
App Store requires that our FFmpeg distribution includes dSYM files for
debugging symbols.

This patch removes stripping from the FFmpeg build, generates the
dSYM files and then manually strips the dylibs afterwards.

Pick-to: 6.11 6.10 6.8
Fixes: QTBUG-143963
Change-Id: I2740f46bb0fd7e7ee9da8dede01944b89bc3db7a
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
2026-02-14 20:07:15 +01:00
Nils Petter Skålerud 4df773656c iOS, FFmpeg: Clean up .framework creation logic
This patch rewrites the create_framework() function to
be more readable and adds commenting.

No functional changes.

Pick-to: 6.11 6.10 6.8
Task-number: QTBUG-143963
Change-Id: Id52fb43d733fe0c815a13b15135539452999cb40
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
2026-02-13 09:01:29 +01:00
Tero Heikkinen 3480c00adb Fix incorrect external link for ninja package for x64 and arm
x64: ninja-linux.zip
arm: ninja-linux-aarch64.zip

Pick-to: 6.11 6.10 6.8 6.5
Fixes: QTQAINFRA-7701
Change-Id: I36465f6413ae80754f4fa39abb04ce492ed445b7
Reviewed-by: Simo Fält <simo.falt@qt.io>
2026-02-13 07:43:58 +02:00
Nils Petter Skålerud ebe3124831 Move install-ffmpeg-ios.sh into macos folder
Currently this script is stored under unix, but it's only ever going
to be used on macos. This patch moves the script.

No functional changes.

Pick-to: 6.11 6.10 6.8
Change-Id: Iba3d101d360e90ffaa3478689bb002b4e5f65bc1
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
2026-02-13 06:43:55 +01:00
Nils Petter Skålerud ade4488de9 FFmpeg, Android: Simplify OS parameter logic
The script accepts an OS parameter, which is then forwarded into the
`build_ffmpeg_android` function. This function expects a different set
of values, that are different in name only, not in meaning.

This patch makes us forward the OS parameter directly into the function
and changes the internal logic accordingly.

No functional changes.

Pick-to: 6.11 6.10 6.8
Change-Id: I5614f1cf489594cfab2966a680e87a95c7be267b
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
2026-02-13 06:43:53 +01:00
Ville-Pekka Karhu 7f2d96a43e Provisioning: Take repo-clones into use in RHEL 9
Pick-to: 6.11 6.10 6.8 6.5
Task-number: QTQAINFRA-5587
Change-Id: I2459a32b96524a4c29769835d5c37b2cb021720e
Reviewed-by: Aku Pietikäinen <aku.pietikainen@qt.io>
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
2026-02-12 04:05:30 +02:00
Tero Heikkinen 7a8ffd980f Fix macOS gRPC install with CMake minimum version 3.5
Task-number: QTQAINFRA-7683
Change-Id: I1cf8984420550f078a8125e16ef5f7d995890bbb
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2026-02-12 04:05:25 +02:00
Tero Heikkinen fd5f44a57b Fix macOS 13 install-vcpkg-ports.sh failing in provisioning
Fix vcpkg install to use correct architecture (arm64/x64)
as a host when using --host-triplet argument.

Pick-to: 6.11
Task-number: QTQAINFRA-7691
Change-Id: I899f6521b47e407e1c9bde1c0f2b83e560894794
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2026-02-12 04:05:22 +02:00
Elias Toivola aa2272379a Android: Make the OpenSSL install script less rigid
OpenSSL packages have differing features indicated in their file name,
separate those in their own $suffix variable for the install function to
reduce hard-coding.

The function will now rename the extracted root directory to mirror the
package name from Ci-files. This is to prevent later "OpenSSL not found"
errors in provisioning when prebuild package and its root are not named
exactly the same.

Pick-to: 6.11 6.10 6.8 6.5
Change-Id: I71019a0d2731aace00ff2eb82d63537673f6e41a
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
Reviewed-by: Nils Petter Skålerud <nils.petter.skalerud@qt.io>
2026-02-12 04:05:18 +02:00
Simo Fält f1872a4b95 CI: Enable Windows on arm config for qtbridge-python
Change-Id: Idc325127865ecb7d7bd4d5636b15cc3214bcd4c5
Reviewed-by: Toni Saario <toni.saario@qt.io>
2026-02-12 04:05:16 +02:00
Nils Petter Skålerud 033329cb00 Stop compiling FFmpeg Android arm64 on old macOS x86 hosts
Android FFmpeg provisioning requires 'readelf', which is provided by
binutils package. This package is shown to be flaky on older macOS x86
hosts. It is not critical that we compile that we compile Android
FFmpeg on these hosts, so this patch removes them.

Pick-to: 6.11 6.10 6.8
Change-Id: I6722f2c543b022a998573cc76ffc671378a4fcb5
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
2026-02-12 03:05:13 +01:00
Qt Submodule Update Bot ac242f221d Update submodules on 'dev in qt/qt5'
Change-Id: Ibfe0764cc05d0bdb31948f104aee192d7aafad3c
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2026-02-06 04:05:58 +00:00
Oleksii Zbykovskyi cf406805ab Download a newer version of WindowsVirtualCamera from Qt Multimedia repo
Since the version we use right now has some issues, download a newer
version from the Qt Multimedia repository to get the latest fixes and
improvements.

Change-Id: I6f42c01680ebd9fb3cb67ea802afa23536751ae8
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
2026-02-05 18:38:30 +01:00
Ville-Pekka Karhu 3e4f286588 Provisioning: Add missing vcpkg files to Intel macOS 26
Change-Id: I76aa90e005460368741b305fcaf398ae917299e6
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2026-02-04 12:30:13 +00:00
Simo Fält fb596da6aa CI: Enable arm64 configs for qtbridge-java
Change-Id: Ibafc5105ab8a1494b2bb9f705b56e8f3d74a7e30
Reviewed-by: Toni Saario <toni.saario@qt.io>
2026-02-04 12:34:47 +02:00
Tero Heikkinen 31919c204a Fix openSUSE 15.6 dependency issue with cargo 1.93 installation
Task-number: QTQAINFRA-7669
Change-Id: Id1a8d72c3db3b622b46fa9bbd5fd770001ff3c65
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
2026-02-03 10:19:10 +02:00
Allan Sandfeld Jensen 2fb83dd605 Install rust tools on Linux rpm platforms
Pick-to: 6.11
Change-Id: I3df96d6b6575f7735c26d153241d844d085fad87
Reviewed-by: Moss Heim <moss.heim@qt.io>
2026-01-31 11:49:28 +00:00
Simo Fält 160bdc0e7a CI Add config for messagingframework
Change-Id: I959784fe8de19ace03abb589c6aa1317c85283f9
Reviewed-by: Toni Saario <toni.saario@qt.io>
2026-01-31 07:45:46 +00:00
Rami Potinkara d0c5982795 Coin: Update JDK to 21 LTS
Update Coin to use JDK 21.0.9 LTS:
-macOS 21.0.9
-macOS ARM 21.0.9
-OpenSUSE 16 21.0.9.0-160000.1.1
-OpenSUSE 15.x 21.0.9.0-156000.3.18.2
-RHEL 8.x and 9.x 21.0.9.0.10-1.el9
-SLES 15 21.0.9.0-150600.3.18.2
-Ubuntu 22.04, 22.04 and 24.04 21
-Windows 21.0.9

Task-number: QTBUG-130516
Task-number: QTBUG-130497
Pick-to: 6.11
Change-Id: Ie4d2706b15000b5cbd71991abb4c840027ef2c82
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
2026-01-30 22:45:46 +02:00
Qt Submodule Update Bot 80d65734af Update submodules on 'dev in qt/qt5'
Change-Id: I88fb839256dd8a50b4481a939f26d784383848b4
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2026-01-30 08:33:30 +00:00
Axel Spoerl 3587ad0ef9 Nightly baseline test: Add -auto to TESTARGS
Baseline tests need the -auto argument to actually check baselines.
Add it.

Task-number: QTQAINFRA-7602
Change-Id: Id65f0a46764ce74284a3b445bbd18955bd654ea2
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2026-01-29 08:25:26 +01:00
Tor Arne Vestbø 7c434c9885 Make macOS 26 developer build tests significant
Change-Id: Ic32427249a160b24e4b860dc383a2bb823815773
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2026-01-28 22:33:28 +01:00
Qt Submodule Update Bot 4983ed8c5d Update submodules on 'dev in qt/qt5'
Change-Id: I6886869d13090fd619c0f3ee092fcb41a000f68e
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2026-01-28 18:10:16 +00:00
Tim Blechmann 8e438b8a28 Nightly: don't build examples on msvc to avoid qmake error
It seems that qmake does not pass /FS to the compiler causing compile
errors in parallel builds. In theory we could still compile examples
with cmake, but there seems to fine-grained configuration for that.

Change-Id: Ia3954cee61e842f029ac0033ee895c39b8b91b04
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2026-01-28 09:53:47 +08:00
Assam Boudjelthia 33695df07e Provisioning: add Android tools to PATH
This makes it easier to use a debug VM without having to use
full paths from the Android SDK and also without having to
know where they live.

Pick-to: 6.5 6.8 6.10 6.11
Change-Id: Ib6c255edae5e5773551fab1008ebdb9a5e1ff8f2
Reviewed-by: Simo Fält <simo.falt@qt.io>
2026-01-28 01:53:43 +00:00
Tero Heikkinen 6bf59c7c90 Fix openSUSE 16.0 python dependency failing with libexpat1
To fix ImportError:
  /usr/lib64/python3.13/lib-dynload/
  pyexpat.cpython-313-x86_64-linux-gnu.so:
  undefined symbol: XML_SetAllocTrackerActivationThreshold

Current libexpat1-2.7.1-160000.2.2 did not export the Alloc Tracker
symbol but Python 3.13.11’s pyexpat module was built expecting symbol.

Therefore needs to install newer available libexpat1-2.7.1-160000.3.1

Pick-to: 6.11
Fixes: QTQAINFRA-7650
Change-Id: Iea9b838e97830c9c6f2b1fa3be8db02447b49de4
Reviewed-by: Simo Fält <simo.falt@qt.io>
2026-01-27 15:48:27 +02:00
Allan Sandfeld Jensen 94c844fd4d Install rust toolchain on Debian based platforms
Needed for future QtWebEngine updates

Pick-to: 6.11 6.10
Change-Id: Ic2f42f9030a9bdf6f09c0004e035f4f36792cb56
Reviewed-by: Moss Heim <moss.heim@qt.io>
2026-01-26 16:12:18 +01:00
Axel Spoerl 6967caf3a2 Correct Lancelot IP for nightly Ubuntu baseline tests
10.150.153.60 is the right IP. 10.9.70.11 was a legacy address.
Correct it.

Found-by: Juhani.Kurola@qt.io
Task-number: QTQAINFRA-7602
Change-Id: I1b176d0a614960e0f2acfcdcc6ca603d2a1b0ade
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
2026-01-26 11:13:35 +01:00
Elias Toivola f189bb9151 Ubuntu 24.04 x86_64 x11: Set tests as blocking
With disabling the desktop overview and skipping/fixing 100% blocking
tests. The failed test runs for x11 have reduced significantly.

Pick-to: 6.11 6.10
Task-number: QTBUG-132070
Task-number: QTQAINFRA-6098
Change-Id: I4b431235e959a352c0de851961e80336ee241ba3
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
Reviewed-by: Liang Qi <liang.qi@qt.io>
2026-01-23 10:51:22 +02:00
Tero Heikkinen c6ae09efea Ubuntu 24.04: Upgrade to Ubuntu 24.04.2 LTS in Tier1 X11
This upgrade is needed to fix:
tst_QScreenCaptureBackend failed on Ubuntu 24.04 GNOME X11

Old Tier1: qtci-linux-Ubuntu-24.04-x86_64-51 - X11
New Tier1: qtci-linux-Ubuntu-24.04-x86_64-54 - X11

Other fixes included:
  - 24.04.2 has also a fix to mutterlib issue
  - https://bugs.launchpad.net/ubuntu/+source/gnome-shell/+bug/2095396
  - Which caused a crash seen in journal system logs
  - Installed no-overview gnome extension to fix issue: QTBUG-132070

Pick-to: 6.11 6.10
Task-number: QTQAINFRA-7007
Task-number: QTBUG-128515
Task-number: QTBUG-132070
Change-Id: I4ed86470d7b4ce82802f0a98726eb1ed51931623
Reviewed-by: Simo Fält <simo.falt@qt.io>
Reviewed-by: Liang Qi <liang.qi@qt.io>
2026-01-23 10:51:22 +02:00
Qt Submodule Update Bot af0729eca4 Update submodules on 'dev in qt/qt5'
Change-Id: If9589724e236754d5bac3f3fb7e4f88886397600
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2026-01-23 07:12:34 +00:00
Ivan Solovev 3407ced707 Provision golang and maven on macOS 26 Intel
They are required to build the Qt OpenAPI module.

Amends 3a7f17e0cd which introduced this
platform.

Task-number: QTBUG-138968
Change-Id: I2fd7b08d7acdd5dbaa89e712968e0b91dcc83839
Reviewed-by: Tatiana Borisova <tatiana.borisova@qt.io>
Reviewed-by: Simo Fält <simo.falt@qt.io>
2026-01-22 12:10:15 +00:00
Tim Blechmann 1a9daf1574 FFmpeg: pass minimum deployment target as extra compiler flags
When building on iOS, the minimum deployment target was only declared as
linker flags for the libary. However the flags can affect the run-time
features by potentially enabling APIs or affecting codegen if the
compiler can assume that certain CPU features are present.
We should therefore pass the minimum deployment target as compiler flags
as well as linker flag.

Pick-to: 6.11 6.10 6.8 6.5
Change-Id: If9b96fb31bf4173da2e4c574c1c080be075851b8
Reviewed-by: Nils Petter Skålerud <nils.petter.skalerud@qt.io>
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
2026-01-22 20:10:13 +08:00
Tatiana Borisova e5871fa6e6 Update the openapi-generator-cli version to the latest 7.18.0
- the newest 7.18.0 has some generation updates,
that affect named inline objects generation. It may be
useful from testing perspective to have the latest version
on CI.

Pick-to: 6.11
Change-Id: Iaaaae823b7ccc1496f83e5af845bfcfa7999767f
Reviewed-by: Simo Fält <simo.falt@qt.io>
2026-01-22 13:10:10 +01:00
Tero Heikkinen 1e25956312 RHEL 10: Point SBOM_PYTHON_APPS_PATH to virtual env for sbom2doc
Currently sbom2doc is not found with RHEL 10 until this other fix
in qtbase is available: 2dc0c29502bec1ffffbbf098d749a49b494122ac

After that this temporary fix could be removed and proceed to
unify virtual env usage for all linux machines (QTQAINFRA-7642)

Pick-to: 6.11
Task-number: QTQAINFRA-7203
Change-Id: I97adf937afa78371b290baa833c767a106c4c15e
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2026-01-22 14:10:06 +02:00
Tero Heikkinen 28f9120718 Provisioning: Take repo-clones into use in RHEL 10
Pick-to: 6.11
Task-number: QTQAINFRA-7614
Change-Id: If766b511e367a64691a8eb0683c1fdc698d3fa05
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
2026-01-22 14:10:04 +02:00
Tero Heikkinen 4d4e6bb490 RHEL 10: Take rhc into use with subscription activation
Both of the subscription activation options needs to run
with sudo as non-root user cannot connect system.

Pick-to: 6.11
Task-number: QTQAINFRA-7637
Change-Id: I933536d7321b9a7e54732395b6e536c5275129d3
Reviewed-by: Toni Saario <toni.saario@qt.io>
2026-01-22 14:10:02 +02:00
Tero Heikkinen 88177e9ab8 sbom: Create virtual env for RHEL 10.0 Python 3.12 requirements
With Python 3.12 SBOM needs jsonschema package newer than 4.19
but cannot uninstall current one installed by RPM:

Error:
  Attempting uninstall: jsonschema
    Found existing installation: jsonschema 4.19.1
error: uninstall-no-record-file
× Cannot uninstall jsonschema 4.19.1

Therefore virtual env is used to fix this.

Pick-to: 6.11
Task-number: QTQAINFRA-7554
Change-Id: I1260ef7fdf0c1ba96acaee1738ed9612e47bedad
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2026-01-22 14:09:59 +02:00
Alexandru Croitor 6348aa919b sbom: Explicitly install jsonschema package newer than 4.19
Because RHEL 10 comes with an older version of jsonschema (4.19),
which breaks cyclonedx verification at qtbase runtime.

Pick-to: 6.11
Change-Id: Ib7044b6d4107e5382015adfdd8eb747be8605934
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2026-01-22 14:09:57 +02:00
Alexandru Croitor 30d874ad79 sbom: Bump cyclonedx package to latest 11.5.0
This brings cyclonedx 1.7 support.

Pick-to: 6.11
Change-Id: Id525d07ea1f7d342bf3e683e3a7c64c064c6e4c4
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2026-01-22 14:09:55 +02:00
Tero Heikkinen c399d002de Add RHEL 10.0 with non-blocking tests in CI
Notes
  - GCC 14
  - Wayland is mandatory to use as X11 has been removed
  - DISPLAY=:0 should not be used anymore as it's for X11
  - Java JDK 21
  - mysql replaced by mariadb
  - gstreamer1-plugin-openh264 not available
  - nodejs-16 upgraded to nodejs-22
  - Squish is no longer installed in provisioning
  - SBOM needs jsonschema > 4.19 to work with Python 3.12
  - Has these to bypass 'Activities Overview'
    - 'GNOME Classic' Desktop Session
    - 'No Overview' GNOME extension
  - 7z >= 25.01 multi-hop symlinks restricted with -snl switch levels
    --> 7z x -snld10 allows minimal usage to use multi symlinks

EGL support
  - No longer need to install mesa-libEGL with pinned version
  - As there is no longer Xorg to crash when Wayland is used instead

Pick-to: 6.11
Task-number: QTQAINFRA-7203
Task-number: QTQAINFRA-7202
Change-Id: If8b7bfdbc2b84259fd09276e0566b3967c364668
Reviewed-by: Simo Fält <simo.falt@qt.io>
2026-01-22 14:09:52 +02:00
Elias Toivola 3a7915481f RHEL 8 & 9: Take rhc into use with subscription activation
Both of the subscription activation options needs to run
with sudo as non-root user cannot connect system.

Task-number: QTQAINFRA-7637
Pick-to: 6.11 6.10 6.8 6.5
Change-Id: I05ea39e4c4a40b5294cc659e4d2e506ee0118848
Reviewed-by: Toni Saario <toni.saario@qt.io>
2026-01-19 07:10:42 +00:00
Qt Submodule Update Bot 4263429114 Update submodules on 'dev in qt/qt5'
Change-Id: I2d4c5797463cf9bb696e5f94d9d47c383ef785d0
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2026-01-18 02:22:31 +00:00
Matti Paaso 606a8b29c8 Provisioning: Remove system openssl3 on rhel 8
openssl3 package installation started to fail in provisioning due
to missing dependencies. Removing installation, and rely on self
compiled version of openssl3 (09-openssl.sh). Set PKG_CONFIG_PATH
to the built openssl.

Task-number: QTQAINFRA-7620
Pick-to: 6.11 6.10 6.8 6.5
Change-Id: I4626fffe2de669686fd76b054018fb4f98983e36
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
2026-01-17 18:23:26 +00:00
Tero Heikkinen 51bcd64151 Fix failing repo-clones in provisioning with correct URL
Switching repo-clones.ci.qt.io --> repo-clones-apt.ci.qt.io
with testserver where it was missing. Removes temp quick fix.

Replace also ping check towards new repo-clones-apt server.

(amends 13487118df)

Pick-to: 6.11 6.10 6.8 6.5
Task-number: QTQAINFRA-7632
Change-Id: Iff32904aeb9c66f4c76cd1dd0e3d468ca0e9dabd
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
2026-01-17 20:23:24 +02:00
Nils Petter Skålerud b9c677baad Android, FFmpeg: Explicitly set page-size for patchelf
Android arm64 and x86_64 builds now require 16KB page size alignment in
native binaries, this includes FFmpeg. When running patchelf on the
binaries, it will implicitly re-align the affected sections to 4KB page
size.

This patch solves this by using the --page-size flag for patchelf, only
for the builds that require it.

Pick-to: 6.11 6.10 6.8
Fixes: QTBUG-142332
Change-Id: Iba88bf702fd075d2b4432d9cde94f779b14de52f
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
2026-01-17 19:23:20 +01:00
Pavel Dubsky 90d17e93a9 Update FFmpeg version to n7.1.3
Task-number: QTBUG-142159
Pick-to: 6.11 6.10.2 6.10 6.8 6.5
Change-Id: I139e4961185d5a88900ba9582a4f8ce10e7ea4c1
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
Reviewed-by: Tim Blechmann <tim.blechmann@qt.io>
Reviewed-by: Elias Toivola <elias.toivola@qt.io>
2026-01-17 18:23:17 +00:00
Ville-Pekka Karhu bb4d800bd6 Fix macOS 26 Intel VM IP address issue
Fix done with new coin-setup binary installation. Also updates OS version from 26.0 to 26.2

Task-number: QTQAINFRA-7617
Change-Id: I70d5de084ca19b1d9bb5b068ccff7e4fad11ab10
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Reviewed-by: Aku Pietikäinen <aku.pietikainen@qt.io>
2026-01-17 20:23:14 +02:00
Qt Submodule Update Bot 98688fe265 Update submodules on 'dev in qt/qt5'
Change-Id: I1dfeb1cb3aae32a81fd7e4429d4164e90c4ab15e
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2026-01-15 18:53:20 +00:00
Dimitrios Apostolou c16277f9d3 Enable sccache on macos-universal-on-arm64
Task-number: QTBUG-141785
Pick-to: 6.11 6.10 6.8
Change-Id: I63283fa327186226f6027c38a08bad1dfebdf2f2
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2026-01-14 23:11:04 +01:00
Fredrik Ålund 6568c2622c Remove unused variable in the Mimer SQL installation script
Remove unused variable in the Mimer SQL installation script for macOS
to get rid of warnings

Change-Id: I10445efcb1eb174881b4696869b7ee62e87416b7
Reviewed-by: Fredrik Ålund <fredrik.alund@mimer.com>
Reviewed-by: Aku Pietikäinen <aku.pietikainen@qt.io>
Reviewed-by: Simo Fält <simo.falt@qt.io>
2026-01-13 21:08:08 +02:00
Matti Paaso 31ea7c6c4a Provisioning: Update Axivion bauhaus-suite
Update tool from 7.10.5 into 7.11.1

Task-number: QTQAINFRA-7596
Pick-to: 6.11 6.10 6.8
Change-Id: Iafb54207d654c484b27f5e8de701f3946b6e1aa6
Reviewed-by: Aku Pietikäinen <aku.pietikainen@qt.io>
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
2026-01-13 08:38:49 +02:00
Tero Heikkinen 4d1ec89791 Temp quick fix for failing repo-clones in provisioning
Skip repo-clones.ci.qt.io with testserver where it should
use repo-clones-apt.ci.qt.io. Permament fix ongoing.

(related 13487118df)

Pick-to: 6.11 6.10 6.8 6.5
Task-number: QTQAINFRA-7632
Change-Id: I22bae5dfc96df82bb308233ec895f7164f4cc629
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
2026-01-12 22:06:20 +02:00
Jukka Jokiniva 674655fe32 Update qtgrpc submodule
Qt5 level builds need the fix for expired ssl certificates.

Change-Id: I8aff2d2d0b9efdd2acccb322973cebf6b519fa54
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
2026-01-12 22:06:15 +02:00
Qt Submodule Update Bot 4466bd8555 Update submodules on 'dev in qt/qt5'
Change-Id: I5cc0baab4727ee3dcf972bb62ca860c692e52838
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2026-01-06 00:40:49 +00:00
Simo Fält 8fd9b78872 CI: Add platform configs for qtbridges language repositories
Change-Id: Ie04b0455335c09a2070ed277c597f3a06b2ffa1c
Reviewed-by: Toni Saario <toni.saario@qt.io>
2026-01-05 16:39:45 +02:00
Simo Fält 5476a35d44 COIN: Adapt qtdotnet platform configs to new repo name
Change-Id: I33b0ea6ff2854e371306af89e2b36f92dfc33005
Reviewed-by: Toni Saario <toni.saario@qt.io>
2026-01-05 12:24:05 +00:00
Axel Spoerl 2b4ab5519b Add Ubuntu nightly job for baseline tests
Create a nightly build for Ubuntu based baseline tests.

Task-number: QTQAINFRA-7602
Change-Id: I23b8a1ac5853a98c4bc1889856c13239496163ab
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
Reviewed-by: Simo Fält <simo.falt@qt.io>
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2025-12-30 23:04:35 +01:00
Oleksii Zbykovskyi 2450189a4f Initial installation of the virtual camera on Windows
It's not possible to test video APIs in CI, when they require hardware.
Install a virtual camera driver on Windows, that can be used in autotests.

Steps for installation and configuration of vcam are:
install vcam from GitLab, restore NuGet packages and build the solution,
register the created DLL in the win register, and set the env. variable.

Task-number: QTBUG-139831
Change-Id: I963aca94e980440dc96e6998e3cd6de387dd80e9
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
Reviewed-by: Nils Petter Skålerud <nils.petter.skalerud@qt.io>
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
2025-12-29 19:46:20 +01:00
Matti Paaso a1289ed5d5 Fix Axivion analysis module database name
Task-number: QTQAINFRA-7599
Pick-to: 6.11 6.10 6.8
Change-Id: Ie89be9ede1bc36b0ca776d45fb8df8d82cc5d3d3
Reviewed-by: Aku Pietikäinen <aku.pietikainen@qt.io>
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
2025-12-29 08:10:23 +02:00
Simo Fält bee5ded33b Provisioning: Install debhelper-compat to Ubuntu 22.04
We need this to be able to create some dependency debian packages.

Pick-to: 6.11
Change-Id: Ic4f3259f8bf29fa19c10394b63634f1512db47bc
Reviewed-by: Aku Pietikäinen <aku.pietikainen@qt.io>
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
2025-12-23 15:17:20 +00:00
Olli Vuolteenaho dc592b73d6 Build and package Qt Gradle Plugin in CI
We want to add automation to the Qt Gradle Plugin build / packaging /
release process. The first step is to build the JARs in CI and upload
those to internal servers. To enable this we'll change the Linux
configuration to also build the binaries instead of only testing.

The "Packaging" feature is added to enable fetching the binaries after
successful integrations.

Task-number: QTTA-238
Task-number: QTBUG-142800
Change-Id: I004f1171d7c28c59fad057306c6e1c89007cfde0
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
Reviewed-by: Rami Potinkara <rami.potinkara@qt.io>
2025-12-23 04:07:02 +00:00
Alexey Edelev 9a13282256 Add vcpkg provisioning on macos platforms
Change-Id: Iee721367772f64a956bf421a8564845506138c33
Reviewed-by: Simo Fält <simo.falt@qt.io>
Reviewed-by: Alexey Edelev <semlanik@gmail.com>
2025-12-22 06:25:09 +01:00
Alexey Edelev 5579337dde Add lipomerge tool provisioning
The tool provides an easy and convenient way of merging
per-architecture macos libraries into the universal ones.

Change-Id: Idcec68ea13e4cf4e201373866f1ebabbbc586414
Reviewed-by: Simo Fält <simo.falt@qt.io>
2025-12-20 19:38:13 +01:00
Alexey Edelev 4456a7f592 Move linux vcpkg and vcpkg-ports installation files to a common unix directory
These scripts are generic for both linux and macos, we may parameterize
them and reuse on both platforms.

Change-Id: Ia61cfbbf5c91e2135e38253c4a96605015d2d1b6
Reviewed-by: Alexey Edelev <semlanik@gmail.com>
2025-12-20 19:38:10 +01:00
Alexey Edelev da911f9b20 Unify the vcpkg manifest location
There is not particular reason to hold multiple manifests for the vcpkg
for different platforms, since we expect that the direct dependency set
that is used from vcpkg will remain the same on each platform.
Keeping copies of the vcpkg manifest doesn't make much sense.

The vcpkg manifest and configuration file are now in the
coin/provisioning/common/shared/vcpkg directory.

Change-Id: Icc9c88592c68cb591216f3d0668f9984592d6c7b
Reviewed-by: Simo Fält <simo.falt@qt.io>
2025-12-20 19:38:08 +01:00
Alexey Edelev 406dca5bf3 Provision patchelf on ARM macOS 13, 15, and 26
This is required by vcpkg.

The x86_64 macOS and macOS 14 platforms already have patchelf installed.

Change-Id: I722abf2792dcfe954248196ab9bc0ca39d01570a
Reviewed-by: Nils Petter Skålerud <nils.petter.skalerud@qt.io>
Reviewed-by: Simo Fält <simo.falt@qt.io>
Reviewed-by: Aku Pietikäinen <aku.pietikainen@qt.io>
2025-12-20 19:38:06 +01:00
Qt Submodule Update Bot 9c05c68c86 Update submodules on 'dev in qt/qt5'
Change-Id: I6a47611163ab5fa1d0e04e2bf62e9b84c296dca9
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2025-12-20 09:10:08 +00:00
Ivan Solovev 8fb136fc8a Revert "Set ZLIB_ROOT on Windows with MSVC"
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
Pick-to: 6.11
Change-Id: I69344c52572a472baed96a136aecbe33b310da16
Reviewed-by: Samuli Piippo <samuli.piippo@qt.io>
Reviewed-by: Tatiana Borisova <tatiana.borisova@qt.io>
2025-12-19 13:45:09 +00:00
Oleksii Zbykovskyi f032c3156d Install NuGet in a separate file
Made an installation of NuGet in a separate script to be able to share
the packages by an environment variable between multiple scripts.
NuGet is needed for both the Windows App SDK and a virtual camera.

Also added a label on top of the scripts about copyright and license.

Change-Id: I11f035d8eb107d2d2c9e2a93f17a935129bb707e
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
Reviewed-by: Elias Toivola <elias.toivola@qt.io>
2025-12-18 09:46:54 +01:00
Qt Submodule Update Bot e98fab4c4e Update submodules on 'dev in qt/qt5'
Change-Id: I984119b13cc52c849e03045382a4f3db426dfeed
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2025-12-18 00:32:29 +00:00
Simo Fält e6c1ad7c0b COIN: Move QtBridges dotnet config to its own yaml file
The development was moved to different repo.

Change-Id: I57544c891d4b4aebac2687952ad6b655948618d1
Reviewed-by: Toni Saario <toni.saario@qt.io>
2025-12-17 09:07:21 +02:00
Simo Fält dd0dae532f Provisioning: Install Workload.NativeDesktop .NET package
Change-Id: If28badaf1ddb6befca3bacd355f19c4298b96193
Reviewed-by: Elias Toivola <elias.toivola@qt.io>
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
2025-12-17 09:07:20 +02:00
Toni Saario a98c97ed95 Make VxWorks x86_64 tests significant for qtbase
Pick-to: 6.11
Change-Id: I4224cd484edc9fabe639b1566c624d862b0c829f
Reviewed-by: Simo Fält <simo.falt@qt.io>
2025-12-17 07:06:40 +00:00
Nils Petter Skålerud c5a42f267f FFmpeg, Android: Use 'llvm-strip' from Android NDK explicitly
When running 'install-ffmpeg-android.sh' on Ubuntu hosts, it may fail
due to the FFmpeg build process using the host's 'strip' executable.
This causes the build to fail due to the 'strip' throwing an error
due to it not being able to recognize the format of the .so files for
the FFmpeg Android build.

This patch solves this by explicitly using the executable 'llvm-strip'
command from the Android NDK.

Pick-to: 6.11 6.10 6.8
Change-Id: Ia32c31e3e9d1f550a026f2684362e19d663a8863
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
2025-12-16 20:40:06 +01:00
Jukka Jokiniva 2bac4d3be9 Remove license check on Ubuntu 22.04
The configuration is duplicate as it is also run on 24.04.

Pick-to: 6.11 6.10 6.8
Task-number: QTQAINFRA-7146
Change-Id: Icbd1f7379cb1f23ed8c818f25aa3e09c5fcb5a45
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
2025-12-16 16:08:27 +02:00
Nils Petter Skålerud e3966f2ffc Linux, FFmpeg: Make install-ffmpeg-linux.sh take an output parameter
Currently, this script is hardcoded to output to the directory
'/usr/local/'. This output is stored in the variable 'prefix'. However,
this variable is used inconsistently in the script, meaning we cannot
actually modify the variable to change the output directory.

This patch does the following:
- Applies the 'prefix' variable where necessary.
- Allows an optional command-line parameter to be applied to 'prefix',
allowing one to specify where the output directory. This is
particularly useful for local builds.

No changes to current CI behavior.

Pick-to: 6.11 6.10 6.8
Change-Id: I51f83ce3844c2aa9db778b1c54091acb64a227e6
Reviewed-by: Dimitrios Apostolou <jimis@qt.io>
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
2025-12-16 15:08:21 +01:00
Joerg Bornemann 6bd3b23b6c init-repository: Fix passing no --alternates option
Commit d6918d7ac5 broke init-repository if
you did not pass an --alternates option.

Pick-to: 6.8 6.10 6.11
Task-number: QTBUG-142712
Fixes: QTBUG-142744
Change-Id: Ia727b420a34a46e52f0f05e549aabe2c975c6d7e
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2025-12-16 09:28:12 +00:00
Ville-Pekka Karhu 02beaf2090 Provisioning: Take repo-clones into use in RHEL 8
Pick-to: 6.10 6.8 6.5 5.15
Task-number: QTQAINFRA-7605
Change-Id: If368b7a648d8c97a0028ac834f74326a54d643d7
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
2025-12-16 09:28:03 +00:00
Rami Potinkara 45aeb45a6e Provisioning: update Gradle cache to Android SDK 36
This patch updates build.gradle to set compile- and
targetSdkVersion to 36.

Task-number: QTBUG-138552
Task-number: QTBUG-138549
Pick-to: 6.11 6.10 6.8
Change-Id: I44be99956f39e7bc23e8c5a3d15289dfdd574921
Reviewed-by: Nicholas Bennett <nicholas.bennett@qt.io>
2025-12-16 09:28:00 +00:00
Johanna Äijälä 4bff151490 Provisioning: cleanup, remove Squish installations
RTA is using different means to install Squish for RTA tests, no need
to do it in general provisioning.

Pick-to: 6.11
Change-Id: I4858a282ad7a0b1412f6dd0f4876109fe54a4c88
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
2025-12-16 11:27:57 +02:00
Rami Potinkara 2795f20a4e Provisioning: bump Android sdkBuildToolsVersion and sdkApiLevel to 36
This patch bumps:
-The sdkBuildToolsVersion used in Coin to 36.0.0
-The sdkApiLevel used in Coin to 36

Task-number: QTBUG-138550
Task-number: QTBUG-138549
Pick-to: 6.11 6.10 6.8
Change-Id: Ic63cd28ba39743e517ea3a3e2f9ec08bd5dc3267
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
2025-12-16 09:27:54 +00:00
Qt Submodule Update Bot 90a2d21db6 Update submodules on 'dev in qt/qt5'
Change-Id: Ib2f87bcdba6c2bd0c3d3d376583fa1fe37f16ba2
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2025-12-15 15:50:33 +00:00
Matti Paaso c69a56646f Replace hard coded branch value with environment variable
Axvion analysis will be run also in release branches and this
prevents results to be mixed between brnaches.

Task-number: QTQAINFRA-7599
Pick-to: 6.11 6.10 6.8
Change-Id: I5766d234bce2054d0dc6999ae1cac3f05c197d0e
Reviewed-by: Aku Pietikäinen <aku.pietikainen@qt.io>
Reviewed-by: Toni Saario <toni.saario@qt.io>
2025-12-13 11:04:50 +02:00
Tim Blechmann e9a003f0c3 provisioning: do not install libc++ on ubuntu
installing libc++-20-dev and libgstreamer1.0-dev on the same system
causes problems:
* using the llvm apt repo, it will uninstall libgstreamer1.0-dev
* using ubuntu's repo, it will break gstreamer's pkg-config integration

reason is that libgstreamer1.0-dev depends on libunwind-dev, but llvm's
libunwind-20-dev does not provide the pkg-config files.
as temporary workaround we basically revert
e5b56d1d37.

Pick-to: 6.11
Change-Id: Ib4626d17339256d56c4764e3167f4e9fe4b9c909
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
Reviewed-by: Liang Qi <liang.qi@qt.io>
2025-12-13 09:04:47 +00:00
Tim Blechmann 88173877d6 Revert "platform_configs: add c++23 nightly builds - part 2"
This reverts commit 9073f03937.

Reason for revert: installing libc++ on ubuntu breaks gstreamer

Pick-to: 6.11
Task-number: QTQAINFRA-7340
Change-Id: I8229f80a7010244fccc462eb31d1feadbf389028
Reviewed-by: Liang Qi <liang.qi@qt.io>
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
2025-12-13 09:04:44 +00:00
Ahmad Hasan Mubashshir 6f4c400406 init-repository: Add HTTPS support for Gerrit remotes
Introduce a new --codereview-https option to use HTTPS instead of SSH
for Gerrit URLs. Update QtIROptionsHelpers.cmake and document in
QtIRHelp.txt.

Change-Id: Iae032bdf07e323a8f63946475c692cab23deffc4
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2025-12-13 15:04:41 +06:00
Nils Petter Skålerud df82dc7de2 FFmpeg, iOS: Store final .xcframework files in 'lib' folder
Currently, the iOS FFmpeg provisioning script will install .xcframework
files into a subfolder 'frameworks'. The .xcframework files fulfill a
similar purpose to ordinary .dylib files and should be placed in a
'lib' subfolder, to make provisioning more similar to how we deploy
FFmpeg for other platforms.

This patch makes us install .xcframework files in a 'lib' subfolder
instead.

Task-number: QTBUG-136480
Pick-to: 6.11 6.10
Change-Id: I91f9938b595ecff5b04d49a71e9872f5d7278cda
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
2025-12-13 09:04:39 +00:00
Alexandru Croitor 160e6135bb CMake: Modify the RunCMake tests to clone from the Coin CI git mirror
This helps with the test stability when code.qt.io is down or slow.

Pick-to: 6.10 6.11
Change-Id: I0bdaaa06772a94e73cb33d3f827e4e327123b60a
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2025-12-12 17:36:31 +01:00
Joerg Bornemann d6918d7ac5 init-repository: Fix passing relative path to --alternates
When using --alternates with a relative path, nested submodules
(e.g., qtdeclarative/tests/auto/qml/ecmascripttests/test262) failed
because the alternates path wasn't adjusted for the changed working
directory depth. The --alternates option worked correctly with absolute
paths.

Fix by converting the passed alternates path to an absolute path.

Pick-to: 6.8 6.10 6.11
Fixes: QTBUG-142712
Change-Id: Ief7a87768d9ff17bb2832ae363f573ecae58d5ee
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2025-12-12 14:56:13 +01:00
hjk 740e232f16 Disable more Axivion rules
This disables 12 more generally Mostly Harmless warnings to have a
realistic chance to get down to a base line of zero violations.

Later we can re-evaluate the disabled rules one by one and re-enable
them if wanted.

Change-Id: Id9fc2e4013fb7c59040868fea54f14dcda6cefe0
Reviewed-by: Matti Paaso <matti.paaso@qt.io>
2025-12-12 06:21:41 +01:00
Ville-Pekka Karhu 3a7f17e0cd Provisioning: Add macOS 26 Intel
Task-number: QTQAINFRA-7196
Change-Id: I56027e54391cbd90c8ff17ff670ad6551c3bcc0f
Reviewed-by: Simo Fält <simo.falt@qt.io>
2025-12-12 05:21:34 +00:00
Rami Potinkara da6cc0ce0e Android: Android 16 as maximum supported version
This patch
- Replaces Android 15 with Android 16 as a maximum version
- Sets Android 16 as significant and switches to r07 version

Task-number: QTQAINFRA-7299
Task-number: QTQAINFRA-7298
Pick-to: 6.11 6.10 6.8
Change-Id: Ic2ac071da7ab1763225c82e441c27f60cc25fe06
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
2025-12-12 06:14:27 +02:00
Allan Sandfeld Jensen 2bd7830030 Update NodeJS to at least version 20
Needed for WebEngine based on Chromium 140

Pick-to: 6.10 6.11
Change-Id: I0cf1df1107cc8f5aa2850239608f03a7c7831676
Reviewed-by: Elias Toivola <elias.toivola@qt.io>
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
2025-12-10 12:23:37 +01:00
Nils Petter Skålerud fb6a8b0215 Android, Unix: Move android_emulator_launcher.sh to unix folder
This script is currently located in the 'linux' directory. In future
patches, it will be reused by macOS and Linux hosts.

This patch moves it into the 'unix' folder.

Pick-to: 6.11 6.10 6.8
Change-Id: Ib03b999bef0373dc9600d505b1f4ce926fa97de6
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
2025-12-10 09:12:03 +00:00
Nils Petter Skålerud ba6a77312d macOS, Xcode: Harden error-handling when installing Xcode
The current script relies on some commands intentionally failing during
provisioning because they only apply to certain versions of Xcode.
These errors are silenced using pipes. This is error-prone because we
can no longer catch when these commands are failing in the case where
they should not.

This patch introduces some additional error-handling and conditionals
to make sure we only run commands when they are intended to succeed.

Pick-to: 6.11 6.10 6.8
Change-Id: Ic5048f54adb31d263e28f51312f44fe3b55e6fe5
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2025-12-10 09:12:01 +00:00
Nils Petter Skålerud c9a8b8f220 Upgrade Android Command-Line Tools to v19.0
This patch updates the Android Command-Line Tools in CI from v2.1 to
v19.0.

The zip file for the older version contained a single directory
'tools', this directory has been renamed to 'cmdline-tools' in the
newer version. This patch includes some changes to make sure we still
use the same folder structure as before.

Task-number: QTQAINFRA-7487
Pick-to: 6.11 6.10 6.8
Change-Id: Id9227241283d4c529005c4961449f50ca7af13be
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
2025-12-10 09:11:58 +00:00
Nils Petter Skålerud 8a70b9e482 Android: Begin initial alignment of Linux and macOS provisioning
The Android provisioning scripts on macOS and Linux perform many of the
same tasks, but with slightly differing approaches. Future patches will
make us run Android emulators on ARM64, which will further make these
scripts similar.

This patch performs some modifications to the macOS provisioning script
to make it more similar to the Linux one. This will help us combine
parts of these scripts in the future.

Task-number: QTQAINFRA-7487
Pick-to: 6.11 6.10 6.8
Change-Id: Idba30d07607780d1ef8c60cc5e038a034c821632
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
2025-12-10 09:11:56 +00:00
Nils Petter Skålerud bc6ba67934 Unix: Add curl fallback to check_and_set_proxy.sh
This script is stored in the directory 'provisioning/common/unix'. This
implies it can be used from Linux and macOS hosts. The script
uses the wget command, but at the time of writing, wget is not
installed on our macOS hosts. If wget is not found, this command will
assume the HTTP proxy is not found rather than fail the script
execution.

This patch rewrites this script to use curl if wget is not found.
This makes it run correctly on macOS. Additionally, it adds a fail
case if neither wget or curl is found on the system.

Pick-to: 6.11 6.10 6.8
Change-Id: Id54b9fc69307ef28eb35cf1c0042df11e704a6e2
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
2025-12-10 09:11:54 +00:00
Nils Petter Skålerud f0b54a51f7 macOS ARM, Python: Combine Python provisioning into common script
The Python provisioning on macOS ARM hosts is done multiple times
across separate targets.

This patch moves the code into a common script 'macos/python-arm.sh'.
As a drive-by, we bump the version of all targets to 3.12.11, whch is
the same as the one used in the macOS 15 ARM host.

Pick-to: 6.11 6.10 6.8
Change-Id: I8c1f6f7d635fe47b9faa34dbe6988e89252dc2c9
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
2025-12-10 09:11:51 +00:00
Nils Petter Skålerud bb77943c0f Provisioning: Use local mirror for pyenv on macOS ARM hosts
On macOS hosts we are using external mirrors for installing with pyenv.
We should instead pull the necessary files from our local mirror.

Pick-to: 6.11 6.10 6.8
Change-Id: I6ba67dfd7cd37809164c7e2c4bcf89d07d45b1b2
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
2025-12-10 09:11:49 +00:00
Toni Saario 73c4ed922a Update sccache to v0.11.0
Custom patched packages for windows.

Also Add Windows on arm support.

Pick-to: 6.11 6.10 6.8
Fixes: COIN-740
Change-Id: I27f7d36b3501be2a2011b9b8dfa0ec846cd57bf5
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
2025-12-10 10:11:47 +01:00
Elias Toivola 7c7bbfff4d Remove RHEL-8.10
Existing platform configs with RHEL 8 use RHEL 9 instead. [CI Platforms]

Pick-to: 6.11
Task-number: QTQAINFRA-7529
Change-Id: I202fdf464f59db52f7f1edbf99451054c6889e69
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
2025-12-09 10:52:29 +00:00
Elias Toivola 8d9d8cf3e8 Remove Red Hat 9.4 from CI
RHEL-9.4 is replaced by RHEL-9.6. [CI Platforms]

Pick-to: 6.11 6.10 6.8
Task-number: QTQAINFRA-7326
Change-Id: Ia270d20eda412da291d9e09c265afa9c977fab2e
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
2025-12-09 12:52:28 +02:00
Elias Toivola 6856189287 Set Red Hat 9.6 tests as blocking
Also set Packaging targets for RHEL-9.6. [CI Platforms]

Task-number: QTQAINFRA-7326
Task-number: QTQAINFRA-7331
Change-Id: I18ec1e79e6fbe7b4ed001a3cdb648dae37b89561
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
2025-12-09 12:52:27 +02:00
Elias Toivola d5bdd4dea6 RHEL-9.6: Add missing package for license-service library
This amends d534aedb32

Pick-to: 6.11 6.10
Change-Id: I2ccc49b1e924ae88315f776900046a57789d149e
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2025-12-08 22:31:39 +00:00
Oleksii Zbykovskyi b276b549f7 Rename 100... to 10... in Windows provisioning scripts
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>
2025-12-08 21:42:29 +01:00
Eike Ziller dcd07cc2ab COIN/QtCreator: Move to RHEL 9 and macOS 15 for QtC 19+
Updating for raising the compiler requirements.
Also adds Ubuntu 22 to test with GCC 11

Since Qt Creator branches can use the same Qt branches
that define these platforms, keep one RHEL 8 job
for Qt Creator 18. Mark it in the features, so the
Qt Creator 19+ configuration can filter these out.

Pick-to: 6.11 6.10
Change-Id: Ib771f473b6ed3ce42c6191647da7d473b64c2316
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
2025-12-08 07:50:05 +00:00
1064 changed files with 6720 additions and 2926 deletions
+2 -1
View File
@@ -3,4 +3,5 @@
.gitattributes export-ignore
.commit-template export-ignore eol=lf
init-repository export-ignore
README.git export-ignore
*.bat text eol=crlf
*.bat.in text eol=crlf
+13
View File
@@ -11,3 +11,16 @@ build-*/
init-repository.opt
init-repository.opt.in
config.tl.opt
# CLion generated files
.idea
# Gradle generated files
.gradle/
local.properties
# JDTLS generated files
.project
.classpath
.settings/
bin/
+47 -56
View File
@@ -1,54 +1,54 @@
[submodule "qtbase"]
path = qtbase
url = ../qtbase.git
branch = 6.11.3
branch = dev
status = essential
[submodule "qtsvg"]
depends = qtbase
path = qtsvg
url = ../qtsvg.git
branch = 6.11.3
branch = dev
status = addon
[submodule "qtdeclarative"]
depends = qtbase
recommends = qtimageformats qtshadertools qtsvg qtlanguageserver
path = qtdeclarative
url = ../qtdeclarative.git
branch = 6.11.3
branch = dev
status = essential
[submodule "qtactiveqt"]
depends = qtbase
path = qtactiveqt
url = ../qtactiveqt.git
branch = 6.11.3
branch = dev
status = addon
[submodule "qtmultimedia"]
depends = qtbase qtshadertools
recommends = qtdeclarative qtquick3d
path = qtmultimedia
url = ../qtmultimedia.git
branch = 6.11.3
branch = dev
status = addon
[submodule "qttools"]
depends = qtbase
recommends = qtdeclarative qtactiveqt
path = qttools
url = ../qttools.git
branch = 6.11.3
branch = dev
status = essential
[submodule "qttranslations"]
depends = qttools
path = qttranslations
url = ../qttranslations.git
branch = 6.11.3
branch = dev
status = essential
priority = 30
[submodule "qtdoc"]
depends = qtdeclarative qttools
recommends = qtmultimedia qtshadertools qttasktree qtwebengine
recommends = qtmultimedia qtshadertools qttasktree
path = qtdoc
url = ../qtdoc.git
branch = 6.11.3
branch = dev
status = essential
priority = 40
[submodule "qtrepotools"]
@@ -61,7 +61,7 @@
depends = qtbase
path = qtqa
url = ../qtqa.git
branch = 6.11.3
branch = dev
status = essential
priority = 50
[submodule "qtlocation"]
@@ -69,243 +69,234 @@
recommends = qtdeclarative
path = qtlocation
url = ../qtlocation.git
branch = 6.11.3
branch = dev
status = preview
[submodule "qtpositioning"]
depends = qtbase
recommends = qtdeclarative qtserialport
path = qtpositioning
url = ../qtpositioning.git
branch = 6.11.3
branch = dev
status = addon
[submodule "qtsensors"]
depends = qtbase
recommends = qtdeclarative
path = qtsensors
url = ../qtsensors.git
branch = 6.11.3
branch = dev
status = addon
[submodule "qtconnectivity"]
depends = qtbase
recommends = qtdeclarative
path = qtconnectivity
url = ../qtconnectivity.git
branch = 6.11.3
branch = dev
status = addon
[submodule "qtwayland"]
depends = qtbase
recommends = qtdeclarative
path = qtwayland
url = ../qtwayland.git
branch = 6.11.3
branch = dev
status = addon
[submodule "qt3d"]
depends = qtbase
recommends = qtdeclarative qtshadertools qtmultimedia
path = qt3d
url = ../qt3d.git
branch = 6.11.3
branch = dev
status = deprecated
[submodule "qtimageformats"]
depends = qtbase
path = qtimageformats
url = ../qtimageformats.git
branch = 6.11.3
branch = dev
status = addon
[submodule "qtserialbus"]
depends = qtbase
recommends = qtserialport
path = qtserialbus
url = ../qtserialbus.git
branch = 6.11.3
branch = dev
status = addon
[submodule "qtserialport"]
depends = qtbase
path = qtserialport
url = ../qtserialport.git
branch = 6.11.3
branch = dev
status = addon
[submodule "qtwebsockets"]
depends = qtbase
recommends = qtdeclarative
path = qtwebsockets
url = ../qtwebsockets.git
branch = 6.11.3
branch = dev
status = addon
[submodule "qtwebchannel"]
depends = qtbase
recommends = qtdeclarative qtwebsockets
path = qtwebchannel
url = ../qtwebchannel.git
branch = 6.11.3
branch = dev
status = addon
[submodule "qtwebengine"]
depends = qtdeclarative
recommends = qtwebchannel qttools qtpositioning
path = qtwebengine
url = ../qtwebengine.git
branch = 6.11.3
status = addon
priority = 10
[submodule "qtwebview"]
depends = qtdeclarative
recommends = qtwebengine
path = qtwebview
url = ../qtwebview.git
branch = 6.11.3
branch = dev
status = addon
[submodule "qtcharts"]
depends = qtbase
recommends = qtdeclarative qtmultimedia
path = qtcharts
url = ../qtcharts.git
branch = 6.11.3
branch = dev
status = deprecated
[submodule "qtdatavis3d"]
depends = qtbase
recommends = qtdeclarative qtmultimedia
path = qtdatavis3d
url = ../qtdatavis3d.git
branch = 6.11.3
branch = dev
status = deprecated
[submodule "qtvirtualkeyboard"]
depends = qtbase qtdeclarative qtsvg
recommends = qtmultimedia
path = qtvirtualkeyboard
url = ../qtvirtualkeyboard.git
branch = 6.11.3
branch = dev
status = addon
[submodule "qtscxml"]
depends = qtbase qtdeclarative
path = qtscxml
url = ../qtscxml.git
branch = 6.11.3
branch = dev
status = addon
[submodule "qtspeech"]
depends = qtbase qtmultimedia
recommends = qtdeclarative
path = qtspeech
url = ../qtspeech.git
branch = 6.11.3
branch = dev
status = addon
[submodule "qtnetworkauth"]
depends = qtbase
path = qtnetworkauth
url = ../qtnetworkauth.git
branch = 6.11.3
branch = dev
status = addon
[submodule "qtremoteobjects"]
depends = qtbase
recommends = qtdeclarative
path = qtremoteobjects
url = ../qtremoteobjects.git
branch = 6.11.3
branch = dev
status = addon
[submodule "qtlottie"]
depends = qtbase qtdeclarative
depends = qtbase qtdeclarative qtquicktimeline
path = qtlottie
url = ../qtlottie.git
branch = 6.11.3
branch = dev
status = addon
[submodule "qtquicktimeline"]
depends = qtbase qtdeclarative
path = qtquicktimeline
url = ../qtquicktimeline
branch = 6.11.3
branch = dev
status = addon
[submodule "qtquick3d"]
depends = qtbase qtdeclarative qtshadertools
recommends = qtquicktimeline
path = qtquick3d
url = ../qtquick3d.git
branch = 6.11.3
branch = dev
status = addon
[submodule "qtshadertools"]
depends = qtbase
path = qtshadertools
url = ../qtshadertools.git
branch = 6.11.3
branch = dev
status = addon
[submodule "qt5compat"]
depends = qtbase qtdeclarative
path = qt5compat
url = ../qt5compat.git
branch = 6.11.3
branch = dev
status = deprecated
[submodule "qtcoap"]
depends = qtbase
path = qtcoap
url = ../qtcoap.git
branch = 6.11.3
branch = dev
status = addon
[submodule "qtmqtt"]
depends = qtbase qtdeclarative
recommends = qtwebsockets
path = qtmqtt
url = ../qtmqtt.git
branch = 6.11.3
branch = dev
status = addon
[submodule "qtopcua"]
depends = qtbase qtdeclarative
path = qtopcua
url = ../qtopcua.git
branch = 6.11.3
branch = dev
status = addon
[submodule "qtlanguageserver"]
depends = qtbase
path = qtlanguageserver
url = ../qtlanguageserver.git
branch = 6.11.3
branch = dev
status = preview
[submodule "qthttpserver"]
depends = qtbase
recommends = qtwebsockets
path = qthttpserver
url = ../qthttpserver.git
branch = 6.11.3
branch = dev
status = addon
[submodule "qtquick3dphysics"]
depends = qtbase qtdeclarative qtquick3d qtshadertools
path = qtquick3dphysics
url = ../qtquick3dphysics.git
branch = 6.11.3
branch = dev
status = addon
[submodule "qtgrpc"]
depends = qtbase
recommends = qtdeclarative
path = qtgrpc
url = ../qtgrpc.git
branch = 6.11.3
branch = dev
status = addon
[submodule "qtquickeffectmaker"]
depends = qtbase qtdeclarative qtshadertools
recommends = qtquick3d
path = qtquickeffectmaker
url = ../qtquickeffectmaker.git
branch = 6.11.3
branch = dev
status = addon
[submodule "qtgraphs"]
depends = qtbase qtdeclarative qtquick3d
path = qtgraphs
url = ../qtgraphs.git
branch = 6.11.3
branch = dev
status = addon
[submodule "qttasktree"]
depends = qtbase
path = qttasktree
url = ../qttasktree.git
branch = 6.11.3
branch = dev
status = preview
[submodule "qtopenapi"]
depends = qtbase
recommends = qtdeclarative
path = qtopenapi
url = ../qtopenapi.git
branch = 6.11.3
branch = dev
status = preview
[submodule "qtcanvaspainter"]
depends = qtbase qtdeclarative qtshadertools
path = qtcanvaspainter
url = ../qtcanvaspainter.git
branch = 6.11.3
branch = dev
status = preview
+30
View File
@@ -0,0 +1,30 @@
# Changelog
This repository does not keep a changelog of its own. Qt is released as a set
of modules, and the change information for a release is published with that
release rather than tracked here.
## Where to look
**Cumulative release notes** are published in
[qt/qtreleasenotes](https://code.qt.io/cgit/qt/qtreleasenotes.git/tree/qt).
**What changed in a Qt version.** Each minor release has a "What's New" page in
the Qt documentation. It lists new modules, new and deprecated APIs, and the
notable changes per module.
See [What's New in Qt 6](https://doc.qt.io/qt-6/whatsnewqt6.html).
**Release phases and schedule.** Each release has a wiki page with the
release plan. See [Qt Releasing Wiki](https://wiki.qt.io/QtReleasing).
**Moving between major versions.** The
[Porting to Qt 6](https://doc.qt.io/qt-6/portingguide.html) guide covers the
changes that affect existing code.
## Qt 4 and Qt 5 changelogs
Most module repositories feature a `dist` directory holding `changes-*` files.
These are no longer maintained. They stop at `changes-6.0.0` and are kept only
as a historical record of Qt 4 and Qt 5 releases. Do not add to them, and do
not treat them as a current source of change information for Qt 6. Use the
sources above instead.
+23
View File
@@ -0,0 +1,23 @@
# Code of conduct
The Qt Community Code of Conduct applies to everyone who takes part in the Qt
Project. It covers any forum, mailing list, wiki, website, IRC channel, public
meeting, or private correspondence in the context of the project and its
services.
[QUIP 12](https://contribute.qt-project.org/quips/12) is the Code of Conduct
itself and is the authoritative text. It asks participants to be considerate,
respectful, collaborative, pragmatic, and supportive of one another, and it
explains what each of those means in practice.
## If something goes wrong
QUIP 12 describes how the community handles problems. In short: offer personal
support to anyone who is being attacked, and remind those involved of the Code
of Conduct. Moderators of a mailing list, channel, or forum can suspend access
for anyone who persistently breaks it, so raise the matter with them when it
needs to go further. Where a disagreement is technical, ask the community for
advice or request mediation rather than escalating it into a public dispute.
Read [QUIP 12](https://contribute.qt-project.org/quips/12) in full for the
complete guidance.
+1 -2
View File
@@ -4,5 +4,4 @@ We welcome contributions to Qt!
Note that we cannot accept pull requests on GitHub. All contributions to the Qt project are exclusively handled through the [Gerrit code review system](https://codereview.qt-project.org).
Read the
[Qt Contribution Guidelines](https://wiki.qt.io/Qt_Contribution_Guidelines) to learn more.
See [contribute.qt-project.org](https://contribute.qt-project.org/) to learn more.
+29
View File
@@ -0,0 +1,29 @@
# Governance
The Qt Project is a meritocratic, consensus-based community. Anyone with an
interest in Qt can join it, take part in its decision-making, and contribute to
Qt's development.
[QUIP 2](https://contribute.qt-project.org/quips/2) is the Qt Governance Model
and is the authoritative text. It describes five levels of involvement and how
people move between them:
* **Users** — community members who use Qt. They report bugs, help other
users, and advocate for the project.
* **Contributors** — community members who provide input to the project, by
proposing changes in Gerrit, reviewing, writing documentation, or testing.
There is no selection process.
* **Approvers** — contributors who have shown a sustained commitment to the
project and who can approve changes for inclusion.
* **Maintainers** — approvers responsible for a specific area of Qt, who
decide what happens in the code they maintain.
* **Chief Maintainer** — leads the maintainer group, sets the overall
direction of the project, and has the final say when the project fails to
reach consensus.
The current maintainers are listed at
[wiki.qt.io/Maintainers](https://wiki.qt.io/Maintainers).
For the processes that sit alongside this model — the branch policy, the
security policy, the code of conduct, and the rest — see
[contribute.qt-project.org](https://contribute.qt-project.org/).
+69
View File
@@ -0,0 +1,69 @@
Qt licensing
============
Qt is not distributed under a single license, and this file is not a license
text. Qt is available under commercial terms and under several open source
licenses, and which terms apply depends on the module and the file.
The open source licenses in use across the Qt repositories include LGPL-3.0,
GPL-2.0, and GPL-3.0 for module implementations, GFDL-1.3 for documentation,
and BSD-3-Clause for build system files, examples, and tooling. Third-party
code bundled inside a module carries its own terms.
How licensing is declared
-------------------------
Licensing is declared per file, following the
[REUSE version 3.3 specification](https://reuse.software/spec-3.3/). Every file
carries an SPDX-License-Identifier header, or is covered by an adjacent
REUSE.toml file where an inline header is not possible. The full text of every
license referenced this way is in the LICENSES directory of the repository it
applies to.
Those SPDX headers and the LICENSES directory are the authoritative,
machine-readable record for the Qt sources. They are what the REUSE tool and
Qt's software bill of materials pipeline read when generating the SBOM for the
sources; they do not describe the licensing of Qt binaries.
Finding the terms for a module
------------------------------
Each Qt module carries its own licensing, and the terms are stated in the
"Licenses and Attributions" section of that module's documentation overview
page. For example, see:
https://doc.qt.io/qt-6/qtcore-index.html
That section also lists the third-party code the module includes and the
license of each such component.
License of built modules and tools
----------------------------------
When building Qt, you can build SBOM documents alongside (`-sbom` argument for
`configure`). You can use the generated SBOM artifacts to query copyrights and
licenses for built modules, and tools. For more details, see
[Software Bill of Materials](https://doc.qt.io/qt-6/sbom.html}.
Further information
-------------------
Qt licensing overview
https://doc.qt.io/qt-6/licensing.html
Licenses used in Qt
https://doc.qt.io/qt-6/licenses-used-in-qt.html
All Qt modules
https://doc.qt.io/qt-6/qtmodules.html
Commercial licensing
https://www.qt.io/licensing/
Open source licensing and its obligations
https://www.qt.io/download-open-source
Qt educational license
https://www.qt.io/qt-educational-license
-57
View File
@@ -1,57 +0,0 @@
OBTAINING QT 6 FROM GIT
=======================
Synopsis
========
For a more in-depth description on how to build Qt 6 from git,
please see: http://wiki.qt.io/Building_Qt_6_from_Git
Note that, although the git module is called qt5.git, the dev and 6.x branches
do contain Qt 6!
Get The Submodules
==================
Cloning qt5.git does not automatically clone all submodules.
To get the submodules, it is recommended to use the `init-repository' script.
./init-repository
See `./init-repository -help' for full documentation on the many supported
options.
Update The Submodules (optional)
================================
After a plain `git clone' and `init-repository', you will have each submodule
checked out to a particular SHA1. This combination of SHA1s is guaranteed to
have passed some basic acceptance testing.
If (and only if!) you need newer versions of some submodules, you can manually
fetch and/or pull and/or reset any modules you like, or use the qt5_tool to
pull all modules:
./qtrepotools/bin/qt5_tool -p
NOTE! As soon as you change the SHA1 of any submodule, you are using a
combination of modules which is potentially untested and broken! If you want
something which is more likely to compile, stick to the module SHA1s provided
in this repository.
Install The Git Grafts (optional)
=================================
If you want to be able to connect the Qt5 and Qt4 development history, you
may set up git grafts with the following command:
git submodule foreach '../qtrepotools/bin/git-qt-grafts <path_to_history>'
Developing and Contributing to Qt
=================================
For more information on how to develop and contribute to Qt, please see:
http://wiki.qt.io/Category:Developing_Qt
+57 -104
View File
@@ -1,127 +1,80 @@
HOW TO BUILD Qt 6
=================
# Qt 6
This repository, `qt5.git`, is the Qt super-repository. It records a git
submodule pointer to each Qt module repository, such as `qtbase` and
`qtdeclarative`, along with the build system, the `configure` scripts, and the
continuous integration configuration that build those modules as a single tree.
Synopsis
========
Each submodule points at a specific revision. The combination of revisions that
a branch records is a snapshot that has passed Qt's continuous integration.
Clone this repository first and let it select the module revisions for you. If
you move a submodule to a different revision, you are building a combination
that nobody has tested.
System requirements
-------------------
> Despite the name `qt5.git`, the `dev` and `6.x` branches contain Qt 6.
* C++ compiler supporting the C++17 standard
* CMake
* Ninja
* Python 3
To use Qt rather than build it from sources, see
[Get and Install Qt](https://doc.qt.io/qt-6/get-and-install-qt.html).
For more details, see also https://doc.qt.io/qt-6/build-sources.html
## Repository layout
Linux, Mac:
-----------
Each Qt module lives in its own directory, such as `qtbase` or
`qtdeclarative`. Those directories are git submodules.
```
cd <path>/<source_package>
./configure -prefix $PWD/qtbase
cmake --build .
```
The other top-level entries are:
Windows:
--------
| Entry | Purpose |
| ----- | ------- |
|`.gitmodules`| Lists modules for the current branch.|
| `CMakeLists.txt` | Entry point for the top-level build of all modules. |
| `configure`, `configure.bat` | Wrappers that configure that build. |
| `init-repository` | Checks out the submodules. Git clones only. |
| `cmake/` | CMake modules shared by the top-level build. |
| `coin/` | Continuous integration configuration and provisioning. |
| `LICENSES/`, `REUSE.toml` | License texts and per-file licensing metadata. |
1. Open a command prompt.
2. Ensure that the following tools can be found in the path:
* Supported compiler (Visual Studio 2022 or later, or MinGW-builds gcc 13.1 or later)
* Python 3 ([https://www.python.org/downloads/windows/] or from Microsoft Store)
## Get the sources
```
cd <path>\<source_package>
configure -prefix %CD%\qtbase
cmake --build .
```
For instructions, see [Getting Qt Sources from the Git repository](https://doc.qt.io/qt-6/getting-sources-from-git.html).
More details follow.
## Build Qt
For instructions, see [Build from sources](https://doc.qt.io/qt-6/build-sources.html).
Build!
======
## Documentation
Qt is built with CMake, and a typical
`configure && cmake --build .` build process is used.
The [Qt 6 documentation](https://doc.qt.io/qt-6/index.html) covers the
framework itself.
If Ninja is installed, it is automatically chosen as CMake generator.
## Report an issue
Some relevant configure options (see configure -help):
Report bugs at [bugreports.qt.io](https://bugreports.qt.io/), following
[these steps](https://doc.qt.io/qt-6/bughowto.html).
* `-release` Compile and link Qt with debugging turned off.
* `-debug` Compile and link Qt with debugging turned on.
## Security
Example for a release build:
To report a security vulnerability in Qt, and to read what the Qt Project
commits to in response, see [SECURITY.md](SECURITY.md).
```
./configure -prefix $PWD/qtbase
cmake --build .
```
## Contribute to Qt
Example for a developer build:
(enables more autotests, builds debug version of libraries, ...)
The Qt Project does not accept pull requests on GitHub. Every contribution goes
through [Gerrit](https://codereview.qt-project.org), so read
[how to contribute](CONTRIBUTING.md) before you push a change. All
participation in the project is subject to our
[code of conduct](CODE_OF_CONDUCT.md). To learn who decides what, and how
someone becomes an approver or a maintainer, see
[how the project is governed](GOVERNANCE.md).
Development discussions happens in the open on the
[Qt Project mailing lists](https://lists.qt-project.org/).
```
./configure -developer-build
cmake --build .
```
## License
See output of `./configure -help` for documentation on various options to
configure.
Qt is available under both commercial and open source licenses, and the terms
depend on the module you use. [LICENSE](LICENSE) explains how licensing is
declared across the Qt repositories and where to find the terms that apply to
a given module.
The above examples will build whatever Qt modules have been enabled
by default in the build system.
It is possible to build selected repositories with their dependencies by doing
a `ninja <repo-name>/all`. For example, to build only qtdeclarative,
and the modules it depends on:
```
./configure
ninja qtdeclarative/all
```
This can save a lot of time if you are only interested in a subset of Qt.
Hints
=====
The submodule repository `qtrepotools` contains useful scripts for
developers and release engineers. Consider adding qtrepotools/bin
to your `PATH` environment variable to access them.
Building Qt from git
====================
See http://wiki.qt.io/Building_Qt_6_from_Git and [README.git](README.git)
for more information.
See http://wiki.qt.io/Qt_6 for the reference platforms.
Documentation
=============
After configuring and compiling Qt, building the documentation is possible by running
```
cmake --build . --target docs
```
After having built the documentation, you need to install it with the following
command:
```
cmake --build . --target install_docs
```
The documentation is installed in the path specified with the
configure argument `-docdir`.
Information about Qt's documentation is located in qtbase/doc/README
Note: Building the documentation is only tested on desktop platforms.
For the full picture, see the
[Qt licensing overview](https://doc.qt.io/qt-6/licensing.html) and
[qt.io/licensing](https://www.qt.io/licensing/).
+3 -3
View File
@@ -34,6 +34,6 @@ We welcome contributions to Qt! If you'd like to contribute, read the
Qt is available under various licenses. For details, check out the
[license documentation](https://doc.qt.io/qt-6/licensing.html).
*Note that this README.md.template serves as a guideline for README.md files,
and that further sections can be added to individual README.md files if
necessary.*
*Note that this README.md.template serves as a guideline for the README.md
files of Qt module repositories, and that further sections can be added to
individual README.md files if necessary.*
+5 -2
View File
@@ -10,7 +10,8 @@ SPDX-License-Identifier = "LicenseRef-Qt-Commercial OR GPL-3.0-only"
[[annotations]]
path = ["coin/**", "cmake/**", "**.pro", "**.qrc", "**CMakeLists.txt", ".cmake.conf", "**.yaml",
"coin/axivion/ci_config_linux.json",
"**.cfg", "**.plist", "**.pri", "**.prf", "configure.json"]
"**.cfg", "**.plist", "**.pri", "**.prf", "configure.json",
"settings.gradle", "gradle/libs.versions.toml"]
precedence = "closest"
comment = "build system"
SPDX-FileCopyrightText = "Copyright (C) 2024 The Qt Company Ltd."
@@ -25,7 +26,9 @@ SPDX-FileCopyrightText = "Copyright (C) 2024 The Qt Company Ltd."
SPDX-License-Identifier = "BSD-3-Clause"
[[annotations]]
path = ["**README*", "CONTRIBUTING.md", ".commit-template", ".github/pull_request_template.md"]
path = ["**README*", "CONTRIBUTING.md", "CODE_OF_CONDUCT.md", "GOVERNANCE.md",
"SECURITY.md", "CHANGELOG.md", "LICENSE",
".commit-template", ".github/pull_request_template.md"]
comment = "documentation"
precedence = "closest"
SPDX-FileCopyrightText = "Copyright (C) 2024 The Qt Company Ltd."
+42
View File
@@ -0,0 +1,42 @@
# Security policy
## Reporting a vulnerability
Report suspected security vulnerabilities in Qt by email to
<security@qt-project.org>. Do not report them in the public bug tracker at
bugreports.qt.io.
If you hold a commercial license, you can instead report the issue to the Qt
Company support team through the support portal, using the "Security Issues"
category.
## The policy
[QUIP 15](https://contribute.qt-project.org/quips/15) is the Qt Project
Security Policy. It is the authoritative source for how the project handles
security issues, and it covers:
* How reports are received, acknowledged, and triaged, and in what time frame.
* Who is responsible for addressing an issue, and how it is escalated.
* How issues are disclosed, including CVE handling and notification of
packagers.
* Which versions of Qt fixes are guaranteed for.
Security announcements are published to the
[announce mailing list](https://lists.qt-project.org/listinfo/announce).
Qt customers with a commercial license now have the opportunity to subscribe to
the Qt Early Warning List in the [Customer Portal](https://account.qt.io/). The
EWL subscription requires an active
[Commercial Qt license](https://www.qt.io/development/qt-framework/commercial-qt).
## Related material
* [Security in Qt](https://doc.qt.io/qt-6/security.html) — what Qt does and
does not protect against, and how to use Qt securely.
* [QUIP 23](https://contribute.qt-project.org/quips/23) — the `Qt-Security`
header that marks how security-relevant a source file is.
* [QUIP 16](https://contribute.qt-project.org/quips/16) — the branch policy,
which governs which branches accept which changes.
* [Responsible Vulnerability Disclosure Agreement](https://www.qt.io/terms-conditions/responsible-vulnerability-disclosure-process) -
Terms and Conditions of Responsible Vulnerability Disclosure Process at Qt Group.
+2
View File
@@ -21,7 +21,9 @@ ColumnLimit: 100
# Disable reflow of some specific comments
# qdoc comments: indentation rules are different.
# Translation comments and SPDX license identifiers are also excluded.
# REUSE-IgnoreStart
CommentPragmas: "^!|^:|^ SPDX-License-Identifier:"
# REUSE-IgnoreEnd
# We want a space between the type and the star for pointer types.
PointerBindsToType: false
+35 -3
View File
@@ -5,6 +5,37 @@
# with renamed functions, because we need similar logic for init-repository, but
# we can't access qtbase before we clone it.
function(qt_ir_print_to_stdout text)
set(tmp_candidates
"${CMAKE_CURRENT_BINARY_DIR}"
"$ENV{TMPDIR}"
"$ENV{TEMP}"
"/tmp"
)
set(tmp "")
foreach(dir IN LISTS tmp_candidates)
if(dir STREQUAL "")
continue()
endif()
set(candidate "${dir}/.qt_configure_stdout_tmp")
execute_process(
COMMAND "${CMAKE_COMMAND}" -E touch "${candidate}"
RESULT_VARIABLE touch_result
)
if(touch_result EQUAL 0)
set(tmp "${candidate}")
break()
endif()
endforeach()
if(tmp STREQUAL "")
message("${text}") # last resort fallback (stderr)
return()
endif()
file(WRITE "${tmp}" "${text}")
execute_process(COMMAND "${CMAKE_COMMAND}" -E cat "${tmp}")
file(REMOVE "${tmp}")
endfunction()
# Call a function with the given arguments.
function(qt_ir_call_function func)
set(call_code "${func}(")
@@ -368,16 +399,17 @@ endfunction()
# Shows help for the command line options.
function(qt_ir_show_help)
set(help "")
set(help_file "${CMAKE_CURRENT_LIST_DIR}/QtIRHelp.txt")
if(EXISTS "${help_file}")
file(READ "${help_file}" content)
message("${content}")
string(APPEND help "${content}")
endif()
message([[
string(APPEND help [[
General Options:
-help, -h ............ Display this help screen
]])
qt_ir_print_to_stdout("${help}")
endfunction()
# Gets the unhandled command line args.
+17 -1
View File
@@ -102,18 +102,27 @@ endfunction()
# - ../qt/qttools-litehtml.git
function(qt_ir_add_git_remotes repo_relative_url working_directory)
set(gerrit_ssh_base "ssh://@USER@codereview.qt-project.org@PORT@/")
set(gerrit_repo_url "${gerrit_ssh_base}")
set(gerrit_https_base "https://@USER@codereview.qt-project.org@AUTH@/")
qt_ir_get_option_value(codereview-username username)
qt_ir_get_option_value(codereview-https https)
if(https)
set(gerrit_repo_url "${gerrit_https_base}")
else()
set(gerrit_repo_url "${gerrit_ssh_base}")
endif()
# If given a username, make a "verbose" remote.
# Otherwise, rely on proper SSH configuration.
if(username)
string(REPLACE "@USER@" "${username}@" gerrit_repo_url "${gerrit_repo_url}")
string(REPLACE "@PORT@" ":29418" gerrit_repo_url "${gerrit_repo_url}")
string(REPLACE "@AUTH@" "/a" gerrit_repo_url "${gerrit_repo_url}")
else()
string(REPLACE "@USER@" "" gerrit_repo_url "${gerrit_repo_url}")
string(REPLACE "@PORT@" "" gerrit_repo_url "${gerrit_repo_url}")
string(REPLACE "@AUTH@" "" gerrit_repo_url "${gerrit_repo_url}")
endif()
set(namespace "qt")
@@ -172,6 +181,7 @@ function(qt_ir_clone_one_submodule submodule_name)
set(oneValueArgs
ALTERNATES
BASE_URL
DEPTH
WORKING_DIRECTORY
)
set(multiValueArgs "")
@@ -254,6 +264,9 @@ function(qt_ir_clone_one_submodule submodule_name)
else()
list(APPEND clone_args --no-checkout)
endif()
if(arg_DEPTH)
list(APPEND clone_args --depth "${arg_DEPTH}")
endif()
list(APPEND clone_args ${progress_args})
qt_ir_execute_process_and_log_and_handle_error(
COMMAND_ARGS git clone ${clone_args} "${mirror_or_original_url}" "${submodule_path}"
@@ -1054,6 +1067,7 @@ function(qt_ir_handle_init_submodules prefix)
set(oneValueArgs
ALTERNATES
BASE_URL
DEPTH
PARENT_REPO_BASE_GIT_PATH
WORKING_DIRECTORY
)
@@ -1114,6 +1128,7 @@ function(qt_ir_handle_init_submodules prefix)
qt_ir_clone_one_submodule(${submodule_name}
ALTERNATES ${arg_ALTERNATES}
BASE_URL ${arg_BASE_URL}
DEPTH "${arg_DEPTH}"
WORKING_DIRECTORY "${working_directory}"
${branch_flag}
${fetch_flag}
@@ -1154,6 +1169,7 @@ function(qt_ir_handle_init_submodules prefix)
SUBMODULES "all"
BASE_URL "${base_url}"
DEPTH "${arg_DEPTH}"
PARENT_REPO_BASE_GIT_PATH "${submodule_base_git_path}"
WORKING_DIRECTORY "${working_directory}/${submodule_name}"
+13
View File
@@ -98,6 +98,9 @@ Options:
username and port number, and thus relies on a correct SSH
configuration.
--codereview-https
Specify this option to use HTTPs instead of SSH.
--alternates <path to other Qt5 repo>
Adds alternates for each submodule to another full qt5 checkout.
This makes this qt5 checkout very small, as it will use the object
@@ -119,6 +122,16 @@ Options:
Note that this negates the disk usage benefits gained from the use
of `--alternates'.
--depth <n>
Creates a shallow clone with a history truncated to <n> commits for
each submodule that is cloned, by passing `--depth <n>' to `git
clone'. This also applies recursively to submodules of submodules
(e.g. qtwebengine's third-party dependencies).
This option only affects submodules that are freshly cloned; it has
no effect on already-cloned submodules that are merely updated or
fetched.
--mirror <url-base>
Uses <url-base> as the base URL for submodule git mirrors.
+2
View File
@@ -312,6 +312,7 @@ function(qt_ir_run_after_args_parsed top_level_src_path out_var_exit_reason)
# Get some additional options to pass down.
qt_ir_get_option_as_existing_absolute_path(alternates alternates)
qt_ir_get_option_as_cmake_flag_option(branch "CHECKOUT_BRANCH" checkout_branch_option)
qt_ir_get_option_value(depth depth)
# The prefix for the cmake-style 'dictionary' that will be used by various functions.
set(prefix "ir_top")
@@ -321,6 +322,7 @@ function(qt_ir_run_after_args_parsed top_level_src_path out_var_exit_reason)
ALTERNATES "${alternates}"
ALREADY_INITIALIZED_SUBMODULES "${already_initialized_submodules}"
BASE_URL "${base_url}"
DEPTH "${depth}"
PARENT_REPO_BASE_GIT_PATH "${qt5_repo_name}"
PROCESS_SUBMODULES_FROM_COMMAND_LINE
WORKING_DIRECTORY "${working_directory}"
+2
View File
@@ -14,7 +14,9 @@ macro(qt_ir_set_known_command_line_options)
qt_ir_commandline_option(berlin TYPE boolean)
qt_ir_commandline_option(branch TYPE boolean)
qt_ir_commandline_option(codereview-username TYPE string)
qt_ir_commandline_option(codereview-https TYPE boolean)
qt_ir_commandline_option(copy-objects TYPE boolean)
qt_ir_commandline_option(depth TYPE string)
qt_ir_commandline_option(fetch TYPE boolean DEFAULT_VALUE yes)
qt_ir_commandline_option(force SHORT_NAME f TYPE boolean)
qt_ir_commandline_option(force-hooks TYPE boolean)
+1 -1
View File
@@ -60,7 +60,7 @@ endfunction()
# Populates $out_module_list with all subdirectories that have a CMakeLists.txt file
function(qt_internal_find_modules out_module_list)
set(module_list "")
file(GLOB directories LIST_DIRECTORIES true RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" *)
file(GLOB directories LIST_DIRECTORIES true RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" qt* tqtc-*)
foreach(directory IN LISTS directories)
if(IS_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/${directory}"
AND EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/${directory}/CMakeLists.txt")
+3
View File
@@ -30,3 +30,6 @@ enable_if:
- condition: property
property: target.os
equals_value: Linux
- condition: property
property: target.osVersion
not_equals_value: HarmonyOS_ANY
+1 -1
View File
@@ -52,7 +52,7 @@ disable_if:
conditions:
- condition: property
property: target.osVersion
in_values: [Android_ANY, QEMU, IOS_ANY, QNX_710, WebAssembly, INTEGRITY, VxWorks]
in_values: [HarmonyOS_ANY, Android_ANY, QEMU, IOS_ANY, QNX_710, WebAssembly, INTEGRITY, VxWorks]
- condition: and
conditions:
- condition: property
@@ -1,8 +1,8 @@
Version: 2
Configurations:
-
Id: 'opensuse-15.6-host-asan'
Template: 'qtci-linux-openSUSE-15.6-x86_64-51'
Id: 'opensuse-16.0-host-asan'
Template: 'qtci-linux-openSUSE-16.0-x86_64-51'
Compiler: 'GCC'
Features: ['Sccache', 'WarningsAreErrors', 'UseConfigure', 'UseAddressSanitizer']
Configure arguments: '-nomake examples -developer-build'
+174 -31
View File
@@ -3,6 +3,7 @@ Include: [
cmake_platforms_qemu.yaml,
cmake_platforms_qemu_qnx.yaml,
cmake_platforms_target_android.yaml,
cmake_platforms_target_harmonyos.yaml,
cmake_platforms_wasm.yaml,
macos.yaml
]
@@ -58,7 +59,7 @@ Configurations:
Template: 'qtci-linux-Ubuntu-24.04-aarch64-52'
Compiler: 'GCC'
Features: ['Sccache', 'Packaging', 'UseConfigure', 'DoNotRunTests', 'GenerateSBOM', 'VerifySBOM']
Configure arguments: '-nomake examples -release -force-debug-info -separate-debug-info -headersclean -qt-libjpeg -qt-libpng -qt-pcre -qt-harfbuzz -qt-doubleconversion -no-libudev -bundled-xcb-xinput -qpa offscreen\;xcb'
Configure arguments: '-nomake examples -release -force-debug-info -separate-debug-info -headersclean -qt-libjpeg -qt-libpng -qt-pcre -qt-harfbuzz -qt-doubleconversion -no-libudev -no-feature-liburing -bundled-xcb-xinput -qpa offscreen\;xcb'
Environment variables: [
'CMAKE_ARGS=-DOpenGL_GL_PREFERENCE=LEGACY',
'COMMON_TEST_CMAKE_ARGS=-DQT_SKIP_DOCKER_COMPOSE=ON',
@@ -104,6 +105,20 @@ Configurations:
'VCPKG_HOST_TRIPLET=x64-linux-qt',
'VCPKG_TARGET_TRIPLET=x64-linux-qt',
]
# Ubuntu 26.04 x64 Wayland
-
Id: 'ubuntu-26.04-x64-developer-build'
Template: 'qtci-linux-Ubuntu-26.04-x86_64-51'
Compiler: 'GCC'
Features: ['Sccache', 'UseConfigure', 'InsignificantTests', 'VerboseCTestOutput', 'StandaloneExamples']
Configure arguments: '-make examples -developer-build -c++std c++20 -linker gold -qtlibinfix TestInfix -qtnamespace TestNamespace'
Environment variables: [
'COMMON_TEST_CMAKE_ARGS=-DQT_SKIP_DOCKER_COMPOSE=ON',
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DQT_DEPLOY_FFMPEG=TRUE',
'VCPKG_HOST_TRIPLET=x64-linux-qt',
'VCPKG_TARGET_TRIPLET=x64-linux-qt',
]
# Ubuntu 24.04 x64 Wayland
-
Id: 'ubuntu-24.04-x64'
Template: 'qtci-linux-Ubuntu-24.04-x86_64-50'
@@ -117,6 +132,20 @@ Configurations:
'VCPKG_HOST_TRIPLET=x64-linux-qt',
'VCPKG_TARGET_TRIPLET=x64-linux-qt',
]
# Ubuntu 26.04 x64 Wayland
-
Id: 'ubuntu-26.04-x64'
Template: 'qtci-linux-Ubuntu-26.04-x86_64-51'
Compiler: 'GCC'
Features: ['Sccache', 'UseConfigure', 'InsignificantTests', 'VerboseCTestOutput', 'GenerateSBOM', 'VerifySBOM', 'DocsGenerationV2']
Configure arguments: '-nomake examples -release -force-debug-info -separate-debug-info -headersclean -qt-libjpeg -qt-libpng -qt-pcre -qt-harfbuzz -qt-doubleconversion -no-libudev -bundled-xcb-xinput'
Environment variables: [
'CMAKE_ARGS=-DOpenGL_GL_PREFERENCE=LEGACY',
'COMMON_TEST_CMAKE_ARGS=-DQT_SKIP_DOCKER_COMPOSE=ON',
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DQT_DEPLOY_FFMPEG=TRUE -DINPUT_headersclean=ON',
'VCPKG_HOST_TRIPLET=x64-linux-qt',
'VCPKG_TARGET_TRIPLET=x64-linux-qt',
]
# Test on Ubuntu 24.04 x64 X11
-
Id: 'ubuntu-24.04-x64-developer-build-x11-tests'
@@ -131,8 +160,8 @@ Configurations:
Features: ['Sccache', 'TestOnly']
Platform dependency: 'ubuntu-24.04-x64'
-
Id: 'opensuse-15.6-developer-build'
Template: 'qtci-linux-openSUSE-15.6-x86_64-51'
Id: 'opensuse-16.0-developer-build'
Template: 'qtci-linux-openSUSE-16.0-x86_64-51'
Compiler: 'GCC'
Features: ['Sccache', 'WarningsAreErrors', 'UseConfigure']
Configure arguments: '-nomake examples -developer-build'
@@ -143,20 +172,6 @@ Configurations:
'VCPKG_HOST_TRIPLET=x64-linux-qt',
'VCPKG_TARGET_TRIPLET=x64-linux-qt',
]
-
Id: 'opensuse-16.0-developer-build'
Template: 'qtci-linux-openSUSE-16.0-x86_64-51'
Compiler: 'GCC'
Features: ['Sccache', 'WarningsAreErrors', 'UseConfigure', 'InsignificantTests', 'DoNotAbortTestingOnFirstFailure']
Configure arguments: '-nomake examples -developer-build'
Environment variables: [
'PATH={{.Env.CMAKE_MIN_SUPPORTED_BIN_PATH}}:{{.Env.PATH}}',
'CMAKE_ARGS=-DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}',
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DQT_DEPLOY_FFMPEG=TRUE',
'VCPKG_HOST_TRIPLET=x64-linux-qt',
'VCPKG_TARGET_TRIPLET=x64-linux-qt',
'SCCACHE_C_CUSTOM_CACHE_BUSTER=v1'
]
-
Id: 'sles-15_sp6-static'
Template: 'qtci-linux-SLES-15_SP6-x86_64-52'
@@ -199,6 +214,55 @@ Configurations:
'Protobuf_ROOT={{.Env.Protobuf_ROOT_msvc}}',
'WEBVIEW2_SDK_ROOT={{.Env.WEBVIEW2_SDK_ROOT_PATH}}',
]
-
Id: 'windows-11_24H2-msvc2026'
Template: 'qtci-windows-11_24H2-x86_64-72'
Compiler: 'MSVC2026'
Features: ['Sccache', 'DebugAndRelease', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM']
Configure arguments: '-debug-and-release -force-debug-info -headersclean -nomake examples -qt-zlib'
Environment variables: [
'CMAKE_ARGS=-DFEATURE_msvc_obj_debug_info=ON -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x64}}\.. -DPostgreSQL_ROOT={{.Env.POSTGRESQL_LIB_x64}}\..',
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_MSVC}} -DQT_DEPLOY_FFMPEG=TRUE -DFEATURE_clangcpp=OFF -DINPUT_headersclean=ON',
'LLVM_INSTALL_DIR={{.Env.LLVM_INSTALL_DIR_msvc}}',
'VCPKG_HOST_TRIPLET=x64-windows-qt',
'VCPKG_TARGET_TRIPLET=x64-windows-qt',
'Protobuf_ROOT={{.Env.Protobuf_ROOT_msvc}}',
'WEBVIEW2_SDK_ROOT={{.Env.WEBVIEW2_SDK_ROOT_PATH}}',
]
-
Id: 'windows-11_24H2-msvc2026-developer-build'
Template: 'qtci-windows-11_24H2-x86_64-72'
Compiler: 'MSVC2026'
Features: ['Sccache', 'DebugAndRelease', 'WarningsAreErrors', 'UseConfigure', 'StandaloneExamples']
Configure arguments: '-debug-and-release -force-asserts -make examples -developer-build -force-debug-info -qt-zlib -c++std c++20'
Environment variables: [
'CMAKE_ARGS=-DFEATURE_msvc_obj_debug_info=ON -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x64}}\.. -DMySQL_ROOT={{.Env.ENV_MySQL_ROOT}} -DMySQL_LIBRARY_DIR={{.Env.ENV_MySQL_LIBRARY_DIR}}',
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_MSVC}} -DQT_DEPLOY_FFMPEG=TRUE',
'Protobuf_ROOT={{.Env.Protobuf_ROOT_msvc}}',
'VCPKG_HOST_TRIPLET=x64-windows-qt',
'VCPKG_TARGET_TRIPLET=x64-windows-qt',
'gRPC_ROOT={{.Env.gRPC_ROOT_msvc}}',
]
-
Id: 'windows-11_24H2-msvc2026-arm64ec'
Template: 'qtci-windows-11_24H2-x86_64-72'
Compiler: 'MSVC2026'
Target arch: 'arm64'
Features: ['Sccache', 'ARM64EC', 'TargetBuildOnly', 'DoNotRunTests', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM']
Platform dependency: 'windows-11_24H2-msvc2026'
Environment variables: [
'TARGET_CONFIGURE_ARGS=-debug-and-release -force-debug-info -platform win32-arm64ec-msvc -qt-zlib -no-sql-db2 -no-sql-ibase -no-sql-mysql -no-sql-oci -no-sql-psql -no-sql-mimer',
'TARGET_CMAKE_ARGS=-DFEATURE_msvc_obj_debug_info=ON -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x64}}\..',
'NON_QTBASE_TARGET_CMAKE_ARGS=-DQT_FEATURE_qdoc=OFF -DFEATURE_qtwebengine_build=OFF -DFEATURE_qtpdf_build=OFF -DFFMPEG_DIR={{.Env.FFMPEG_DIR_MSVC}} -DQT_DEPLOY_FFMPEG=TRUE -DFEATURE_clangcpp=OFF -DINPUT_headersclean=ON',
'Protobuf_ROOT={{.Env.Protobuf_ROOT_msvc}}',
]
-
Id: 'windows-11_24H2-msvc2026-arm64ec-tests'
Template: 'qtci-windows-11_23H2-aarch64-54'
Compiler: 'MSVC2026'
Features: ['TestOnly', 'InsignificantTests']
Configure arguments: '-cross-compiled'
Platform dependency: 'windows-11_24H2-msvc2026-arm64ec'
-
Id: 'windows-11_23h2-arm64-msvc2022'
Template: 'qtci-windows-11_23H2-aarch64-53'
@@ -213,13 +277,27 @@ Configurations:
'Protobuf_ROOT={{.Env.Protobuf_ROOT_msvc}}',
'WEBVIEW2_SDK_ROOT={{.Env.WEBVIEW2_SDK_ROOT_PATH}}',
]
-
Id: 'windows-11_23h2-arm64-msvc2026'
Template: 'qtci-windows-11_23H2-aarch64-54'
Compiler: 'MSVC2026'
Features: ['Sccache', 'DebugAndRelease', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM']
Configure arguments: '-debug-and-release -force-debug-info -headersclean -nomake examples -qt-zlib -no-sql-db2 -no-sql-ibase -no-sql-mysql -no-sql-oci -no-sql-psql -no-sql-mimer'
Environment variables: [
'CMAKE_ARGS=-DFEATURE_msvc_obj_debug_info=ON -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_arm64}}\..',
'NON_QTBASE_CMAKE_ARGS= -DFEATURE_clangcpp=OFF -DFFMPEG_DIR={{.Env.FFMPEG_DIR_MSVC_ARM64}} -DQT_DEPLOY_FFMPEG=TRUE',
'VCPKG_HOST_TRIPLET=arm64-windows-qt',
'VCPKG_TARGET_TRIPLET=arm64-windows-qt',
'Protobuf_ROOT={{.Env.Protobuf_ROOT_msvc}}',
'WEBVIEW2_SDK_ROOT={{.Env.WEBVIEW2_SDK_ROOT_PATH}}',
]
-
Id: 'windows-11_24H2-msvc2022-arm64'
Template: 'qtci-windows-11_24H2-x86_64-73'
Compiler: 'MSVC2022'
Target arch: 'arm64'
Features: ['Sccache', 'Packaging', 'DoNotRunTests', 'TargetBuildOnly', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM']
Platform dependency: 'windows-11_24h2-mingw13'
Platform dependency: 'windows-11_24h2-mingw15'
Environment variables: [
'Path={{.Env.MINGW_PATH}}\bin;{{.Env.Path}}',
'TARGET_CONFIGURE_ARGS=-debug-and-release -force-debug-info -platform win32-arm64-msvc -qt-zlib -no-sql-db2 -no-sql-ibase -no-sql-mysql -no-sql-oci -no-sql-psql -no-sql-mimer',
@@ -235,12 +313,49 @@ Configurations:
'WEBVIEW2_SDK_ROOT={{.Env.WEBVIEW2_SDK_ROOT_PATH}}',
]
-
Id: 'windows-11-x86_64-arm64-tests'
Id: 'windows-11_24H2-msvc2026-arm64'
Template: 'qtci-windows-11_24H2-x86_64-72'
Compiler: 'MSVC2026'
Target arch: 'arm64'
Features: ['Sccache', 'DoNotRunTests', 'TargetBuildOnly', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM']
Platform dependency: 'windows-11_24h2-mingw15'
Environment variables: [
'Path={{.Env.MINGW_PATH}}\bin;{{.Env.Path}}',
'TARGET_CONFIGURE_ARGS=-debug-and-release -force-debug-info -platform win32-arm64-msvc -qt-zlib -no-sql-db2 -no-sql-ibase -no-sql-mysql -no-sql-oci -no-sql-psql -no-sql-mimer',
'TARGET_CMAKE_ARGS=-DFEATURE_msvc_obj_debug_info=ON -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ROOT_DIR_x64_arm64}} -DQT_FORCE_BUILD_TOOLS=ON',
'NON_QTBASE_TARGET_CMAKE_ARGS=-DFEATURE_native_grpc=OFF -DFFMPEG_DIR={{.Env.FFMPEG_DIR_MSVC_ARM64}} -DQT_DEPLOY_FFMPEG=TRUE',
'OPENSSL_INCLUDE={{.Env.OPENSSL_INCLUDE_x64_arm64}}',
'OPENSSL_LIB={{.Env.OPENSSL_LIB_x64_arm64}}',
'OPENSSL_ROOT_DIR={{.Env.OPENSSL_ROOT_DIR_x64_arm64}}',
'LLVM_INSTALL_DIR={{.Env.LLVM_INSTALL_DIR_msvc_arm64}}',
'VCPKG_HOST_TRIPLET=x64-windows-qt',
'VCPKG_TARGET_TRIPLET=arm64-windows-qt',
'Protobuf_ROOT={{.Env.Protobuf_ROOT_msvc}}',
'WEBVIEW2_SDK_ROOT={{.Env.WEBVIEW2_SDK_ROOT_PATH}}',
]
-
Id: 'windows-11-x86_64-arm64-native-tests'
Template: 'qtci-windows-11_23H2-aarch64-53'
Compiler: 'MSVC2022'
Features: ['TestOnly']
Features: ['TestOnly', 'BuildTestsInTest', 'UseToolchainFromTargetDir']
Configure arguments: '-cross-compiled'
Platform dependency: 'windows-11_24H2-msvc2022-arm64'
Environment variables: [
'CMAKE_ARGS=-DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ROOT_DIR_x64_arm64}}',
'NON_QTBASE_TARGET_CMAKE_ARGS=-DFEATURE_native_grpc=OFF -DFFMPEG_DIR={{.Env.FFMPEG_DIR_MSVC_ARM64}} -DQT_DEPLOY_FFMPEG=TRUE',
'OPENSSL_CONF_x64={{.Env.OPENSSL_CONF_x64_arm64}}',
'OPENSSL_INCLUDE_x64={{.Env.OPENSSL_INCLUDE_x64_arm64}}',
'OPENSSL_LIB_x64={{.Env.OPENSSL_LIB_x64_arm64}}',
'VCPKG_HOST_TRIPLET=arm64-windows-qt',
'VCPKG_TARGET_TRIPLET=arm64-windows-qt',
]
-
Id: 'windows-11-x86_64-arm64-tests-msvc2026'
Template: 'qtci-windows-11_23H2-aarch64-54'
Compiler: 'MSVC2026'
Features: ['TestOnly']
Configure arguments: '-cross-compiled'
Platform dependency: 'windows-11_24H2-msvc2026-arm64'
-
Id: 'windows-11_24H2-msvc2022-developer-build'
Template: 'qtci-windows-11_24H2-x86_64-73'
@@ -260,7 +375,7 @@ Configurations:
Template: 'qtci-linux-RHEL-9.6-x86_64-51'
Compiler: 'GCC'
Features: ['Packaging', 'Sccache', 'UseConfigure', 'InstallQt5Dependencies', 'GenerateSBOM', 'VerifySBOM']
Configure arguments: '-nomake examples -release -force-debug-info -headersclean -separate-debug-info -qt-libjpeg -qt-libpng -qt-pcre -qt-harfbuzz -qt-doubleconversion -no-libudev -bundled-xcb-xinput'
Configure arguments: '-nomake examples -release -force-debug-info -headersclean -separate-debug-info -qt-libjpeg -qt-libpng -qt-pcre -qt-harfbuzz -qt-doubleconversion -no-libudev -no-feature-liburing -bundled-xcb-xinput'
Environment variables: [
'CMAKE_ARGS=-DOpenGL_GL_PREFERENCE=LEGACY',
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DQT_DEPLOY_FFMPEG=TRUE -DINPUT_headersclean=ON -DINPUT_tiff=qt -DINPUT_webp=qt',
@@ -271,7 +386,7 @@ Configurations:
Id: 'rhel-10.0'
Template: 'qtci-linux-RHEL-10.0-x86_64-51'
Compiler: 'GCC'
Features: ['Sccache', 'UseConfigure', 'InstallQt5Dependencies', 'GenerateSBOM', 'VerifySBOM', 'InsignificantTests', 'DoNotAbortTestingOnFirstFailure']
Features: ['Sccache', 'UseConfigure', 'InstallQt5Dependencies', 'GenerateSBOM', 'VerifySBOM', 'DoNotAbortTestingOnFirstFailure']
Configure arguments: '-nomake examples -release -force-debug-info -headersclean -separate-debug-info -qt-libjpeg -qt-libpng -qt-pcre -qt-harfbuzz -qt-doubleconversion -no-libudev -bundled-xcb-xinput'
Environment variables: [
'CMAKE_ARGS=-DOpenGL_GL_PREFERENCE=LEGACY',
@@ -280,8 +395,8 @@ Configurations:
'VCPKG_TARGET_TRIPLET=x64-linux-qt',
]
-
Id: 'ios-universal'
Template: 'qtci-macos-14-arm-106'
Id: 'ios-device'
Template: 'qtci-macos-26-arm-105'
Target os: 'IOS_ANY'
Target arch: 'arm64'
Compiler: 'Clang'
@@ -289,12 +404,40 @@ Configurations:
Platform dependency: 'macos-universal-on-arm64'
Features: ['Packaging', 'Sccache', 'DebugAndRelease', 'DisableTests', 'UseConfigure', 'WarningsAreErrors', 'GenerateSBOM', 'VerifySBOM']
Environment variables: [
'TARGET_CONFIGURE_ARGS=-debug-and-release -nomake examples -platform macx-ios-clang',
'TARGET_CONFIGURE_ARGS=-debug-and-release -nomake examples -platform macx-ios-clang -sdk iphoneos',
'NON_QTBASE_TARGET_CMAKE_ARGS= -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include -DFFMPEG_DIR={{.Env.FFMPEG_DIR_IOS}} -DQT_DEPLOY_FFMPEG=TRUE',
]
-
Id: 'ios-arm64-simulator'
Template: 'qtci-macos-26-arm-105'
Target os: 'IOS_ANY'
Target arch: 'arm64'
Compiler: 'Clang'
Target compiler: 'Clang'
Platform dependency: 'macos-universal-on-arm64'
Features: ['Packaging', 'Sccache', 'DebugAndRelease', 'DisableTests', 'UseConfigure', 'WarningsAreErrors', 'GenerateSBOM', 'VerifySBOM']
Environment variables: [
'TARGET_CONFIGURE_ARGS=-debug-and-release -nomake examples -platform macx-ios-clang -sdk iphonesimulator',
'TARGET_CMAKE_ARGS=-DCMAKE_OSX_ARCHITECTURES="arm64"',
'NON_QTBASE_TARGET_CMAKE_ARGS= -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include -DFFMPEG_DIR={{.Env.FFMPEG_DIR_IOS}} -DQT_DEPLOY_FFMPEG=TRUE',
]
-
Id: 'ios-x86_64-simulator'
Template: 'qtci-macos-26-arm-105'
Target os: 'IOS_ANY'
Target arch: 'x86_64'
Compiler: 'Clang'
Target compiler: 'Clang'
Platform dependency: 'macos-universal-on-arm64'
Features: ['Packaging', 'Sccache', 'DebugAndRelease', 'DisableTests', 'UseConfigure', 'WarningsAreErrors', 'GenerateSBOM', 'VerifySBOM']
Environment variables: [
'TARGET_CONFIGURE_ARGS=-debug-and-release -nomake examples -platform macx-ios-clang -sdk iphonesimulator',
'TARGET_CMAKE_ARGS=-DCMAKE_OSX_ARCHITECTURES="x86_64"',
'NON_QTBASE_TARGET_CMAKE_ARGS= -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include -DFFMPEG_DIR={{.Env.FFMPEG_DIR_IOS}} -DQT_DEPLOY_FFMPEG=TRUE',
]
-
Id: 'visionos-developer-build'
Template: 'qtci-macos-15-arm-105'
Template: 'qtci-macos-26-arm-105'
Target os: 'IOS_ANY'
Target arch: 'arm64'
Compiler: 'Clang'
@@ -305,7 +448,7 @@ Configurations:
'TARGET_CONFIGURE_ARGS=-developer-build -no-warnings-are-errors -nomake examples -nomake tests -platform macx-visionos-clang',
]
-
Id: 'windows-11_24h2-mingw13'
Id: 'windows-11_24h2-mingw15'
Template: 'qtci-windows-11_24H2-x86_64-73'
Compiler: 'Mingw'
Features: ['Packaging', 'Sccache', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM']
@@ -331,7 +474,7 @@ Configurations:
'Protobuf_ROOT={{.Env.Protobuf_ROOT_llvm_mingw}}',
]
-
Id: 'windows-11_24H2-mingw13-developer-build'
Id: 'windows-11_24H2-mingw15-developer-build'
Template: 'qtci-windows-11_24H2-x86_64-73'
Compiler: 'Mingw'
Features: ['Sccache', 'WarningsAreErrors', 'UseConfigure', 'StandaloneExamples']
@@ -349,7 +492,7 @@ Configurations:
Compiler: 'GCC'
Features: ['Packaging','DebianPackaging','DisableTests', 'Insignificant']
Environment variables: [
'DEBIAN_RULES_REF=6.11_dev',
'DEBIAN_RULES_REF=6.12_dev',
'COIN_TARGET_DIST=tqtc-jammy',
'COIN_EXTRA_DEBIAN_PACKAGES={{.Env.HOME}}/debian_packages/',
'COIN_SBUILD_CHROOT=jammy-arm64-sbuild',
@@ -362,7 +505,7 @@ Configurations:
Compiler: 'GCC'
Features: ['Packaging','DebianPackaging','DisableTests', 'Insignificant']
Environment variables: [
'DEBIAN_RULES_REF=6.11_dev',
'DEBIAN_RULES_REF=6.12_dev',
'COIN_TARGET_DIST=tqtc-jammy',
'COIN_EXTRA_DEBIAN_PACKAGES={{.Env.HOME}}/debian_packages/',
'COIN_SBUILD_CHROOT=jammy-amd64-sbuild',
@@ -375,7 +518,7 @@ Configurations:
Compiler: 'GCC'
Features: ['Packaging','DebianPackaging','DisableTests', 'Insignificant']
Environment variables: [
'DEBIAN_RULES_REF=6.11_gles',
'DEBIAN_RULES_REF=6.12_gles',
'COIN_TARGET_DIST=tqtc-bookworm',
'COIN_EXTRA_DEBIAN_PACKAGES={{.Env.HOME}}/debian_packages/',
'COIN_SBUILD_CHROOT=bookworm-arm64-sbuild',
@@ -2,11 +2,11 @@ Version: 2
Configurations:
-
Id: 'qemu-armv7-developer-build'
Template: 'qtci-linux-Ubuntu-22.04-x86_64-51'
Template: 'qtci-linux-Ubuntu-24.04-x86_64-50'
Target os: 'QEMU'
Target arch: 'armv7'
Compiler: 'GCC'
Platform dependency: 'ubuntu-22.04'
Platform dependency: 'ubuntu-24.04-x64'
Features: ['Sccache', 'UseConfigure', 'InsignificantTests', 'StandaloneExamples']
Environment variables: [
'TARGET_CONFIGURE_ARGS=-release -force-asserts -force-debug-info -developer-build -no-warnings-are-errors -make examples -qt-harfbuzz -device linux-imx7-g++ -device-option "CROSS_COMPILE={{.Env.QEMUARMV7_TOOLCHAIN_CROSS_COMPILE}}" -device-option "DISTRO_OPTS=hard-float boot2qt" -no-feature-forkfd_pidfd',
@@ -21,11 +21,11 @@ Configurations:
]
-
Id: 'qemu-arm64-developer-build'
Template: 'qtci-linux-Ubuntu-22.04-x86_64-51'
Template: 'qtci-linux-Ubuntu-24.04-x86_64-50'
Target os: 'QEMU'
Target arch: 'arm64'
Compiler: 'GCC'
Platform dependency: 'ubuntu-22.04'
Platform dependency: 'ubuntu-24.04-x64'
Features: ['Sccache', 'UseConfigure', 'InsignificantTests']
Environment variables: [
'TARGET_CONFIGURE_ARGS=-release -force-asserts -force-debug-info -developer-build -no-warnings-are-errors -nomake examples -qt-harfbuzz -device linux-generic-g++ -device-option "CROSS_COMPILE={{.Env.QEMUARM64_TOOLCHAIN_CROSS_COMPILE}}" -device-option "DISTRO_OPTS=boot2qt" -no-feature-forkfd_pidfd',
@@ -40,11 +40,11 @@ Configurations:
]
-
Id: 'qemu-mips64-developer-build'
Template: 'qtci-linux-Ubuntu-22.04-x86_64-51'
Template: 'qtci-linux-Ubuntu-24.04-x86_64-50'
Target os: 'QEMU'
Target arch: 'mips64'
Compiler: 'GCC'
Platform dependency: 'ubuntu-22.04'
Platform dependency: 'ubuntu-24.04-x64'
Features: ['Sccache', 'DisableTests', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM']
Environment variables: [
'TARGET_CONFIGURE_ARGS=-release -force-asserts -force-debug-info -developer-build -no-warnings-are-errors -nomake examples -qt-harfbuzz -device linux-generic-g++ -device-option "CROSS_COMPILE={{.Env.QEMUMIPS64_TOOLCHAIN_CROSS_COMPILE}}" -device-option "DISTRO_OPTS=boot2qt" -no-feature-forkfd_pidfd',
@@ -10,7 +10,7 @@ Configurations:
Platform dependency: 'ubuntu-22.04'
Features: ['VMSize8', 'UseConfigure', 'DoNotRunTests', 'DoNotUploadTests']
Environment variables: [
'WIND_CC_SYSROOT=/opt/fsl_imx6_2_0_6_2_VSB',
'WIND_CC_SYSROOT=/opt/fsl_imx6_2_0_6_3_VSB',
'TARGET_CONFIGURE_ARGS=-release -force-debug-info -qpa offscreen -nomake examples',
'TARGET_CMAKE_ARGS=-DBUILD_SHARED_LIBS=OFF -DWARNINGS_ARE_ERRORS=OFF -DCMAKE_TOOLCHAIN_FILE="{{.Env.WIND_CC_SYSROOT}}/mk/rtp.toolchain.cmake" -DFEATURE_vulkan=OFF -DQT_QMAKE_TARGET_MKSPEC=vxworks-clang -DQT_HOST_PATH=/home/qt/work/install -DCMAKE_AUTOGEN_VERBOSE=ON -DCMAKE_STAGING_PREFIX:PATH=/home/qt/work/install/target',
'VCPKG_HOST_TRIPLET=x64-linux-qt',
@@ -26,8 +26,8 @@ Configurations:
Platform dependency: 'ubuntu-22.04'
Features: ['VMSize8', 'UseConfigure', 'DoNotRunTests', 'DoNotUploadTests']
Environment variables: [
'WIND_CC_SYSROOT=/opt/nxp_imx8_1_0_7_0_VSB',
'TARGET_CONFIGURE_ARGS=-release -force-debug-info -qpa offscreen -nomake examples',
'WIND_CC_SYSROOT=/opt/nxp_imx8_1_0_7_1_VSB',
'TARGET_CONFIGURE_ARGS=-release -qpa offscreen -nomake examples',
'TARGET_CMAKE_ARGS=-DBUILD_SHARED_LIBS=OFF -DWARNINGS_ARE_ERRORS=OFF -DCMAKE_TOOLCHAIN_FILE="{{.Env.WIND_CC_SYSROOT}}/mk/rtp.toolchain.cmake" -DFEATURE_vulkan=OFF -DQT_QMAKE_TARGET_MKSPEC=vxworks-clang -DQT_HOST_PATH=/home/qt/work/install -DCMAKE_AUTOGEN_VERBOSE=ON -DCMAKE_STAGING_PREFIX:PATH=/home/qt/work/install/target'
]
-
@@ -8,10 +8,10 @@ Configurations:
Compiler: 'Clang'
Target compiler: 'Clang'
Platform dependency: 'vxworks-imx6-buildtest'
Features: ['VMSize8', 'UseConfigure', 'BuildTestsInTest', 'TestOnly']
Features: ['VMSize8', 'UseConfigure', 'BuildTestsInTest', 'TestOnly', 'InsignificantTests']
Environment variables: [
'WIND_CC_SYSROOT=/opt/fsl_imx6_2_0_6_2_VSB',
'VXWORKS_TEST_LIBS_PATH=/opt/fsl_imx6_2_0_6_2_VSB/usr/lib/common;/opt/fsl_imx6_2_0_6_2_VSB/usr/root/llvm/bin;/opt/fsl_imx6_2_0_6_2_VSB/usr/3pp/develop/usr/lib;/home/qt/work/install/target/lib',
'WIND_CC_SYSROOT=/opt/fsl_imx6_2_0_6_3_VSB',
'VXWORKS_TEST_LIBS_PATH=/opt/fsl_imx6_2_0_6_3_VSB/usr/lib/common;/opt/fsl_imx6_2_0_6_3_VSB/usr/root/llvm/bin;/opt/fsl_imx6_2_0_6_3_VSB/usr/3pp/develop/usr/lib;/home/qt/work/install/target/lib',
'TARGET_CONFIGURE_ARGS=-release -force-debug-info -qpa offscreen -nomake examples',
'TARGET_CMAKE_ARGS=-DBUILD_SHARED_LIBS=OFF -DWARNINGS_ARE_ERRORS=OFF -DCMAKE_TOOLCHAIN_FILE="{{.Env.WIND_CC_SYSROOT}}/mk/rtp.toolchain.cmake" -DFEATURE_vulkan=OFF -DQT_QMAKE_TARGET_MKSPEC=vxworks-clang -DQT_HOST_PATH=/home/qt/work/install -DCMAKE_AUTOGEN_VERBOSE=ON -DCMAKE_STAGING_PREFIX:PATH=/home/qt/work/install/target',
'VCPKG_HOST_TRIPLET=x64-linux-qt',
@@ -25,7 +25,7 @@ Configurations:
Compiler: 'Clang'
Target compiler: 'Clang'
Platform dependency: 'vxworks-x86_64-buildtest'
Features: ['VMSize8', 'UseConfigure', 'BuildTestsInTest', 'TestOnly']
Features: ['VMSize16', 'UseConfigure', 'BuildTestsInTest', 'TestOnly', 'InsignificantTests']
Environment variables: [
'WIND_CC_SYSROOT=/opt/itl_generic_skylake_VSB',
'VXWORKS_TEST_LIBS_PATH=/opt/itl_generic_skylake_VSB/usr/lib/common;/opt/itl_generic_skylake_VSB/usr/root/llvm/bin;/opt/itl_generic_skylake_VSB/usr/3pp/develop/usr/lib;/home/qt/work/install/target/lib',
@@ -55,7 +55,7 @@ Configurations:
-
Id: 'macos-universal-on-x86_64-minimal-static-test'
Template: 'qtci-macos-14-x86_64-105'
Template: 'qtci-macos-15-x86_64-103'
Compiler: 'Clang'
Target arch: 'x86_64-arm64'
Features: ['Packaging', 'Sccache', 'DoNotRunTests', 'WarningsAreErrors', 'UseConfigure', 'MinimalStaticTests']
@@ -27,7 +27,20 @@ Configurations:
]
-
Id: 'macos-minimal-static'
Template: 'qtci-macos-14-arm-106'
Template: 'qtci-macos-26-arm-105'
Compiler: 'Clang'
Features: ['Sccache', 'MinimalStaticTests', 'UseConfigure']
Configure arguments: '-nomake examples -release -force-debug-info -static -no-framework'
-
Id: "ios-minimal-static"
Template: 'qtci-macos-26-arm-105'
Target os: 'IOS_ANY'
Target arch: 'arm64'
Compiler: 'Clang'
Target compiler: 'Clang'
Platform dependency: 'macos-universal-on-arm64'
Features: ['Sccache', 'DebugAndRelease', 'MinimalStaticTests', 'UseConfigure']
Environment variables: [
'TARGET_CONFIGURE_ARGS=-debug-and-release -nomake examples -platform macx-ios-clang'
]
@@ -2,7 +2,7 @@ Version: 2
Configurations:
-
Id: 'android-arm64-on-macos'
Template: 'qtci-macos-14-arm-106'
Template: 'qtci-macos-15-arm-105'
Target os: 'Android_ANY'
Target arch: 'arm64'
Compiler: 'Clang'
@@ -22,7 +22,7 @@ Configurations:
Target arch: 'armv7'
Compiler: 'Mingw'
Target compiler: 'Clang'
Platform dependency: 'windows-11_24h2-mingw13'
Platform dependency: 'windows-11_24h2-mingw15'
Features: ['Packaging', 'Sccache', 'WarningsAreErrors', 'DisableTests', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM']
Environment variables: [
'Path={{.Env.MINGW_PATH}}\bin;{{.Env.Path}}',
@@ -63,9 +63,9 @@ Configurations:
'TARGET_CONFIGURE_ARGS=-nomake examples -release -force-debug-info -qpa android;offscreen -android-ndk {{.Env.ANDROID_NDK_ROOT_LATEST}} -android-sdk {{.Env.ANDROID_SDK_ROOT}} -android-abis x86_64',
'TARGET_CMAKE_ARGS=-DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME_LATEST}} -DQT_GENERATE_WRAPPER_SCRIPTS_FOR_ALL_HOSTS=ON',
'NON_QTBASE_TARGET_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_ANDROID_X86_64_NDK_LATEST}} -DQT_DEPLOY_FFMPEG=TRUE -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include',
# We check QT_USE_TARGET_ANDROID_BUILD_DIR and QT_USE_ANDROID_MODERN_BUNDLE only in one
# We check QT_USE_TARGET_ANDROID_BUILD_DIR and QT_ANDROID_GRADLE_MULTI_MODULE only in one
# configuration, to ensure builds without this option work too.
'COMMON_TARGET_TEST_CMAKE_ARGS=-DQT_USE_TARGET_ANDROID_BUILD_DIR=ON -DQT_USE_ANDROID_MODERN_BUNDLE=ON',
'COMMON_TARGET_TEST_CMAKE_ARGS=-DQT_USE_TARGET_ANDROID_BUILD_DIR=ON -DQT_ANDROID_GRADLE_MULTI_MODULE=ON',
'ANDROID_NDK_ROOT={{.Env.ANDROID_NDK_ROOT_LATEST}}',
'ANDROID_EMULATOR=emulator_x86_64_api_36'
]
@@ -82,9 +82,9 @@ Configurations:
'TARGET_CONFIGURE_ARGS=-nomake examples -release -force-debug-info -qpa android;offscreen -android-ndk {{.Env.ANDROID_NDK_ROOT_LATEST}} -android-sdk {{.Env.ANDROID_SDK_ROOT}} -android-abis x86_64',
'TARGET_CMAKE_ARGS=-DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME_LATEST}} -DQT_GENERATE_WRAPPER_SCRIPTS_FOR_ALL_HOSTS=ON',
'NON_QTBASE_TARGET_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_ANDROID_X86_64_NDK_LATEST}} -DQT_DEPLOY_FFMPEG=TRUE -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include',
# We check QT_USE_TARGET_ANDROID_BUILD_DIR and QT_USE_ANDROID_MODERN_BUNDLE only in one
# We check QT_USE_TARGET_ANDROID_BUILD_DIR and QT_ANDROID_GRADLE_MULTI_MODULE only in one
# configuration, to ensure builds without this option work too.
'COMMON_TARGET_TEST_CMAKE_ARGS=-DQT_USE_TARGET_ANDROID_BUILD_DIR=ON -DQT_USE_ANDROID_MODERN_BUNDLE=ON',
'COMMON_TARGET_TEST_CMAKE_ARGS=-DQT_USE_TARGET_ANDROID_BUILD_DIR=ON -DQT_ANDROID_GRADLE_MULTI_MODULE=ON',
'ANDROID_NDK_ROOT={{.Env.ANDROID_NDK_ROOT_LATEST}}',
'ANDROID_EMULATOR=emulator_x86_64_api_37'
]
@@ -0,0 +1,82 @@
Version: 2
Configurations:
-
Id: 'harmonyos-23-arm64-on-linux'
Template: 'qtci-linux-Ubuntu-24.04-x86_64-50'
Target os: 'HarmonyOS_ANY'
Target arch: 'arm64'
Compiler: 'Clang'
Target compiler: 'Clang'
Platform dependency: 'ubuntu-24.04-x64'
Features: ['Sccache', 'UseConfigure', 'DoNotRunTests', 'Packaging', 'GenerateSBOM', 'VerifySBOM']
Environment variables: [
'TARGET_CONFIGURE_ARGS=-release -nomake examples -no-dbus -no-use-gold-linker -no-pch -openssl-runtime',
'TARGET_CMAKE_ARGS=-DOHOS_SDK_ROOT={{.Env.HARMONYOS_SDK_ROOT_CURRENT}}/sdk/default/openharmony -DOHOS_ARCH=arm64-v8a -DWARNINGS_ARE_ERRORS=OFF -DQT_QMAKE_TARGET_MKSPEC=ohos-clang -DCMAKE_FIND_ROOT_PATH={{.Env.VCPKG_OHOS_INSTALLED}} -DQT_GENERATE_WRAPPER_SCRIPTS_FOR_ALL_HOSTS=ON',
'NON_QTBASE_TARGET_CMAKE_ARGS=-DCMAKE_FIND_ROOT_PATH={{.Env.VCPKG_OHOS_INSTALLED}}',
'COMMON_TARGET_TEST_CMAKE_ARGS=-DCMAKE_FIND_ROOT_PATH={{.Env.VCPKG_OHOS_INSTALLED}}',
'QT_HARMONYOS_HVIGOR={{.Env.HARMONYOS_SDK_ROOT_CURRENT}}/bin/hvigorw'
]
-
Id: 'harmonyos-23-arm64-on-linux-developer-build'
Template: 'qtci-linux-Ubuntu-24.04-x86_64-50'
Target os: 'HarmonyOS_ANY'
Target arch: 'arm64'
Compiler: 'Clang'
Target compiler: 'Clang'
Platform dependency: 'ubuntu-24.04-x64-developer-build'
Features: ['Sccache', 'UseConfigure', 'DoNotRunTests', 'StandaloneExamples']
Environment variables: [
'TARGET_CONFIGURE_ARGS=-developer-build -debug -make examples -no-dbus -no-use-gold-linker -no-pch -openssl-runtime',
'TARGET_CMAKE_ARGS=-DOHOS_SDK_ROOT={{.Env.HARMONYOS_SDK_ROOT_CURRENT}}/sdk/default/openharmony -DOHOS_ARCH=arm64-v8a -DWARNINGS_ARE_ERRORS=OFF -DQT_QMAKE_TARGET_MKSPEC=ohos-clang -DCMAKE_FIND_ROOT_PATH={{.Env.VCPKG_OHOS_INSTALLED}}',
'NON_QTBASE_TARGET_CMAKE_ARGS=-DCMAKE_FIND_ROOT_PATH={{.Env.VCPKG_OHOS_INSTALLED}}',
'COMMON_TARGET_TEST_CMAKE_ARGS=-DCMAKE_FIND_ROOT_PATH={{.Env.VCPKG_OHOS_INSTALLED}}',
'QT_HARMONYOS_HVIGOR={{.Env.HARMONYOS_SDK_ROOT_CURRENT}}/bin/hvigorw'
]
-
Id: 'harmonyos-26-arm64-on-linux'
Template: 'qtci-linux-Ubuntu-24.04-x86_64-50'
Target os: 'HarmonyOS_ANY'
Target arch: 'arm64'
Compiler: 'Clang'
Target compiler: 'Clang'
Platform dependency: 'ubuntu-24.04-x64'
Features: ['Sccache', 'UseConfigure', 'DoNotRunTests', 'Packaging', 'GenerateSBOM', 'VerifySBOM']
Environment variables: [
'TARGET_CONFIGURE_ARGS=-release -nomake examples -no-dbus -no-use-gold-linker -no-pch -openssl-runtime',
'TARGET_CMAKE_ARGS=-DOHOS_SDK_ROOT={{.Env.HARMONYOS_SDK_ROOT_NEXT}}/sdk/default/openharmony -DOHOS_ARCH=arm64-v8a -DWARNINGS_ARE_ERRORS=OFF -DQT_QMAKE_TARGET_MKSPEC=ohos-clang -DCMAKE_FIND_ROOT_PATH={{.Env.VCPKG_OHOS_INSTALLED}} -DQT_GENERATE_WRAPPER_SCRIPTS_FOR_ALL_HOSTS=ON',
'NON_QTBASE_TARGET_CMAKE_ARGS=-DCMAKE_FIND_ROOT_PATH={{.Env.VCPKG_OHOS_INSTALLED}}',
'COMMON_TARGET_TEST_CMAKE_ARGS=-DCMAKE_FIND_ROOT_PATH={{.Env.VCPKG_OHOS_INSTALLED}}',
'QT_HARMONYOS_HVIGOR={{.Env.HARMONYOS_SDK_ROOT_NEXT}}/bin/hvigorw'
]
-
Id: 'harmonyos-26-arm64-on-linux-developer-build'
Template: 'qtci-linux-Ubuntu-24.04-x86_64-50'
Target os: 'HarmonyOS_ANY'
Target arch: 'arm64'
Compiler: 'Clang'
Target compiler: 'Clang'
Platform dependency: 'ubuntu-24.04-x64-developer-build'
Features: ['Sccache', 'UseConfigure', 'DoNotRunTests', 'StandaloneExamples']
Environment variables: [
'TARGET_CONFIGURE_ARGS=-developer-build -debug -make examples -no-dbus -no-use-gold-linker -no-pch -openssl-runtime',
'TARGET_CMAKE_ARGS=-DOHOS_SDK_ROOT={{.Env.HARMONYOS_SDK_ROOT_NEXT}}/sdk/default/openharmony -DOHOS_ARCH=arm64-v8a -DWARNINGS_ARE_ERRORS=OFF -DQT_QMAKE_TARGET_MKSPEC=ohos-clang -DCMAKE_FIND_ROOT_PATH={{.Env.VCPKG_OHOS_INSTALLED}}',
'NON_QTBASE_TARGET_CMAKE_ARGS=-DCMAKE_FIND_ROOT_PATH={{.Env.VCPKG_OHOS_INSTALLED}}',
'COMMON_TARGET_TEST_CMAKE_ARGS=-DCMAKE_FIND_ROOT_PATH={{.Env.VCPKG_OHOS_INSTALLED}}',
'QT_HARMONYOS_HVIGOR={{.Env.HARMONYOS_SDK_ROOT_NEXT}}/bin/hvigorw'
]
-
Id: 'harmonyos-23-arm64-on-macos'
Template: 'qtci-macos-26-arm-105'
Target os: 'HarmonyOS_ANY'
Target arch: 'arm64'
Compiler: 'Clang'
Target compiler: 'Clang'
Platform dependency: 'macos-universal-on-arm64'
Features: ['Sccache', 'UseConfigure', 'DoNotRunTests', 'StandaloneExamples']
Environment variables: [
'TARGET_CONFIGURE_ARGS=-developer-build -debug -make examples -no-dbus -no-use-gold-linker -no-pch -openssl-runtime',
'TARGET_CMAKE_ARGS=-DOHOS_SDK_ROOT={{.Env.HARMONYOS_SDK_ROOT_CURRENT}}/sdk/default/openharmony -DOHOS_ARCH=arm64-v8a -DWARNINGS_ARE_ERRORS=OFF -DQT_QMAKE_TARGET_MKSPEC=ohos-clang -DCMAKE_FIND_ROOT_PATH={{.Env.VCPKG_OHOS_INSTALLED}}',
'NON_QTBASE_TARGET_CMAKE_ARGS=-DCMAKE_FIND_ROOT_PATH={{.Env.VCPKG_OHOS_INSTALLED}}',
'COMMON_TARGET_TEST_CMAKE_ARGS=-DCMAKE_FIND_ROOT_PATH={{.Env.VCPKG_OHOS_INSTALLED}}',
'QT_HARMONYOS_HVIGOR={{.Env.HARMONYOS_SDK_ROOT_CURRENT}}/bin/hvigorw'
]
@@ -2,19 +2,6 @@ Version: 2
Configurations:
-
Id: 'webassembly-linux-thread-asyncify'
Template: 'qtci-linux-openSUSE-15.6-x86_64-51'
Target os: 'WebAssembly'
Compiler: 'GCC'
Platform dependency: 'opensuse-15.6-developer-build'
Features: ['DoNotRunTests', 'UseConfigure']
Environment variables: [
'EM_CONFIG={{.Env.EMSDK}}/.emscripten',
"TARGET_CONFIGURE_ARGS=-release -platform wasm-emscripten -nomake examples -feature-thread \
-feature-exceptions -DQT_QMAKE_DEVICE_OPTIONS=\"QT_EMSCRIPTEN_ASYNCIFY=1\"",
'HEADLESS_CHROME_FOR_TESTING=true'
]
-
Id: 'webassembly-linux-thread-asyncify-new'
Template: 'qtci-linux-openSUSE-16.0-x86_64-51'
Target os: 'WebAssembly'
Compiler: 'GCC'
@@ -32,7 +19,7 @@ Configurations:
Target os: 'WebAssembly'
Compiler: 'Mingw'
Target compiler: 'Clang'
Platform dependency: 'windows-11_24h2-mingw13'
Platform dependency: 'windows-11_24h2-mingw15'
Features: ['Packaging','DisableTests', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM']
Environment variables: [
'Path={{.Env.EMSDK_PATH}};{{.Env.MINGW_PATH}}\bin;{{.Env.Path}}',
@@ -43,10 +30,10 @@ Configurations:
]
-
Id: 'webassembly-linux-thread'
Template: 'qtci-linux-openSUSE-15.6-x86_64-51'
Template: 'qtci-linux-openSUSE-16.0-x86_64-51'
Target os: 'WebAssembly'
Compiler: 'GCC'
Platform dependency: 'opensuse-15.6-developer-build'
Platform dependency: 'opensuse-16.0-developer-build'
Features: ['Packaging', 'DisableTests', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM']
Environment variables: [
'EM_CONFIG={{.Env.EMSDK}}/.emscripten',
@@ -54,34 +41,8 @@ Configurations:
'NON_QTBASE_TARGET_CMAKE_ARGS=-DQT_ADDITIONAL_HOST_PACKAGES_PREFIX_PATH=/usr/local -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include',
'TARGET_CMAKE_ARGS=-DQT_GENERATE_WRAPPER_SCRIPTS_FOR_ALL_HOSTS=ON'
]
-
Id: 'webassembly-linux-thread-new'
Template: 'qtci-linux-openSUSE-16.0-x86_64-51'
Target os: 'WebAssembly'
Compiler: 'GCC'
Platform dependency: 'opensuse-16.0-developer-build'
Features: ['DisableTests', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM']
Environment variables: [
'EM_CONFIG={{.Env.EMSDK}}/.emscripten',
'TARGET_CONFIGURE_ARGS=-release -platform wasm-emscripten -nomake examples -feature-thread',
'NON_QTBASE_TARGET_CMAKE_ARGS=-DQT_ADDITIONAL_HOST_PACKAGES_PREFIX_PATH=/usr/local -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include',
'TARGET_CMAKE_ARGS=-DQT_GENERATE_WRAPPER_SCRIPTS_FOR_ALL_HOSTS=ON'
]
-
Id: 'webassembly-linux-shared'
Template: 'qtci-linux-openSUSE-15.6-x86_64-51'
Target os: 'WebAssembly'
Compiler: 'GCC'
Platform dependency: 'opensuse-15.6-developer-build'
Features: ['DisableTests', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM']
Environment variables: [
'EM_CONFIG={{.Env.EMSDK}}/.emscripten',
'TARGET_CONFIGURE_ARGS=-release -platform wasm-emscripten -no-feature-thread -nomake tests -nomake examples -shared',
'NON_QTBASE_TARGET_CMAKE_ARGS=-DQT_ADDITIONAL_HOST_PACKAGES_PREFIX_PATH=/usr/local -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include',
'TARGET_CMAKE_ARGS=-DQT_GENERATE_WRAPPER_SCRIPTS_FOR_ALL_HOSTS=ON'
]
-
Id: 'webassembly-linux-shared-new'
Template: 'qtci-linux-openSUSE-16.0-x86_64-51'
Target os: 'WebAssembly'
Compiler: 'GCC'
-14
View File
@@ -1,14 +0,0 @@
Version: 2
Configurations:
-
Id: "ios-tests-on-macos"
Template: 'qtci-macos-14-arm-106'
Target os: 'IOS_ANY'
Target arch: 'arm64'
Compiler: 'Clang'
Target compiler: 'Clang'
Platform dependency: 'macos-universal-on-arm64'
Features: ['Sccache', 'DebugAndRelease', 'MinimalStaticTests', 'UseConfigure']
Environment variables: [
'TARGET_CONFIGURE_ARGS=-debug-and-release -nomake examples -platform macx-ios-clang'
]
+16 -22
View File
@@ -9,7 +9,7 @@ Configurations:
-
Id: 'macos-universal-on-arm64'
Template: 'qtci-macos-15-arm-105'
Template: 'qtci-macos-26-arm-105'
Compiler: 'Clang'
Target arch: 'x86_64-arm64'
Features: ['Sccache', 'Packaging', 'DoNotRunTests', 'WarningsAreErrors', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM']
@@ -17,18 +17,14 @@ Configurations:
Environment variables: [
'CMAKE_ARGS=-DCMAKE_OSX_ARCHITECTURES="x86_64;arm64" -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_DIR}}',
'NON_QTBASE_CMAKE_ARGS=-DFEATURE_gds=OFF -DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DQT_DEPLOY_FFMPEG=TRUE -DINPUT_headersclean=ON -DQT_FEATURE_open62541_security=OFF',
'VCPKG_HOST_TRIPLET=universal-osx-qt',
'VCPKG_TARGET_TRIPLET=universal-osx-qt',
]
# Test on all supported macOS versions (deployment targets)
# On x86_64
-
Id: 'macos-13-x86_64-tests'
Template: 'qtci-macos-13-x86_64-103'
Compiler: 'Clang'
Features: ['Sccache', 'TestOnly', 'Packaging']
Platform dependency: 'macos-universal-on-arm64'
-
Id: 'macos-14-x86_64-tests'
Template: 'qtci-macos-14-x86_64-106'
@@ -41,15 +37,15 @@ Configurations:
Compiler: 'Clang'
Features: ['Sccache', 'TestOnly', 'Packaging']
Platform dependency: 'macos-universal-on-arm64'
# And arm64
-
Id: 'macos-13-arm64-tests'
Template: 'qtci-macos-13-arm-108'
Id: 'macos-26-x86_64-tests'
Template: 'qtci-macos-26-x86_64-103'
Compiler: 'Clang'
Features: ['Sccache', 'TestOnly', 'Packaging']
Platform dependency: 'macos-universal-on-arm64'
# And arm64
-
Id: 'macos-14-arm64-tests'
Template: 'qtci-macos-14-arm-108'
@@ -77,13 +73,14 @@ Configurations:
-
Id: 'macos-x86_64-developer-build'
Template: 'qtci-macos-15-x86_64-103'
Template: 'qtci-macos-26-x86_64-103'
Compiler: 'Clang'
Features: ['Sccache', 'DoNotRunTests', 'WarningsAreErrors', 'UseConfigure', 'StandaloneExamples']
Configure arguments: '-developer-build -release -force-asserts -force-debug-info -no-pch -no-framework -qtnamespace TestNamespace -make examples'
Environment variables: [
'CMAKE_ARGS=-DOPENSSL_ROOT_DIR={{.Env.OPENSSL_DIR}}',
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DQT_DEPLOY_FFMPEG=TRUE',
'QTBASE_EXAMPLES_CMAKE_ARGS=-DQT_BUILD_EXAMPLES_AS_EXTERNAL=ON',
]
-
Id: 'macos-arm64-developer-build'
@@ -94,25 +91,23 @@ Configurations:
Environment variables: [
'CMAKE_ARGS=-DOPENSSL_ROOT_DIR={{.Env.OPENSSL_DIR}}',
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DQT_DEPLOY_FFMPEG=TRUE',
'VCPKG_HOST_TRIPLET=universal-osx-qt',
'VCPKG_TARGET_TRIPLET=universal-osx-qt',
]
-
Id: 'macos-26-arm64-developer-build'
Template: 'qtci-macos-26-arm-105'
Compiler: 'Clang'
Features: ['Sccache', 'DoNotRunTests', 'WarningsAreErrors', 'UseConfigure', 'Insignificant']
Features: ['Sccache', 'DoNotRunTests', 'WarningsAreErrors', 'UseConfigure']
Configure arguments: '-developer-build -nomake examples -debug -framework'
Environment variables: [
'CMAKE_ARGS=-DOPENSSL_ROOT_DIR={{.Env.OPENSSL_DIR}}',
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DQT_DEPLOY_FFMPEG=TRUE',
'VCPKG_HOST_TRIPLET=arm64-osx-qt',
'VCPKG_TARGET_TRIPLET=arm64-osx-qt',
]
# Test on all supported macOS versions (deployment targets)
-
Id: 'macos-13-arm64-developer-build-tests'
Template: 'qtci-macos-13-arm-108'
Compiler: 'Clang'
Features: ['TestOnly']
Platform dependency: 'macos-arm64-developer-build'
-
Id: 'macos-14-arm64-developer-build-tests'
Template: 'qtci-macos-14-arm-108'
@@ -129,6 +124,5 @@ Configurations:
Id: 'macos-26-arm64-developer-build-tests'
Template: 'qtci-macos-26-arm-105'
Compiler: 'Clang'
Features: ['TestOnly', 'InsignificantTests', 'DoNotAbortTestingOnFirstFailure']
Features: ['TestOnly']
Platform dependency: 'macos-26-arm64-developer-build'
Environment variables: [ 'COIN_CTEST_IGNORE_EXIT_CODE=1' ]
@@ -0,0 +1,8 @@
Version: 2
Module only: true
Include: [
cmake_platforms.yaml: [
"ubuntu-22.04"
]
]
Configurations: []
@@ -0,0 +1,4 @@
Version: 2
Module only: True
Include: [yocto.yaml]
Configurations: []
@@ -0,0 +1,4 @@
Version: 2
Module only: True
Include: [yocto.yaml]
Configurations: []
@@ -2,7 +2,7 @@ Version: 2
Include: [
cmake_platforms.yaml: [
'rhel-9.6',
'windows-11_24h2-mingw13'
'windows-11_24h2-mingw15'
],
cmake_platforms_target_android.yaml: [
'android-15-x86_64-on-linux',
@@ -2,7 +2,7 @@ Version: 2
Include: [
cmake_platforms.yaml: [
'rhel-9.6',
'windows-11_24h2-mingw13'
'windows-11_24h2-mingw15'
],
cmake_platforms_target_android.yaml: [
'android-15-x86_64-on-linux',
@@ -0,0 +1,11 @@
Version: 2
Include: [
cmake_platforms.yaml,
address_sanitizer_platforms.yaml,
offline_documentation.yaml
]
Configurations: []
Overrides:
-
Id: '.*'
+Features: ['BuildCMakeFromSources']
@@ -0,0 +1,15 @@
Version: 2
Module only: True
Include: [
cmake_platforms.yaml: [
"ubuntu-24.04-x64-developer-build"
],
cmake_platforms_target_harmonyos.yaml: [
"harmonyos-23-arm64-on-linux-developer-build"
]
]
Configurations: []
Overrides:
-
Id: 'harmonyos-23-arm64-on-linux-developer-build'
-Features: ['DoNotRunTests']
@@ -0,0 +1,15 @@
Version: 2
Module only: True
Include: [
cmake_platforms.yaml: [
"ubuntu-24.04-x64"
],
cmake_platforms_target_harmonyos.yaml: [
"harmonyos-23-arm64-on-linux"
]
]
Configurations: []
Overrides:
-
Id: 'harmonyos-23-arm64-on-linux'
-Features: ['DoNotRunTests']
@@ -0,0 +1,24 @@
Version: 2
Module only: True
Include: [
cmake_platforms.yaml: [
"ios-arm64-simulator"
]
]
Configurations:
-
Id: 'ios-26-simulator-tests'
Template: 'qtci-macos-26-arm-105'
Compiler: 'Clang'
Target os: 'IOS_ANY'
Target arch: 'arm64'
Platform dependency: 'ios-arm64-simulator'
Features: ['TestOnly', 'Insignificant', 'DoNotAbortTestingOnFirstFailure']
Environment variables: [
'APPLE_SIMULATOR_DEVICE_TYPE=com.apple.CoreSimulator.SimDeviceType.iPad-Pro-13-inch-M4-8GB',
]
Overrides:
-
Id: 'ios-arm64-simulator'
-Features: ['DisableTests']
+Features: ['DoNotRunTests']
@@ -1,7 +1,7 @@
Version: 2
Include: [
cmake_platforms.yaml: [
'windows-11_24h2-mingw13'
'windows-11_24h2-mingw15'
]
]
Configurations:
@@ -12,7 +12,7 @@ Configurations:
Target arch: 'arm64'
Compiler: 'Mingw'
Target compiler: 'QCC'
Platform dependency: 'windows-11_24h2-mingw13'
Platform dependency: 'windows-11_24h2-mingw15'
Features: ['DisableTests', 'UseConfigure']
Environment variables: [
'Path={{.Env.MINGW_PATH}}\bin;{{.Env.Path}}',
@@ -0,0 +1,16 @@
Version: 2
Module only: True
Configurations:
-
Id: 'ubuntu-22.04-baseline-tests'
Template: 'qtci-linux-Ubuntu-22.04-x86_64-51'
Compiler: 'GCC'
Features: ['Sccache', 'UseConfigure']
Configure arguments: '-developer-build -nomake examples'
Environment variables: [
'CMAKE_ARGS=-DFEATURE_test_auto=OFF -DFEATURE_test_baseline=ON -DOpenGL_GL_PREFERENCE=LEGACY',
'CTEST_DIR=tests/baseline',
'TESTARGS=-auto',
'QT_LANCELOT_SERVER=10.150.153.60'
]
@@ -0,0 +1,14 @@
Version: 2
Module only: True
Configurations:
-
Id: 'ubuntu-24.04-lcov'
Template: 'qtci-linux-Ubuntu-24.04-x86_64-51'
Compiler: 'GCC'
Features: ['Sccache', 'UseConfigure', 'lcov', 'VMSize8', 'DisableTests']
Configure arguments: '-developer-build -nomake examples -release -force-debug-info -separate-debug-info -headersclean -qt-libjpeg -qt-libpng -qt-pcre -qt-harfbuzz -qt-doubleconversion -no-libudev -bundled-xcb-xinput'
Environment variables: [
'CMAKE_ARGS=-DOpenGL_GL_PREFERENCE=LEGACY',
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DINPUT_headersclean=ON'
]
+12 -12
View File
@@ -4,11 +4,11 @@ Configurations:
Id: 'windows-11_24H2-msvc2022-unity-build'
Template: 'qtci-windows-11_24H2-x86_64-73'
Compiler: 'MSVC2022'
Features: ['Sccache', 'Debug', 'UseConfigure', 'DoNotRunTests']
Configure arguments: '-debug -force-debug-info -headersclean -make examples -qt-zlib'
Features: ['Sccache', 'UseConfigure', 'DoNotRunTests'] # note: we cannot build debug builds due to our llvm binaries
Configure arguments: '-force-debug-info -nomake examples -qt-zlib' # disabled example builds: qmake builds fail with C1041
Environment variables: [
'CMAKE_ARGS=-DFEATURE_msvc_obj_debug_info=ON -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x64}}\.. -DPostgreSQL_ROOT={{.Env.POSTGRESQL_LIB_x64}}\.. -DQT_UNITY_BUILD=ON',
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_MSVC}} -DQT_DEPLOY_FFMPEG=TRUE -DFEATURE_clangcpp=OFF -DINPUT_headersclean=ON',
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_MSVC}} -DQT_DEPLOY_FFMPEG=TRUE -DFEATURE_clangcpp=OFF',
'LLVM_INSTALL_DIR={{.Env.LLVM_INSTALL_DIR_msvc}}',
'Protobuf_ROOT={{.Env.Protobuf_ROOT_msvc}}',
]
@@ -17,41 +17,41 @@ Configurations:
Template: 'qtci-linux-RHEL-9.6-x86_64-51'
Compiler: 'GCC'
Features: ['Sccache', 'UseConfigure', 'InstallQt5Dependencies', 'DoNotRunTests']
Configure arguments: '-make examples -debug -force-debug-info -headersclean -separate-debug-info -qt-libjpeg -qt-libpng -qt-pcre -qt-harfbuzz -qt-doubleconversion -no-libudev -bundled-xcb-xinput'
Configure arguments: '-make examples -debug -force-debug-info -separate-debug-info -qt-libjpeg -qt-libpng -qt-pcre -qt-harfbuzz -qt-doubleconversion -no-libudev -bundled-xcb-xinput'
Environment variables: [
'CMAKE_ARGS=-DOpenGL_GL_PREFERENCE=LEGACY -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}} -DQT_UNITY_BUILD=ON',
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DQT_DEPLOY_FFMPEG=TRUE -DINPUT_headersclean=ON'
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DQT_DEPLOY_FFMPEG=TRUE'
]
-
Id: 'ubuntu-24.04-arm64-unity-build'
Template: 'qtci-linux-Ubuntu-24.04-aarch64-52'
Compiler: 'GCC'
Features: ['Sccache', 'UseConfigure', 'DoNotRunTests']
Configure arguments: '-make examples -debug -force-debug-info -separate-debug-info -headersclean -qt-libjpeg -qt-libpng -qt-pcre -qt-harfbuzz -qt-doubleconversion -no-libudev -bundled-xcb-xinput -qpa offscreen\;xcb'
Configure arguments: '-make examples -debug -force-debug-info -separate-debug-info -qt-libjpeg -qt-libpng -qt-pcre -qt-harfbuzz -qt-doubleconversion -no-libudev -bundled-xcb-xinput -qpa offscreen\;xcb'
Environment variables: [
'CMAKE_ARGS=-DOpenGL_GL_PREFERENCE=LEGACY -DQT_UNITY_BUILD=ON',
'COMMON_TEST_CMAKE_ARGS=-DQT_SKIP_DOCKER_COMPOSE=ON',
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DQT_DEPLOY_FFMPEG=TRUE -DINPUT_headersclean=ON'
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DQT_DEPLOY_FFMPEG=TRUE'
]
-
Id: 'ubuntu-24.04-x64-unity-build'
Template: 'qtci-linux-Ubuntu-24.04-x86_64-50'
Compiler: 'GCC'
Features: ['Sccache', 'UseConfigure', 'DoNotRunTests']
Configure arguments: '-make examples -debug -force-debug-info -separate-debug-info -headersclean -qt-libjpeg -qt-libpng -qt-pcre -qt-harfbuzz -qt-doubleconversion -no-libudev -bundled-xcb-xinput'
Configure arguments: '-make examples -debug -force-debug-info -separate-debug-info -qt-libjpeg -qt-libpng -qt-pcre -qt-harfbuzz -qt-doubleconversion -no-libudev -bundled-xcb-xinput'
Environment variables: [
'CMAKE_ARGS=-DOpenGL_GL_PREFERENCE=LEGACY -DQT_UNITY_BUILD=ON',
'COMMON_TEST_CMAKE_ARGS=-DQT_SKIP_DOCKER_COMPOSE=ON',
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DQT_DEPLOY_FFMPEG=TRUE -DINPUT_headersclean=ON'
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DQT_DEPLOY_FFMPEG=TRUE'
]
-
Id: 'macos-universal-on-arm64-unity-build'
Template: 'qtci-macos-14-arm-106'
Template: 'qtci-macos-15-arm-105'
Compiler: 'Clang'
Target arch: 'x86_64-arm64'
Features: ['Sccache', 'DoNotRunTests', 'WarningsAreErrors', 'UseConfigure']
Configure arguments: '-make examples -debug -force-debug-info -separate-debug-info -headersclean -framework'
Configure arguments: '-make examples -debug -force-debug-info -separate-debug-info -framework'
Environment variables: [
'CMAKE_ARGS=-DCMAKE_OSX_ARCHITECTURES="x86_64;arm64"',
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DQT_DEPLOY_FFMPEG=TRUE -DINPUT_headersclean=ON -DQT_UNITY_BUILD=ON',
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DQT_DEPLOY_FFMPEG=TRUE -DQT_UNITY_BUILD=ON',
]
+2 -2
View File
@@ -3,7 +3,7 @@ Configurations: []
Include: [
cmake_platforms.yaml: [
'windows-11_24H2-msvc2022-developer-build',
'windows-11_24H2-mingw13-developer-build',
'windows-11_24H2-mingw15-developer-build',
'windows-11_24H2-llvm'
]
]
@@ -13,7 +13,7 @@ Overrides:
Id: 'windows-11_24H2-msvc2022-developer-build'
Configure arguments: '-qtnamespace TestNamespace -debug-and-release -force-asserts -make examples -developer-build -force-debug-info -qt-zlib -c++std c++20'
-
Id: 'windows-11_24H2-mingw13-developer-build'
Id: 'windows-11_24H2-mingw15-developer-build'
Configure arguments: '-qtnamespace TestNamespace -developer-build -release -force-asserts -force-debug-info -separate-debug-info -make examples'
-
Id: 'windows-11_24H2-llvm'
+2 -1
View File
@@ -5,8 +5,9 @@ Include: [
"ubuntu-22.04",
"ubuntu-22.04-developer-build",
"ubuntu-22.04-developer-build-x11-tests",
"ubuntu-24.04-x64",
"windows-11_24H2-msvc2022-developer-build",
"ios-universal",
"ios-device",
"documentation-warnings",
],
macos.yaml: [
@@ -0,0 +1,11 @@
Version: 2
Module only: true
Include: [
cmake_platforms.yaml: [
'windows-11_24H2-msvc2022'
],
macos.yaml: [
'macos-universal-on-arm64'
]
]
Configurations: []
-1
View File
@@ -3,7 +3,6 @@ Include: [
cmake_platforms.yaml,
cmake_platforms_static_tests.yaml,
integrity.yaml,
ios-tests.yaml,
address_sanitizer_platforms.yaml,
linux_android_tests_multi_abi.yaml,
wasm_qtbase_tests.yaml,
@@ -0,0 +1,13 @@
Version: 2
Include: [
quick-bridges.yaml: [
"windows-quick-bridges"
]
]
Configurations:
-
Id: 'windows-quick-bridges-csharp'
Template: 'qtci-windows-11_24H2-x86_64-73'
Compiler: 'MSVC2022'
Platform dependency: 'windows-quick-bridges'
Features: ['Packaging', 'Sccache', "DebugAndRelease", 'UseConfigure', 'DisableTests', 'RunAsPlatformDependency', 'QtBridgesCsharp']
+46
View File
@@ -0,0 +1,46 @@
Version: 2
Include: [
quick-bridges.yaml: [
"macos-quick-bridges",
"linux-quick-bridges",
"windows-quick-bridges"
]
]
Configurations:
-
Id: 'windows-quick-bridges-java'
Template: 'qtci-windows-11_24H2-x86_64-73'
Compiler: 'MSVC2022'
Platform dependency: 'windows-quick-bridges'
Features: ['Packaging', 'Sccache', 'UseConfigure', 'DisableTests', 'RunAsPlatformDependency', 'QtBridgesJava']
-
Id: 'windows-on-arm-quick-bridges-java'
Template: 'qtci-windows-11_23H2-aarch64-53'
Compiler: 'MSVC2022'
Features: ['Packaging', 'Sccache', 'UseConfigure', 'DisableTests', 'QtBridgesJava']
-
Id: 'linux-quick-bridges-java'
Template: 'qtci-linux-Ubuntu-24.04-x86_64-54'
Compiler: 'GCC'
Platform dependency: 'linux-quick-bridges'
Features: ['Packaging', 'Sccache', 'UseConfigure', 'DisableTests', 'RunAsPlatformDependency', 'RunAsPlatformDependency', 'QtBridgesJava']
-
Id: 'linux-on-arm-quick-bridges-java'
Template: 'qtci-linux-Ubuntu-24.04-aarch64-52'
Compiler: 'GCC'
Features: ['Packaging', 'Sccache', 'UseConfigure', 'DisableTests', 'QtBridgesJava']
Environment variables: [
'CMAKE_ARGS=-DOpenGL_GL_PREFERENCE=LEGACY',
]
-
Id: 'macos-quick-bridges-universal-java'
Template: 'qtci-macos-15-arm-105'
Compiler: 'Clang'
Features: ['Packaging', 'Sccache', 'UseConfigure', 'DisableTests', 'QtBridgesJava']
Environment variables: [
'CMAKE_ARGS=-DCMAKE_OSX_ARCHITECTURES="x86_64;arm64"',
]
@@ -0,0 +1,37 @@
Version: 2
Include: [
quick-bridges.yaml: [
"macos-quick-bridges",
"windows-quick-bridges"
],
cmake_platforms.yaml: [
"rhel-9.6"
]
]
Configurations:
-
Id: 'windows-quick-bridges-python'
Template: 'qtci-windows-11_24H2-x86_64-73'
Compiler: 'MSVC2022'
Platform dependency: 'windows-quick-bridges'
Features: ['Packaging', 'Sccache', 'UseConfigure', 'DisableTests', 'RunAsPlatformDependency', 'QtBridgesPython']
-
Id: 'linux-quick-bridges-python'
Template: 'qtci-linux-RHEL-9.6-x86_64-51'
Compiler: 'GCC'
Platform dependency: 'rhel-9.6'
Features: ['Packaging', 'Sccache', 'UseConfigure', 'DisableTests', 'RunAsPlatformDependency', 'QtBridgesPython']
-
Id: 'macos-quick-bridges-python'
Template: 'qtci-macos-15-arm-105'
Compiler: 'Clang'
Platform dependency: 'macos-quick-bridges'
Features: ['Packaging', 'Sccache', 'UseConfigure', 'DisableTests', 'RunAsPlatformDependency', 'QtBridgesPython']
-
Id: 'windows-on-arm-quick-bridges-python'
Template: 'qtci-windows-11_23H2-aarch64-53'
Compiler: 'MSVC2022'
Features: ['Packaging', 'Sccache', 'UseConfigure', 'DisableTests', 'QtBridgesPython']
+29
View File
@@ -0,0 +1,29 @@
Version: 2
Include: [
quick-bridges.yaml: [
"linux-quick-bridges",
"macos-quick-bridges",
"windows-quick-bridges"
]
]
Configurations:
-
Id: 'windows-quick-bridges-rust'
Template: 'qtci-windows-11_24H2-x86_64-73'
Compiler: 'MSVC2022'
Platform dependency: 'windows-quick-bridges'
Features: ['Packaging', 'Sccache', 'UseConfigure', 'DisableTests', 'RunAsPlatformDependency', 'QtBridgesRust']
-
Id: 'linux-quick-bridges-rust'
Template: 'qtci-linux-Ubuntu-24.04-x86_64-54'
Compiler: 'GCC'
Platform dependency: 'linux-quick-bridges'
Features: ['Packaging', 'Sccache', 'UseConfigure', 'DisableTests', 'RunAsPlatformDependency', 'RunAsPlatformDependency', 'QtBridgesRust']
-
Id: 'macos-quick-bridges-rust'
Template: 'qtci-macos-15-arm-105'
Compiler: 'Clang'
Platform dependency: 'macos-quick-bridges'
Features: ['Packaging', 'Sccache', 'UseConfigure', 'DisableTests', 'RunAsPlatformDependency', 'QtBridgesRust']
+28
View File
@@ -0,0 +1,28 @@
Version: 2
Include: [
quick-bridges.yaml: [
"macos-quick-bridges",
"linux-quick-bridges",
"windows-quick-bridges"
]
]
Configurations:
-
Id: 'windows-quick-bridges-swift'
Template: 'qtci-windows-11_24H2-x86_64-73'
Compiler: 'MSVC2022'
Platform dependency: 'windows-quick-bridges'
Features: ['Packaging', 'Sccache', 'UseConfigure', 'DisableTests', 'RunAsPlatformDependency', 'QtBridgesSwift']
-
Id: 'macos-quick-bridges-swift'
Template: 'qtci-macos-15-arm-105'
Compiler: 'Clang'
Platform dependency: 'macos-quick-bridges'
Features: ['Packaging', 'Sccache', 'UseConfigure', 'DisableTests', 'RunAsPlatformDependency', 'QtBridgesSwift']
-
Id: 'linux-quick-bridges-swift'
Template: 'qtci-linux-Ubuntu-24.04-x86_64-54'
Compiler: 'GCC'
Platform dependency: 'linux-quick-bridges'
Features: ['Packaging', 'Sccache', 'UseConfigure', 'DisableTests', 'RunAsPlatformDependency', 'QtBridgesSwift']
@@ -10,13 +10,6 @@ Include: [
]
]
Configurations:
-
Id: 'windows-quick-bridges-dotnet'
Template: 'qtci-windows-11_24H2-x86_64-73'
Compiler: 'MSVC2022'
Platform dependency: 'windows-quick-bridges'
Features: ['Packaging', 'Sccache', "DebugAndRelease", 'UseConfigure', 'DisableTests', 'RunAsPlatformDependency', 'QtBridgesDotnet']
-
Id: 'windows-quick-bridges-rust'
Template: 'qtci-windows-11_24H2-x86_64-73'
@@ -47,35 +40,35 @@ Configurations:
-
Id: 'linux-quick-bridges-java'
Template: 'qtci-linux-Ubuntu-24.04-x86_64-51'
Template: 'qtci-linux-Ubuntu-24.04-x86_64-54'
Compiler: 'GCC'
Platform dependency: 'linux-quick-bridges'
Features: ['Packaging', 'Sccache', 'UseConfigure', 'DisableTests', 'RunAsPlatformDependency', 'RunAsPlatformDependency', 'QtBridgesJava']
-
Id: 'linux-quick-bridges-rust'
Template: 'qtci-linux-Ubuntu-24.04-x86_64-51'
Template: 'qtci-linux-Ubuntu-24.04-x86_64-54'
Compiler: 'GCC'
Platform dependency: 'linux-quick-bridges'
Features: ['Packaging', 'Sccache', 'UseConfigure', 'DisableTests', 'RunAsPlatformDependency', 'RunAsPlatformDependency', 'QtBridgesRust']
-
Id: 'macos-quick-bridges-java'
Template: 'qtci-macos-15-arm-105'
Template: 'qtci-macos-15-arm-104'
Compiler: 'Clang'
Platform dependency: 'macos-quick-bridges'
Features: ['Packaging', 'Sccache', 'UseConfigure', 'DisableTests', 'RunAsPlatformDependency', 'QtBridgesJava']
-
Id: 'macos-quick-bridges-python'
Template: 'qtci-macos-15-arm-105'
Template: 'qtci-macos-15-arm-104'
Compiler: 'Clang'
Platform dependency: 'macos-quick-bridges'
Features: ['Packaging', 'Sccache', 'UseConfigure', 'DisableTests', 'RunAsPlatformDependency', 'QtBridgesPython']
-
Id: 'macos-quick-bridges-swift'
Template: 'qtci-macos-15-arm-105'
Template: 'qtci-macos-15-arm-104'
Compiler: 'Clang'
Platform dependency: 'macos-quick-bridges'
Features: ['Packaging', 'Sccache', 'UseConfigure', 'DisableTests', 'RunAsPlatformDependency', 'QtBridgesSwift']
-1
View File
@@ -2,7 +2,6 @@ Version: 2
Include: [
cmake_platforms.yaml,
integrity.yaml,
ios-tests.yaml,
address_sanitizer_platforms.yaml,
wasm_qtdeclarative_tests.yaml,
cmake_platforms_static_tests.yaml,
+2 -2
View File
@@ -5,10 +5,10 @@ Configurations:
Id: 'qtgp-on-linux-rhel_9_6'
Template: 'qtci-linux-RHEL-9.6-x86_64-51'
Compiler: 'GCC'
Features: ['TestOnly']
Features: ['Packaging', 'UseConfigure']
-
Id: 'qtgp-on-macos'
Template: 'qtci-macos-14-arm-106'
Template: 'qtci-macos-15-arm-105'
Compiler: 'Clang'
Features: ['TestOnly']
-
+6
View File
@@ -0,0 +1,6 @@
Version: 2
Include: [
cmake_platforms.yaml,
address_sanitizer_platforms.yaml
]
Configurations: []
@@ -1,20 +1,19 @@
Version: 2
Include: [
macos.yaml: [
"macos-universal-on-arm64",
"macos-13-x86_64-tests"
"macos-universal-on-arm64"
],
cmake_platforms.yaml: [
"ubuntu-22.04",
"ubuntu-22.04-developer-build",
"ubuntu-24.04-arm64",
"opensuse-15.6-developer-build",
"ubuntu-24.04-x64",
"opensuse-16.0-developer-build",
"sles-15_sp6-static",
"windows-10_22h2-msvc2022",
"rhel-9.6",
"windows-11_24h2-mingw13",
"windows-11_24H2-mingw13-developer-build",
"windows-11_24h2-mingw15",
"windows-11_24H2-mingw15-developer-build",
"windows-11_24H2-llvm",
"windows-11_24H2-msvc2022",
"windows-11_23h2-arm64-msvc2022"
@@ -35,12 +34,6 @@ Include: [
offline_documentation.yaml
]
Configurations:
-
Id: 'macos-13-arm64-tests'
Template: 'qtci-macos-13-arm-107'
Compiler: 'Clang'
Features: ['TestOnly']
Platform dependency: 'macos-universal-on-arm64'
-
Id: 'Axivion-QEMU_build'
Template: 'qtci-linux-Ubuntu-22.04-x86_64-51'
+4 -5
View File
@@ -9,13 +9,12 @@ Include: [
"ubuntu-22.04",
"ubuntu-22.04-developer-build",
"ubuntu-24.04-arm64",
"opensuse-15.6-developer-build",
"opensuse-16.0-developer-build",
"sles-15_sp6-static",
"windows-10_22h2-msvc2022",
"rhel-9.6",
"windows-11_24h2-mingw13",
"windows-11_24H2-mingw13-developer-build",
"windows-11_24h2-mingw15",
"windows-11_24H2-mingw15-developer-build",
"windows-11_24H2-llvm",
"windows-11_24H2-msvc2022",
"windows-11_23h2-arm64-msvc2022"
@@ -30,8 +29,8 @@ Include: [
# Static build configurations for tools
Configurations:
-
Id: 'macos-14-latest-xcode-universal_Static'
Template: 'qtci-macos-14-arm-106'
Id: 'macos-latest-xcode-universal_Static'
Template: 'qtci-macos-15-arm-105'
Compiler: 'Clang'
Target arch: 'x86_64-arm64'
Features: ['Packaging', 'Sccache', 'UseConfigure', 'MinimalStaticTests']
+2 -1
View File
@@ -1,6 +1,7 @@
Version: 2
Include: [
cmake_platforms.yaml,
address_sanitizer_platforms.yaml
address_sanitizer_platforms.yaml,
offline_documentation.yaml
]
Configurations: []
@@ -0,0 +1,9 @@
Version: 2
Include: [
cmake_platforms.yaml: [
'rhel-9.6',
'ubuntu-24.04-arm64',
'ubuntu-24.04-x64-developer-build'
]
]
Configurations: []
+3 -4
View File
@@ -13,7 +13,6 @@ Configurations:
-separate-debug-info
-optimize-size
-shared
-disable-deprecated-up-to 0x070000
-no-feature-widgets
-no-feature-sql
-no-feature-printsupport
@@ -35,7 +34,6 @@ Configurations:
-separate-debug-info
-optimize-size
-shared
-disable-deprecated-up-to 0x070000
-no-feature-widgets
-no-feature-sql
-no-feature-printsupport
@@ -43,7 +41,9 @@ Configurations:
-no-feature-vnc
-no-feature-picture
-no-feature-pdf
Environment variables: []
Environment variables: [
'CMAKE_ARGS=-DOpenGL_GL_PREFERENCE=LEGACY',
]
-
Id: 'windows-quick-bridges'
Template: 'qtci-windows-11_24H2-x86_64-73'
@@ -56,7 +56,6 @@ Configurations:
-force-debug-info
-optimize-size
-shared
-disable-deprecated-up-to 0x070000
-no-feature-widgets
-no-feature-sql
-no-feature-printsupport
+2 -138
View File
@@ -4,7 +4,6 @@ Include: [
"macos-universal-on-arm64",
],
cmake_platforms.yaml: [
"opensuse-15.6-developer-build",
"opensuse-16.0-developer-build",
]
]
@@ -426,7 +425,7 @@ Configurations:
]
-
Id: 'android-quick-minimal'
Template: 'qtci-macos-14-arm-106'
Template: 'qtci-macos-15-arm-105'
Target os: 'Android_ANY'
Target arch: 'arm64'
Compiler: 'Clang'
@@ -562,141 +561,6 @@ Configurations:
]
-
Id: 'wasm-quick-minimal'
Template: 'qtci-linux-openSUSE-15.6-x86_64-51'
Target os: 'WebAssembly'
Compiler: 'GCC'
Platform dependency: 'opensuse-15.6-developer-build'
Features: ['Sccache', 'UseConfigure', 'DisableTests', 'Insignificant']
Environment variables: [
'EM_CONFIG={{.Env.EMSDK}}/.emscripten',
'TARGET_CMAKE_ARGS=
-DCMAKE_CXX_FLAGS="-flto"
-DCMAKE_EXE_LINKER_FLAGS="-flto"',
'TARGET_CONFIGURE_ARGS=
-release
-platform wasm-emscripten
-nomake examples
-nomake tests
-feature-thread
-optimize-size
-static
-ltcg
-feature-c++20
-disable-deprecated-up-to 0x070000
-no-feature-sql
-no-feature-xml
-no-feature-printsupport
-no-feature-dbus
-no-feature-vnc
-no-feature-future
-no-feature-concurrent
-no-feature-process
-no-feature-processenvironment
-no-feature-multiprocess
-no-feature-sharedmemory
-no-feature-permissions
-no-feature-udpsocket
-no-feature-localserver
-no-feature-picture
-no-feature-pdf
-no-feature-accessibility
-no-feature-clipboard
-no-feature-draganddrop
-no-feature-image_heuristic_mask
-no-feature-imageformat_bmp
-no-feature-imageformat_ppm
-no-feature-imageformat_xbm
-no-feature-cssparser
-no-feature-action
-no-feature-whatsthis
-no-feature-vkgen
-no-feature-backtrace
-no-feature-stack_clash_protection
-no-feature-mimetype
-no-feature-textmarkdownreader
-no-feature-textodfwriter
-no-feature-testlib
-no-feature-texthtmlparser
-no-feature-textmarkdownwriter
-no-feature-imageio-text-loading
-no-feature-image_text
-no-feature-proxymodel
-no-feature-filesystemmodel
-no-feature-wheelevent
-no-feature-tabletevent
-no-feature-icu
-no-feature-systemtrayicon
-no-feature-raster-64bit
-no-feature-raster-fp
-no-feature-undostack
-no-feature-undogroup
-no-feature-undocommand
-no-feature-sctp
-no-feature-dtls
-no-feature-networkproxy
-no-feature-getifaddrs
-no-feature-ipv6ifname
-no-feature-libresolv
-no-feature-libproxy
-no-feature-networkinterface
-no-feature-networkdiskcache
-no-feature-topleveldomain
-no-feature-gssapi
-no-feature-sha3-fast
-no-feature-systemsemaphore
-no-feature-gestures
-no-feature-jalalicalendar
-no-feature-hijricalendar
-no-feature-islamiccivilcalendar
-no-feature-timezone
-no-feature-timezone_tzdb
-no-feature-im
-no-feature-graphicsframecapture
-no-feature-library
-no-feature-filesystemwatcher
-no-feature-gif
-no-feature-ico
-no-feature-sessionmanager
-no-feature-emojisegmenter
-no-feature-egl
-no-feature-metal
-no-feature-vulkan
-no-feature-openvg
-no-feature-wasm-simd128
-no-feature-wasm-exceptions
-no-feature-wasm-jspi
-no-feature-harfbuzz',
'NON_QTBASE_CMAKE_ARGS=
-DFEATURE_qml_network=off
-DFEATURE_qml_ssl=off
-DFEATURE_qml_jit=off
-DFEATURE_qml_debug=off
-DFEATURE_qml_preview=off
-DFEATURE_qml_xml_http_request=off
-DFEATURE_qml_locale=off
-DFEATURE_qml_worker_script=off
-DFEATURE_qml_xmllistmodel=off
-DFEATURE_quick_canvas=off
-DFEATURE_quick_designer=off
-DFEATURE_quick_flipable=off
-DFEATURE_quick_gridview=off
-DFEATURE_quick_tableview=off
-DFEATURE_quick_treeview=off
-DFEATURE_quick_particles=off
-DFEATURE_quick_pathview=off
-DFEATURE_quick_sprite=off
-DFEATURE_quick_draganddrop=off
-DFEATURE_quick_pixmap_cache_threaded_download=off
-DFEATURE_qml_table_model=off
-DFEATURE_qml_tree_model=off
-DFEATURE_quicktemplates2_hover=off
-DFEATURE_quicktemplates2_multitouch=off
-DFEATURE_quicktemplates2_calendar=off
-DFEATURE_qdoc=off',
'TARGET_CMAKE_ARGS=-DQT_GENERATE_WRAPPER_SCRIPTS_FOR_ALL_HOSTS=ON'
]
-
Id: 'wasm-quick-minimal-new'
Template: 'qtci-linux-openSUSE-16.0-x86_64-51'
Target os: 'WebAssembly'
Compiler: 'GCC'
@@ -832,7 +696,7 @@ Configurations:
]
-
Id: 'ios-quick-minimal'
Template: 'qtci-macos-14-arm-106'
Template: 'qtci-macos-15-arm-105'
Target os: 'IOS_ANY'
Target arch: 'arm64'
Compiler: 'Clang'
@@ -3,7 +3,7 @@ Include: [
cmake_platforms.yaml: [
"documentation-warnings",
"rhel-9.6",
'windows-11_24h2-mingw13',
'windows-11_24h2-mingw15',
],
macos.yaml: [
'macos-universal-on-arm64'
@@ -0,0 +1,25 @@
Version: 2
Include: [
cmake_platforms.yaml: [
'ubuntu-22.04',
'ubuntu-22.04-x11-tests',
'ubuntu-24.04-x64',
'ubuntu-24.04-x64-x11-tests',
'rhel-9.6',
'rhel-10.0',
'windows-11_24H2-msvc2022',
'windows-11_24H2-msvc2026',
'windows-11_24h2-mingw15',
'windows-11_24H2-llvm'
],
macos.yaml: [
'macos-universal-on-arm64',
'macos-14-x86_64-tests',
'macos-15-x86_64-tests',
'macos-26-x86_64-tests',
'macos-14-arm64-tests',
'macos-15-arm64-tests',
'macos-26-arm64-tests'
]
]
Configurations: []
+25
View File
@@ -0,0 +1,25 @@
Version: 2
Include: [
cmake_platforms.yaml: [
'ubuntu-22.04',
'ubuntu-22.04-x11-tests',
'ubuntu-24.04-x64',
'ubuntu-24.04-x64-x11-tests',
'rhel-9.6',
'rhel-10.0',
'windows-11_24H2-msvc2022',
'windows-11_24H2-msvc2026',
'windows-11_24h2-mingw15',
'windows-11_24H2-llvm'
],
macos.yaml: [
'macos-universal-on-arm64',
'macos-14-x86_64-tests',
'macos-15-x86_64-tests',
'macos-26-x86_64-tests',
'macos-14-arm64-tests',
'macos-15-arm64-tests',
'macos-26-arm64-tests'
]
]
Configurations: []
+1 -8
View File
@@ -2,15 +2,8 @@ Version: 2
Configurations:
-
Id: 'webassembly-linux-thread-asyncify-tests'
Template: 'qtci-linux-openSUSE-15.6-x86_64-51'
Target os: 'WebAssembly'
Compiler: 'GCC'
Features: ['Sccache', 'TestOnly']
Platform dependency: 'webassembly-linux-thread-asyncify'
-
Id: 'webassembly-linux-thread-asyncify-tests-new'
Template: 'qtci-linux-openSUSE-16.0-x86_64-51'
Target os: 'WebAssembly'
Compiler: 'GCC'
Features: ['Sccache', 'TestOnly', 'InsignificantTests', 'DoNotAbortTestingOnFirstFailure']
Platform dependency: 'webassembly-linux-thread-asyncify-new'
Platform dependency: 'webassembly-linux-thread-asyncify'
@@ -2,15 +2,8 @@ Version: 2
Configurations:
-
Id: 'webassembly-linux-thread-asyncify-tests'
Template: 'qtci-linux-openSUSE-15.6-x86_64-51'
Target os: 'WebAssembly'
Compiler: 'GCC'
Features: ['Sccache', 'TestOnly']
Platform dependency: 'webassembly-linux-thread-asyncify'
-
Id: 'webassembly-linux-thread-asyncify-tests-new'
Template: 'qtci-linux-openSUSE-16.0-x86_64-51'
Target os: 'WebAssembly'
Compiler: 'GCC'
Features: ['Sccache', 'TestOnly']
Platform dependency: 'webassembly-linux-thread-asyncify-new'
Platform dependency: 'webassembly-linux-thread-asyncify'
@@ -0,0 +1,25 @@
#!/usr/bin/env bash
# Copyright (C) 2026 The Qt Company Ltd.
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
# Distribution-specific build settings.
# For another distro/version, copy the bundle and change these values first.
DISTRO_NAME="ubuntu"
DISTRO_VERSION="26.04"
ISO_PATH="/tmp/ubuntu-26.04-desktop-amd64.iso"
# ISO_CHECKSUM_FILE="/tmp/SHA256SUMS"
# Usually reusable without changes.
IMAGE_PREFIX="qtci-linux"
ARCH="x86_64"
MINIMAL_INDEX="50"
CUSTOM_INDEX="51"
DISK_SIZE="500G"
CPUS="8"
MEMORY_MB="16184"
SSH_USERNAME="qt"
SSH_PASSWORD="$(cat /tmp/PASS)"
PROJECT_DIR="/tmp/packer-linux"
ARTIFACT_DIR="/tmp/output-linux-images"
@@ -0,0 +1,111 @@
#!/usr/bin/env bash
# Copyright (C) 2026 The Qt Company Ltd.
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
set -euo pipefail
script_dir="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd)"
# shellcheck source=build-config.sh
source "${script_dir}/build-config.sh"
image_base_name="${IMAGE_PREFIX}-${DISTRO_NAME}-${DISTRO_VERSION}-${ARCH}"
image_50_name="${image_base_name}-${MINIMAL_INDEX}"
image_51_name="${image_base_name}-${CUSTOM_INDEX}"
image_50="${ARTIFACT_DIR}/${image_50_name}"
image_51="${ARTIFACT_DIR}/${image_51_name}"
image_51_seed="/tmp/${image_51_name}-seed.qcow2"
stage_50_output="/tmp/packer-output-${MINIMAL_INDEX}"
stage_51_output="/tmp/packer-output-${CUSTOM_INDEX}"
template="linux-image.pkr.hcl"
# Pass one source of configuration into Packer without duplicating distro and
# version literals in HCL or a second variable file.
export PKR_VAR_distro_name="$DISTRO_NAME"
export PKR_VAR_distro_version="$DISTRO_VERSION"
export PKR_VAR_image_prefix="$IMAGE_PREFIX"
export PKR_VAR_arch="$ARCH"
export PKR_VAR_minimal_index="$MINIMAL_INDEX"
export PKR_VAR_custom_index="$CUSTOM_INDEX"
export PKR_VAR_iso_path="$ISO_PATH"
# export PKR_VAR_iso_checksum_file="$ISO_CHECKSUM_FILE"
export PKR_VAR_project_dir="$PROJECT_DIR"
export PKR_VAR_artifact_dir="$ARTIFACT_DIR"
export PKR_VAR_disk_size="$DISK_SIZE"
export PKR_VAR_cpus="$CPUS"
export PKR_VAR_memory_mb="$MEMORY_MB"
export PKR_VAR_ssh_username="$SSH_USERNAME"
export PKR_VAR_ssh_password="$SSH_PASSWORD"
if [[ "$script_dir" != "$PROJECT_DIR" ]]; then
echo "ERROR: Bundle is at '$script_dir', but PROJECT_DIR is '$PROJECT_DIR'." >&2
echo "Move/extract it there or update PROJECT_DIR in build-config.sh." >&2
exit 1
fi
for required_file in $ISO_PATH; do
if [[ ! -f "$required_file" ]]; then
echo "ERROR: Required file is missing: $required_file" >&2
exit 1
fi
done
# Stage 51 is always regenerated. Stage 50 is retained
rm -rf "$stage_50_output" "$stage_51_output"
rm -f "$image_51" "$image_51_seed"
rm -f "${image_51}.sha256"
packer init "$template"
packer validate "$template"
if [[ -f "$image_50" ]]; then
echo "Stage ${MINIMAL_INDEX}: existing image found:"
echo " $image_50"
echo "Validating existing image before skipping the build..."
if ! qemu-img check "$image_50"; then
echo "ERROR: Existing stage-${MINIMAL_INDEX} image failed validation:" >&2
echo " $image_50" >&2
echo "The image was not deleted or overwritten." >&2
echo "Remove it manually" >&2
exit 1
fi
echo "Stage ${MINIMAL_INDEX}: image is valid, skipping Packer build."
sha256sum "$image_50" > "${image_50}.sha256"
else
echo "Stage ${MINIMAL_INDEX}: no existing image found, starting Packer."
PACKER_LOG=1 \
PACKER_LOG_PATH="/tmp/packer-stage-${MINIMAL_INDEX}.log" \
packer build -only=stage-50.qemu.stage_50 "$template"
qemu-img check "$image_50"
sha256sum "$image_50" > "${image_50}.sha256"
fi
echo "Creating independent stage-${CUSTOM_INDEX} seed..."
qemu-img convert -p -f qcow2 -O qcow2 "$image_50" "$image_51_seed"
qemu-img check "$image_51_seed"
PACKER_LOG=1 \
PACKER_LOG_PATH="/tmp/packer-stage-${CUSTOM_INDEX}.log" \
packer build -only=stage-51.qemu.stage_51 "$template"
qemu-img check "$image_51"
sha256sum "$image_51" > "${image_51}.sha256"
(
cd "$ARTIFACT_DIR"
sha256sum --check "$(basename "${image_50}.sha256")"
)
rm -f "$image_51_seed"
echo
echo "Created independent images:"
echo " $image_50"
echo " $image_51"
echo "Checksums:"
echo " ${image_50}.sha256"
echo " ${image_51}.sha256"
@@ -0,0 +1,2 @@
instance-id: qtci-ubuntu26-packer
local-hostname: qtci-ubuntu26-x64
@@ -0,0 +1,22 @@
#cloud-config
# This file is installer/distribution-specific. The generic HCL and wrapper can
# be reused, but replace this file for a distro that does not use autoinstall.
autoinstall:
version: 1
source:
id: ubuntu-desktop-minimal
locale: en_US.UTF-8
keyboard:
layout: us
timezone: UTC
identity:
hostname: qtci-ubuntu26-x64
username: qt
password: "$6$qtciubuntu2604$FAeHIUtg1iOarKFnnDZim5fWEJ6ZaaYXSc360m68XFTqurIBWNBxsmUDKj.8mGJkVDKlWjFdKZLfrqHYhuBH8/"
ssh:
install-server: true
allow-pw: true
storage:
layout:
name: direct
shutdown: reboot
@@ -0,0 +1,192 @@
packer {
required_version = ">= 1.14.0"
required_plugins {
qemu = {
version = "~> 1"
source = "github.com/hashicorp/qemu"
}
}
}
variable "distro_name" {
type = string
}
variable "distro_version" {
type = string
}
variable "image_prefix" {
type = string
}
variable "arch" {
type = string
}
variable "minimal_index" {
type = string
}
variable "custom_index" {
type = string
}
variable "iso_path" {
type = string
}
variable "project_dir" {
type = string
}
variable "artifact_dir" {
type = string
}
variable "disk_size" {
type = string
}
variable "cpus" {
type = number
}
variable "memory_mb" {
type = number
}
variable "ssh_username" {
type = string
}
variable "ssh_password" {
type = string
sensitive = true
}
locals {
image_base_name = "${var.image_prefix}-${var.distro_name}-${var.distro_version}-${var.arch}"
image_50_name = "${local.image_base_name}-${var.minimal_index}"
image_51_name = "${local.image_base_name}-${var.custom_index}"
image_50_path = "${var.artifact_dir}/${local.image_50_name}"
image_51_path = "${var.artifact_dir}/${local.image_51_name}"
image_51_seed = "/tmp/${local.image_51_name}-seed.qcow2"
stage_50_output = "/tmp/packer-output-${var.minimal_index}"
stage_51_output = "/tmp/packer-output-${var.custom_index}"
}
source "qemu" "stage_50" {
vm_name = local.image_50_name
output_directory = local.stage_50_output
iso_url = var.iso_path
iso_checksum = "none"
accelerator = "kvm"
qemu_binary = "qemu-system-x86_64"
format = "qcow2"
disk_size = var.disk_size
disk_interface = "virtio"
net_device = "virtio-net"
cpus = var.cpus
memory = var.memory_mb
communicator = "ssh"
ssh_username = var.ssh_username
ssh_password = var.ssh_password
ssh_timeout = "60m"
ssh_handshake_attempts = 100
http_directory = "${var.project_dir}/http"
boot_wait = "10s"
# This boot sequence is installer-family-specific. Replace it when adapting
# the bundle to a distro that does not use Ubuntu/Subiquity autoinstall.
boot_command = [
"c<wait>",
"linux /casper/vmlinuz autoinstall ds=nocloud-net\\;s=http://{{ .HTTPIP }}:{{ .HTTPPort }}/ ---<enter><wait>",
"initrd /casper/initrd<enter><wait>",
"boot<enter>"
]
headless = true
vnc_bind_address = "127.0.0.1"
shutdown_command = "echo '${var.ssh_password}' | sudo -S shutdown -P now"
}
source "qemu" "stage_51" {
vm_name = local.image_51_name
output_directory = local.stage_51_output
# build-images.sh creates this independent seed from immutable image -50.
iso_url = local.image_51_seed
iso_checksum = "none"
disk_image = true
accelerator = "kvm"
qemu_binary = "qemu-system-x86_64"
format = "qcow2"
disk_size = var.disk_size
disk_interface = "virtio"
net_device = "virtio-net"
cpus = var.cpus
memory = var.memory_mb
communicator = "ssh"
ssh_username = var.ssh_username
ssh_password = var.ssh_password
ssh_timeout = "30m"
ssh_handshake_attempts = 100
headless = true
vnc_bind_address = "127.0.0.1"
shutdown_command = "echo '${var.ssh_password}' | sudo -S shutdown -P now"
}
build {
name = "stage-50"
sources = ["source.qemu.stage_50"]
provisioner "shell" {
execute_command = "echo '${var.ssh_password}' | {{ .Vars }} sudo -S -E bash '{{ .Path }}'"
script = "${var.project_dir}/scripts/01-minimal-50.sh"
}
post-processor "shell-local" {
inline = [
"mkdir -p '${var.artifact_dir}'",
"rm -f '${local.image_50_path}'",
"mv '${local.stage_50_output}/${local.image_50_name}' '${local.image_50_path}'",
"qemu-img check '${local.image_50_path}'",
"qemu-img info '${local.image_50_path}'"
]
}
}
build {
name = "stage-51"
sources = ["source.qemu.stage_51"]
provisioner "shell" {
execute_command = "echo '${var.ssh_password}' | {{ .Vars }} sudo -S -E bash '{{ .Path }}'"
script = "${var.project_dir}/scripts/02-coin-configuration-51.sh"
}
provisioner "shell" {
execute_command = "echo '${var.ssh_password}' | {{ .Vars }} sudo -S -E bash '{{ .Path }}'"
script = "${var.project_dir}/scripts/03-gnome-configuration-51.sh"
}
provisioner "shell" {
execute_command = "echo '${var.ssh_password}' | {{ .Vars }} sudo -S -E bash '{{ .Path }}'"
script = "${var.project_dir}/scripts/04-no-overview-extension-51.sh"
}
provisioner "shell" {
execute_command = "echo '${var.ssh_password}' | {{ .Vars }} sudo -S -E bash '{{ .Path }}'"
script = "${var.project_dir}/scripts/05-check-configurations-51.sh"
}
post-processor "shell-local" {
inline = [
"mkdir -p '${var.artifact_dir}'",
"rm -f '${local.image_51_path}'",
"mv '${local.stage_51_output}/${local.image_51_name}' '${local.image_51_path}'",
"qemu-img check '${local.image_51_path}'",
"qemu-img info '${local.image_51_path}'"
]
}
}
@@ -0,0 +1,27 @@
#!/usr/bin/env bash
# Copyright (C) 2026 The Qt Company Ltd.
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
set -euo pipefail
# This script is run on the minimal -50 image
# Other scripts will be run on the -50 -> -51 cloned image
readonly CI_USER="${CI_USER:-qt}"
export DEBIAN_FRONTEND=noninteractive
# Debian/Ubuntu implementation. Replace this script with the distro's package
# manager commands when reusing the generic wrapper and HCL elsewhere.
apt-get update
apt-get -y full-upgrade
apt-get install -y qemu-guest-agent
systemctl enable qemu-guest-agent
dpkg-query -W -f='${binary:Package}\t${Version}\n' \
> /var/tmp/qtci-minimal-image-packages.txt
apt-get -y autoremove
apt-get clean
rm -rf /var/lib/apt/lists/*
qemu-ga --version
@@ -0,0 +1,169 @@
#!/usr/bin/env bash
# Copyright (C) 2026 The Qt Company Ltd.
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
set -euo pipefail
# Initial Coin configuration for the customized image (-51).
readonly CI_USER="${CI_USER:-qt}"
readonly GRUB_GFXMODE_VALUE="${GRUB_GFXMODE_VALUE:-1280x800}"
export DEBIAN_FRONTEND=noninteractive
log() {
printf '\n[51-coin-configuration] %s\n' "$*"
}
require_root() {
if [[ "${EUID}" -ne 0 ]]; then
echo "ERROR: This script must run as root." >&2
exit 1
fi
}
require_user() {
if ! id "$CI_USER" >/dev/null 2>&1; then
echo "ERROR: Required CI user does not exist: $CI_USER" >&2
exit 1
fi
}
require_root
require_user
log "Installing required base packages"
apt-get update
apt-get install -y \
openssh-server \
ufw
# Remove GNOME welcome window at boot
log "Removing gnome-initial-setup"
apt-get purge -y gnome-initial-setup
# No sudo PW
log "Configuring passwordless sudo for ${CI_USER}"
cat > "/etc/sudoers.d/${CI_USER}" <<EOF
${CI_USER} ALL=(ALL) NOPASSWD: ALL
EOF
chmod 0440 "/etc/sudoers.d/${CI_USER}"
visudo --check
# UTC
log "Setting the system timezone to UTC"
timedatectl set-timezone UTC
# Enable SSH
log "Enabling SSH"
# Current Ubuntu releases may use socket activation. Enabling both units is
# harmless and keeps the image compatible with service- and socket-based SSH.
systemctl enable ssh.service
systemctl enable ssh.socket 2>/dev/null || true
# Enable QEMU GA
log "Enabling QEMU guest agent"
systemctl enable qemu-guest-agent
# Disable firewall
log "Disabling UFW"
ufw --force disable
systemctl disable ufw.service 2>/dev/null || true
# Set resolution
log "Configuring GRUB graphics mode: ${GRUB_GFXMODE_VALUE}"
if grep -qE '^GRUB_GFXMODE=' /etc/default/grub; then
sed -i "s/^GRUB_GFXMODE=.*/GRUB_GFXMODE=${GRUB_GFXMODE_VALUE}/" /etc/default/grub
else
printf '\nGRUB_GFXMODE=%s\n' "$GRUB_GFXMODE_VALUE" >> /etc/default/grub
fi
update-grub
# Disable auto upgrade/update
log "Disabling periodic APT update checks"
cat > /etc/apt/apt.conf.d/99-qtci-no-periodic-updates << EOF
APT::Periodic "0";
APT::Periodic::Update-Package-Lists "0";
APT::Periodic::Download-Upgradeable-Packages "0";
APT::Periodic::AutocleanInterval "0";
APT::Periodic::Unattended-Upgrade "0";
EOF
sudo systemctl disable --now \
apt-daily.timer \
apt-daily-upgrade.timer
sudo systemctl mask \
apt-daily.service \
apt-daily-upgrade.service \
apt-daily.timer \
apt-daily-upgrade.timer
log "Disabling release-upgrade notifications"
if [[ -f /etc/update-manager/release-upgrades ]]; then
if grep -qE '^Prompt=' /etc/update-manager/release-upgrades; then
sed -i 's/^Prompt=.*/Prompt=never/' \
/etc/update-manager/release-upgrades
else
printf '\nPrompt=never\n' >> /etc/update-manager/release-upgrades
fi
fi
# GDM Auto login
log "Configuring GDM for ${CI_USER}"
if [[ -d /etc/gdm3 ]]; then
gdm_config="/etc/gdm3/custom.conf"
touch "$gdm_config"
if ! grep -qE '^\[daemon\]' "$gdm_config"; then
printf '\n[daemon]\n' >> "$gdm_config"
fi
sed -i \
'/^AutomaticLoginEnable=/d; /^AutomaticLogin=/d; /^InitialSetupEnable=/d' \
"$gdm_config"
sed -i \
"/^\[daemon\]/a InitialSetupEnable=False\nAutomaticLogin=${CI_USER}\nAutomaticLoginEnable=True" \
"$gdm_config"
else
log "GDM is not installed; skipping GDM configuration"
fi
# Run Coin-setup
log "Downloading and running coin-setup"
coin_setup_url="https://ci-files01-hki.ci.qt.io/input/linux/coin-setup-linux-amd64.zip"
coin_setup_zip="/tmp/coin-setup-linux-amd64.zip"
coin_setup_dir="/tmp/coin-setup-linux-amd64"
coin_setup_binary="${coin_setup_dir}/coin-setup"
rm -rf "$coin_setup_dir"
rm -f "$coin_setup_zip"
mkdir -p "$coin_setup_dir"
wget --quiet --output-document="$coin_setup_zip" "$coin_setup_url"
unzip -q "$coin_setup_zip" -d "$coin_setup_dir"
if [[ ! -f "$coin_setup_binary" ]]; then
echo "ERROR: coin-setup binary was not found at ${coin_setup_binary}" >&2
echo "Archive contents:" >&2
unzip -l "$coin_setup_zip" >&2
exit 1
fi
chmod 0755 "$coin_setup_binary"
sudo -H -u "$CI_USER" "$coin_setup_binary"
rm -rf "$coin_setup_dir"
rm -f "$coin_setup_zip"
log "coin-setup completed successfully"
# Clean apt
log "Cleaning APT metadata"
apt-get clean
rm -rf /var/lib/apt/lists/*
log "Configuration completed successfully"
echo "A reboot is required for all GRUB and login-manager changes to take effect."
@@ -0,0 +1,150 @@
#!/usr/bin/env bash
# Copyright (C) 2026 The Qt Company Ltd.
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
set -euo pipefail
readonly CI_USER="${CI_USER:-qt}"
log() {
printf '\n[gnome-configuration] %s\n' "$*"
}
if [[ "$EUID" -ne 0 ]]; then
echo "ERROR: This script must run as root." >&2
exit 1
fi
if ! id "$CI_USER" >/dev/null 2>&1; then
echo "ERROR: User does not exist: $CI_USER" >&2
exit 1
fi
ci_home="$(getent passwd "$CI_USER" | cut -d: -f6)"
if [[ -z "$ci_home" || ! -d "$ci_home" ]]; then
echo "ERROR: Cannot determine home directory for $CI_USER" >&2
exit 1
fi
log "Applying GNOME preferences for ${CI_USER}"
# GNOME preferences are stored per user in the dconf database. Packer runs this
# provisioner as root over SSH, without a graphical login or user D-Bus session.
# Run gsettings as the CI user inside a temporary D-Bus session so the values
# are written to the CI user's dconf database rather than root's configuration.
sudo -H -u "$CI_USER" HOME="$ci_home" dbus-run-session -- bash <<'GNOME_SETTINGS'
set -euo pipefail
schema_exists() {
local schema="$1"
gsettings list-schemas |
grep -Fx "$schema" >/dev/null
}
key_exists() {
local schema="$1"
local key="$2"
gsettings list-keys "$schema" |
grep -Fx "$key" >/dev/null
}
set_setting() {
local schema="$1"
local key="$2"
local value="$3"
if ! schema_exists "$schema"; then
echo "ERROR: Missing GSettings schema: $schema" >&2
exit 1
fi
if ! key_exists "$schema" "$key"; then
echo "ERROR: Missing GSettings key: $schema $key" >&2
exit 1
fi
echo "Setting: $schema $key = $value"
gsettings set "$schema" "$key" "$value"
actual="$(gsettings get "$schema" "$key")"
echo "Result: $schema $key = $actual"
}
set_setting \
org.gnome.desktop.notifications \
show-banners \
false
set_setting \
org.gnome.desktop.notifications \
show-in-lock-screen \
false
set_setting \
org.gnome.desktop.screensaver \
lock-enabled \
false
if key_exists \
org.gnome.desktop.screensaver \
ubuntu-lock-on-suspend; then
set_setting \
org.gnome.desktop.screensaver \
ubuntu-lock-on-suspend \
false
fi
set_setting \
org.gnome.desktop.privacy \
remember-recent-files \
false
rm -f "${XDG_DATA_HOME:-$HOME/.local/share}/recently-used.xbel"
set_setting \
org.gnome.desktop.session \
idle-delay \
'uint32 0'
set_setting \
org.gnome.settings-daemon.plugins.power \
sleep-inactive-ac-type \
"'nothing'"
set_setting \
org.gnome.settings-daemon.plugins.power \
sleep-inactive-battery-type \
"'nothing'"
set_setting \
org.gnome.settings-daemon.plugins.power \
sleep-inactive-ac-timeout \
0
set_setting \
org.gnome.settings-daemon.plugins.power \
sleep-inactive-battery-timeout \
0
set_setting \
org.gnome.shell.extensions.dash-to-dock \
dock-fixed \
true
set_setting \
org.gnome.shell.extensions.dash-to-dock \
autohide \
false
set_setting \
org.gnome.shell.extensions.dash-to-dock \
intellihide \
false
GNOME_SETTINGS
log "GNOME preferences applied successfully"
@@ -0,0 +1,46 @@
#!/usr/bin/env bash
# Copyright (C) 2026 The Qt Company Ltd.
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
set -euo pipefail
# Install no-overview gnome extension to prevent desktop overview at boot (QTBUG-132070)
readonly CI_USER="${CI_USER:-qt}"
readonly EXTENSION_UUID="no-overview@fthx"
readonly EXTENSION_URL="https://ci-files01-hki.ci.qt.io/input/linux/no-overviewfthx.v23.shell-extension.zip" # GNOME <50
readonly EXTENSION_ZIP="/tmp/${EXTENSION_UUID}.zip"
readonly EXTENSION_DIR="/usr/share/gnome-shell/extensions/${EXTENSION_UUID}"
if [[ "$EUID" -ne 0 ]]; then
echo "ERROR: This script must run as root." >&2
exit 1
fi
if ! id "$CI_USER" >/dev/null 2>&1; then
echo "ERROR: User does not exist: $CI_USER" >&2
exit 1
fi
ci_home="$(getent passwd "$CI_USER" | cut -d: -f6)"
echo "Installing No Overview GNOME extension"
wget --quiet --output-document="$EXTENSION_ZIP" "$EXTENSION_URL"
install -d -o root -g root -m 0755 "$EXTENSION_DIR"
unzip -q "$EXTENSION_ZIP" -d "$EXTENSION_DIR"
chown -R root:root "$EXTENSION_DIR"
find "$EXTENSION_DIR" -type d -exec chmod 0755 {} +
find "$EXTENSION_DIR" -type f -exec chmod 0644 {} +
# gnome-extensions writes the enabled state to the CI user's dconf database.
# Packer runs over SSH without a user session, so provide a temporary D-Bus.
sudo -H -u "$CI_USER" HOME="$ci_home" dbus-run-session -- gnome-extensions enable "$EXTENSION_UUID"
rm -f "$EXTENSION_ZIP"
echo "Installed and enabled: $EXTENSION_UUID"
echo "After a reboot, check with: gnome-extensions list --enabled"
@@ -0,0 +1,138 @@
#!/usr/bin/env bash
# Copyright (C) 2026 The Qt Company Ltd.
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
set -euo pipefail
failures=0
pass() {
printf 'PASS: %s\n' "$1"
}
fail() {
printf 'FAIL: %s\n' "$1"
failures=$((failures + 1))
}
echo "=== Image -51 verification ==="
# No PW prompt
if sudo -n true 2>/dev/null; then
pass "passwordless sudo"
else
fail "passwordless sudo"
fi
if sudo visudo --check >/dev/null 2>&1; then
pass "sudoers syntax"
else
fail "sudoers syntax"
fi
# Timezone
timezone="$(timedatectl show --property=Timezone --value)"
if [[ "$timezone" == "UTC" || "$timezone" == "Etc/UTC" ]]; then
pass "timezone is UTC"
else
fail "timezone is '$timezone', expected UTC"
fi
# SSH
if dpkg-query -W -f='${db:Status-Abbrev}' openssh-server 2>/dev/null | grep -q '^ii'; then
pass "openssh-server installed"
else
fail "openssh-server installed"
fi
if systemctl is-active --quiet ssh.socket || systemctl is-active --quiet ssh.service; then
pass "SSH listener active"
else
fail "SSH listener active"
fi
if sudo ss -ltn |
grep -qE 'LISTEN.+:22[[:space:]]'; then
pass "TCP port 22 listening"
else
fail "TCP port 22 listening"
fi
# QEMU GA
if dpkg-query -W -f='${db:Status-Abbrev}' qemu-guest-agent 2>/dev/null | grep -q '^ii'; then
pass "qemu-guest-agent installed"
else
fail "qemu-guest-agent installed"
fi
if systemctl is-enabled --quiet qemu-guest-agent; then
pass "qemu-guest-agent enabled"
else
fail "qemu-guest-agent enabled"
fi
# UFW
if sudo ufw status | grep -Fxq 'Status: inactive'; then
pass "UFW inactive"
else
fail "UFW inactive"
fi
# Resolution
if grep -Fxq 'GRUB_GFXMODE=1280x800' /etc/default/grub; then
pass "GRUB graphics mode"
else
fail "GRUB graphics mode"
fi
# Auto update/upgrade disabled
if apt-config dump | grep -i 'APT::Periodic \"0\";'; then
pass "APT periodic processing disabled"
else
apt-config dump | grep -i APT::Periodic
fail "APT periodic processing enabled"
fi
if apt-config dump | grep -i 'APT::Periodic::Unattended-Upgrade \"0\";'; then
pass "APT unattended upgrades disabled"
else
apt-config dump | grep -i APT::Periodic
fail "APT unattended upgrades enabled"
fi
if grep -Fxq 'Prompt=never' /etc/update-manager/release-upgrades; then
pass "release-upgrade notifications disabled"
else
fail "release-upgrade notifications enabled"
fi
# Auto login
if sudo grep -Fxq 'AutomaticLoginEnable=True' /etc/gdm3/custom.conf && sudo grep -Fxq 'AutomaticLogin=qt' /etc/gdm3/custom.conf; then
pass "GDM automatic login configured"
else
fail "GDM automatic login configured"
fi
# Broken packages
if [[ -z "$(sudo dpkg --audit)" ]]; then
pass "dpkg audit"
else
fail "dpkg audit"
fi
# GNOME initial setup executable removed
if [[ ! -x /usr/libexec/gnome-initial-setup ]]; then
pass "GNOME initial setup executable is absent"
else
fail "/usr/libexec/gnome-initial-setup exists. There might be a welcome window popup"
fi
# Summary
echo
if (( failures == 0 )); then
echo "All conf checks passed."
else
echo "${failures} check(s) failed."
# exit 1
fi
@@ -80,7 +80,9 @@
* Activate Windows
# Next
Install Visual Studio 2022 by following msvc2022.txt
Install Visual Studio
- Install individual components (see the msvc20xx.txt files)
- Open Visual Studio IDE -> Help -> About -> Check license status: Add 'ci_msvs' account to Visual Studio
Proceed to install pre-provisioning scripts manually to Tier1 image
* Copying scripts happens easiest via Remote Desktop
@@ -0,0 +1,67 @@
### Visual Studio 2026 Official release ###
This Visual Studio 2026 version 18.5.1 sets (Latest MSVC) version as: 19.50.35729.0
Installed Components:
.NET 10.0 Runtime (LTS)
.NET Framework 4.6.1 targeting pack
.NET Framework 4.7.2 targeting pack
.NET Framework 4.8 SDK
.NET Framework 4.8.1 SDK
.NET Framework 4.8.1 targeting pack
.NET Native
.NET Portable Library targeting pack
.NET SDK
.NET profiling tools
Razor Language Services
CLR data types for SQL Sever
Data sources for SQL Server support
SQL Server Command Line Utilities
SQL Server Data Tools
SQL Server Express 2019 LocalDB
SQL Server ODBC Driver
ClickOnce Publishing
Developer Analytics tools
NuGet package manager
Text Template Transformation
C++ Cmake tools for Windows
C++/CLI support (Latest MSVC)
MSBuild
MSVC Build Tools for ARM64/ARM64EC (Latest)
MSVC Build Tools for x64/x86 (Latest)
C++ ATL for ARM64/ARM64EC (Latest MSVC)
C++ ATL for x64/x86 (Latest MSVC)
C++ profiling tools
C++ core features
Windows Universal C Runtime
JavaScript diagnostics
JavaSript and TypeScript language support
TypeScript Server
Just-In-Time debugger
Image and 3D model editors
C# and Visual Basic Roslyn compilers
C# and Visual Basic
Windows 11 SDK (10.0.26100.7705) # Older Windows SDK versions were deleted
# NOTE! Work loads were added during installation!
############################################################
### Visual Studio 2026 build tools ###
Visual Studio 2026 build tools version 18.5.1 was installed manually using installer:
"https://aka.ms/vs/stable/vs_BuildTools.exe"
* Only default installation, no additional selections
############################################################
### Debugging tools ###
* Check that debugging tools are installed in Windows SDK
* Modify 'Windows Software Development Kit' from Add or remove programs
- Add feature 'Debugging Tools for Windows'
############################################################
@@ -116,7 +116,8 @@ Reboot
* Install R3 GlobalSign Root Certificate (QTQAINFRA-6473)
* Install Visual Studio
- Install msvc2022 (see the msvc2022.txt file)
- Install individual components (see the msvc20xx.txt file)
- Open Visual Studio: Add 'ci_msvs' account to Visual Studio
- Open Task Scheduler: Task Scheduler Library > Microsoft > VisualStudio > Updates > right-click: BackgroundDownload > disable
# VII part: Clear out extra processes and storage
@@ -0,0 +1,76 @@
### Visual Studio 2026 Official release ###
Visual Studio 2026 version 18.0.2 was installed manually using installer:
http://ci-files01-hki.ci.qt.io/input/windows/VisualStudioSetup_msvc2026_1450.exe
This VS installer 18.0.2 version sets (Latest MSVC) version as: 14.50
Installed Components:
.NET 10.0 Runtime (LTS)
.NET Framework 4.7.2 targeting pack
.NET Framework 4.8 SDK
.NET Framework 4.8.1 SDK
.NET Framework 4.8.1 targeting pack
.NET Native
.NET Portable Library targeting pack
.NET SDK
.NET profiling tools
Razor Language Services
CLR data types for SQL Sever
Connectivity and publishing tools
Data sources for SQL Server support
SQL Server Command Line Utilities
SQL Server Data Tools
SQL Server Express 2019 LocalDB
SQL Server ODBC Driver
ClickOnce Publishing
Developer Analytics tools
NuGet package manager
Text Template Transformation
C++ Cmake tools for Windows
C++/CLI support (Latest MSVC)
MSBuild
MSVC Build Tools for ARM64/ARM64EC (Latest)
MSVC Build Tools for x64/x86 (Latest)
C++ ATL for ARM64/ARM64EC (Latest MSVC)
C++ ATL for x64/x86 (Latest MSVC)
C++ profiling tools
C++ core features
Windows Universal C Runtime
JavaScript diagnostics
JavaSript and TypeScript language support
TypeScript Server
Just-In-Time debugger
Graphics debugger and GPU profiler for DirectX
Image and 3D model editors
C# and Visual Basic Roslyn compilers
C# and Visual Basic
Windows 11 SDK (10.0.26100.6901)
# NOTE! Work loads were added during installation!
############################################################
### Visual Studio 2026 build tools ###
Visual studio 2026 build tools version 18.0.2 was installed manually using installer:
"http://ci-files01-hki.ci.qt.io/input/windows/vs_BuildTools_msvc2026.exe"
* Only default installation, no additional selections
############################################################
### Debugging tools ###
* Check that debugging tools are installed in Windows SDK
* Modify 'Windows Software Development Kit' from Add or remove programs
- Add feature 'Debugging Tools for Windows'
############################################################
Visual Studio 2026 and build tools was later updated to 18.3.1 in VS installer.
This automatically updated components to:
- MSVC v14.50.35719
- Windows 11 SDK (10.0.26100.7705)
- .NET SDK (10.0.103)
@@ -1,10 +0,0 @@
*.iml
.gradle
.idea
/local.properties
.DS_Store
/build
/captures
.externalNativeBuild
.cxx
local.properties
@@ -1,25 +0,0 @@
# Android Gradle Project for COIN
This project is used to at provisioning time to do an Android Gradle build that
will download Gradle binaries and AGP dependencies, then they will be cached
allowing consecutive builds, i.e. at test runs to not redownload the Gradle
binaries which tend to run into network issues and thus improving the
reliability of the Android integrations on COIN.
The project is a basic empty views Android project that can be created by
Android Studio, it's Java based. Below is some extra details on relevant files
that might need updates in the future:
- settings.gradle: mainly sets the the project name
- under app/src/main/ res/layout/activity_main.xml and src/*/*.java: sets the
layout and logic of the app, this shouldn't need to be touched.
- AndroidManifest.xml / app/build.gradle: Sets project settings like target version.
- gradle/libs.versions.toml: This sets the version numbers of various dependencies.
- feature/: an on-demand dynamic feature module, it caches the
com.android.dynamic-feature plugin and the Play feature delivery library
used by the Feature Delivery tests.
- build.gradle: also declares org.qtproject.qt.gradleplugin to cache the Qt
Gradle Plugin used by Qt for Android Studio projects.
Other files required for the project build are gradle wrapper and scripts which
are fetched by android_linux.sh from qtbase.
@@ -1 +0,0 @@
/build
@@ -1,30 +0,0 @@
plugins {
alias(libs.plugins.androidApplication)
}
android {
namespace 'com.example.gradle_project'
compileSdk 36
defaultConfig {
applicationId "com.example.gradle_project"
minSdk 28
targetSdk 36
versionCode 1
versionName "1.0"
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_17
targetCompatibility JavaVersion.VERSION_17
}
dynamicFeatures = [':feature']
}
dependencies {
implementation libs.core
implementation libs.appcompat
implementation libs.material
implementation libs.play.feature.delivery
}
@@ -1,20 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">
<application
android:allowBackup="true"
android:label="gradle_project"
android:supportsRtl="true"
tools:targetApi="36">
<activity
android:name=".MainActivity"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
@@ -1,16 +0,0 @@
// Copyright (C) 2023 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
package com.example.gradle_project;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}
@@ -1,18 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
@@ -1,6 +0,0 @@
// Top-level build file where you can add configuration options common to all sub-projects/modules.
plugins {
alias(libs.plugins.androidApplication) apply false
alias(libs.plugins.androidDynamicFeature) apply false
alias(libs.plugins.qtGradlePlugin) apply false
}
@@ -1,7 +0,0 @@
package com.example.gradle_project.feature;
public class Feature {
public static String hello() {
return "hello";
}
}
@@ -1,22 +0,0 @@
[versions]
agp = "9.0.0"
core = "1.17.0"
appcompat = "1.7.1"
material = "1.13.0"
constraintlayout = "2.2.1"
play-feature-delivery = "2.1.0"
qt-gradle-plugin = "1.4"
[libraries]
core = { group = 'androidx.core', name = "core", version.ref = "core" }
appcompat = { group = "androidx.appcompat", name = "appcompat", version.ref = "appcompat" }
material = { group = "com.google.android.material", name = "material", version.ref = "material" }
constraintlayout = { group = "androidx.constraintlayout", name = "constraintlayout", version.ref = "constraintlayout" }
play-feature-delivery = { module = "com.google.android.play:feature-delivery", version.ref = "play-feature-delivery" }
[plugins]
androidApplication = { id = "com.android.application", version.ref = "agp" }
androidDynamicFeature = { id = "com.android.dynamic-feature", version.ref = "agp" }
qtGradlePlugin = { id = "org.qtproject.qt.gradleplugin", version.ref = "qt-gradle-plugin" }
[bundles]
+10 -25
View File
@@ -161,12 +161,13 @@ cd "$sdkTargetFolder/cmdline-tools/tools/bin"
./sdkmanager --install "emulator" --sdk_root="$sdkTargetFolder" \
| eval "$sdkmanager_no_progress_bar_cmd"
echo "Download and unzip Android Emulator version 35.2.10"
emulatorFileName="emulator-linux_x64-12414864.zip"
echo "Download and unzip Android Emulator version 36.6.11"
# See https://developer.android.com/studio/emulator_archive
emulatorFileName="emulator-linux_x64-15507667.zip"
emulatorCiUrl="https://ci-files01-hki.ci.qt.io/input/android/$emulatorFileName"
emulatorUrl="http://dl.google.com/android/repository/$emulatorFileName"
emulatorTargetFile="$sdkTargetFolder/$emulatorFileName"
emulatorSha1="41dd213d120f727d8c3840347d234b135793ba10"
emulatorSha1="f8d8b83cf21a04966326eb1378bacda255f63b93"
DownloadURL "$emulatorCiUrl" "$emulatorUrl" "$emulatorSha1" "$emulatorTargetFile"
echo "Unzipping the Android Emulator to '$sdkTargetFolder'"
sudo unzip -o -q "$emulatorTargetFile" -d "$sdkTargetFolder"
@@ -202,21 +203,21 @@ echo "Unzipping the Android 16 to $maxVersionDestination"
sudo unzip -o -q "$maxVersionFilePath" -d "$maxVersionDestination"
rm "$maxVersionFilePath"
echo "Download and unzip Android 17 Beta 3 16KB System Image"
insignificantMaxVersionFileName="x86_64-ps16k-37.0_r03.zip"
echo "Download and unzip Android 17 (16KB Page Size) System Image"
insignificantMaxVersionFileName="x86_64-ps16k-37.1_r07.zip"
insignificantMaxVersionDestination="$sdkTargetFolder/system-images/android-37/google_apis_ps16k/"
insignificantMaxVersionFilePath="$insignificantMaxVersionDestination/$insignificantMaxVersionFileName"
insignificantMaxVersionCiUrl="$basePath/system_images/google_apis/$insignificantMaxVersionFileName"
insignificantMaxVersionUrl="https://dl.google.com/android/repository/sys-img/google_apis/$insignificantMaxVersionFileName"
insignificantMaxVersionSha1="b89a6686f9a9e9942d596bed45d422cbccb70c98"
insignificantMaxVersionSha1="88e208a83a5f0b18958275b7c1a047e931395f3f"
mkdir -p "$insignificantMaxVersionDestination"
DownloadURL "$insignificantMaxVersionCiUrl" "$insignificantMaxVersionUrl" "$insignificantMaxVersionSha1" "$insignificantMaxVersionFilePath"
echo "Unzipping the Android 17 Beta3 16KB to $insignificantMaxVersionDestination"
echo "Unzipping the Android 17 (16KB Page Size) to $insignificantMaxVersionDestination"
sudo unzip -o -q "$insignificantMaxVersionFilePath" -d "$insignificantMaxVersionDestination"
# Hack to avoid SDK version bug in source.properties file, the usage of ".0" messes things for avdmanager. TODO: undo when official comes
sudo sed -i 's/AndroidVersion.ApiLevel=37.0/AndroidVersion.ApiLevel=37/g' "$insignificantMaxVersionDestination/x86_64/source.properties"
sudo sed -i 's/AndroidVersion.ApiLevel=37.1/AndroidVersion.ApiLevel=37/g' "$insignificantMaxVersionDestination/x86_64/source.properties"
rm "$insignificantMaxVersionFilePath"
echo "Checking the contents of Android SDK again..."
@@ -229,7 +230,7 @@ echo "no" | ./avdmanager create avd -n emulator_x86_64_api_36 -c 2048M -f \
-k "system-images;android-36;google_apis;x86_64"
echo "no" | ./avdmanager create avd -n emulator_x86_64_api_37 -c 2048M -f \
-k "system-images;android-37;google_apis,page_size_16kb,ai_glasses_compatible;x86_64"
-k "system-images;android-37;google_apis,page_size_16kb;x86_64"
echo "Install maximum supported SDK level image for Android Automotive $sdkApiLevelAutomotiveMax"
DownloadURL "$androidAutomotiveMaxUrl" "$androidAutomotiveMaxUrl" "$androidAutomotiveMaxSha" \
@@ -258,19 +259,3 @@ SetEnvVar "ANDROID_EMULATOR_RUNNER" "$ANDROID_EMULATOR_RUNNER"
SetEnvVar "PATH" "\$PATH:$sdkTargetFolder/emulator"
SetEnvVar "PATH" "\$PATH:$sdkTargetFolder/platform-tools"
SetEnvVar "PATH" "\$PATH:$sdkTargetFolder/cmdline-tools/latest/bin"
# Gradle Caching
cp -r "${scripts_dir_name}/android/gradle_project" /tmp/gradle_project
cd /tmp/gradle_project
# Get Gradle files from qtbase
qtbaseGradleUrl="https://code.qt.io/cgit/qt/qtbase.git/plain/src/3rdparty/gradle"
commit_sha="269a75dbd1262a714eb238c42e5159a0a8979818"
curl "$qtbaseGradleUrl/gradle.properties?h=$commit_sha" > gradle.properties
curl "$qtbaseGradleUrl/gradlew?h=$commit_sha" > gradlew
curl "$qtbaseGradleUrl/gradlew.bat?h=$commit_sha" > gradlew.bat
mkdir -p gradle/wrapper
curl "$qtbaseGradleUrl/gradle/wrapper/gradle-wrapper.jar?h=$commit_sha" > gradle/wrapper/gradle-wrapper.jar
curl "$qtbaseGradleUrl/gradle/wrapper/gradle-wrapper.properties?h=$commit_sha" > gradle/wrapper/gradle-wrapper.properties
# Run Gradle
chmod +x gradlew
ANDROID_SDK_ROOT="$sdkTargetFolder" sh gradlew build
@@ -2,6 +2,7 @@
"Project": {
"Git": {
"_active": true,
"author_format": "<(.*)>",
"author_line": "author-mail",
"sourceserver_gitdir": "/data/axivion/databases/$(env:TESTED_MODULE_COIN).git",
"sourceserver_remote_url": "ssh://codereview.qt-project.org:29418/qt/$(env:TESTED_MODULE_COIN)"
@@ -13,11 +14,6 @@
"directory": "../work/qt/$(env:TESTED_MODULE_COIN)",
"ir": "$(env:IRNAME)",
"name": "qt_$(env:PACKAGE)_$(env:MODULE)_$(env:TESTED_MODULE_BRANCH_COIN)_$(env:TARGET_OS_COIN)"
},
"VCSIntegration": {
"vcs_mapping": {
"vcs_account_callback": "dsquery * forestroot -filter \"(&(objectCategory=Person)(mail=%1)) -attr sAMAccountName -l"
}
}
},
"Results": {
@@ -54,13 +54,13 @@
"_active": true
},
"Qt-CtorMissingParentArgument": {
"_active": true
"_active": false
},
"Qt-DetachingTemporary": {
"_active": true
},
"Qt-FullyQualifiedMocTypes": {
"_active": true
"_active": false
},
"Qt-FunctionArgsByValueRef": {
"_active": false
@@ -72,13 +72,13 @@
"_active": true
},
"Qt-Generic-InitializeAllFieldsInConstructor": {
"_active": true
"_active": false
},
"Qt-Generic-MissingBaseCopy": {
"_active": true
"_active": false
},
"Qt-Generic-MissingIncludeGuard": {
"_active": true
"_active": false
},
"Qt-Generic-MissingTrCall": {
"_active": true
@@ -87,7 +87,7 @@
"_active": true
},
"Qt-Generic-NoFunctionDefinitionInHeader": {
"_active": true
"_active": false
},
"Qt-Generic-NoIrregularInclude": {
"_active": true
@@ -117,7 +117,7 @@
"_active": true
},
"Qt-IncorrectEmit": {
"_active": true
"_active": false
},
"Qt-InstallEventFilter": {
"_active": true
@@ -132,16 +132,16 @@
"_active": true
},
"Qt-MissingQObjectMacro": {
"_active": true
"_active": false
},
"Qt-MutableContainerKey": {
"_active": true
},
"Qt-NonPodGlobalStatic": {
"_active": true
"_active": false
},
"Qt-OldStyleConnect": {
"_active": true
"_active": false
},
"Qt-OverloadedSignal": {
"_active": true
@@ -165,7 +165,7 @@
"_active": true
},
"Qt-QPropertyWithoutNotify": {
"_active": true
"_active": false
},
"Qt-QStringArg": {
"_active": true
@@ -189,7 +189,7 @@
"_active": true
},
"Qt-RuleOfThree": {
"_active": true
"_active": false
},
"Qt-RuleOfTwoSoft": {
"_active": true
@@ -252,7 +252,7 @@
"_active": true
},
"Qt-StrictIterators": {
"_active": true
"_active": false
},
"Qt-TemporaryIterator": {
"_active": true
@@ -9,11 +9,11 @@ source "${BASH_SOURCE%/*}/../unix/InstallFromCompressedFileFromURL.sh"
# shellcheck source=../unix/SetEnvVar.sh
source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
majorminorversion="3.22"
version="3.22.6"
majorminorversion="3.25"
version="3.25.3"
PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/cmake/cmake-$version-linux-x86_64.tar.gz"
AltUrl="https://cmake.org/files/v$majorminorversion/cmake-$version-linux-x86_64.tar.gz"
SHA1="4a5ba17568d108d295719850dd584e775583f61b"
SHA1="725efa8d2b388beaef9eaca190b662f33e6c186d"
targetFolder="/opt/cmake-$version"
appPrefix="cmake-$version-linux-x86_64"
@@ -11,8 +11,12 @@ PROVISIONING_DIR="$(dirname "$0")/../.."
# shellcheck source=../unix/common.sourced.sh
source "$PROVISIONING_DIR/common/unix/common.sourced.sh"
if [ -f /usr/lib/sysctl.d/55-ptrace.conf ]; then
f="/usr/lib/sysctl.d/55-ptrace.conf" # New location in Ubuntu 26.04
else
f="/etc/sysctl.d/10-ptrace.conf"
fi
f="/etc/sysctl.d/10-ptrace.conf"
if [ -f $f ]
then
echo "Modifying $f ..."

Some files were not shown because too many files have changed in this diff Show More