Compare commits

...

178 Commits

Author SHA1 Message Date
Qt Submodule Update Bot
2747adefe5 Update submodules on '6.10 in qt/qt5'
Change-Id: I405ee919e0f5ebde535d9e7f7aec481231f1797b
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2026-01-06 21:38:20 +00:00
Qt Submodule Update Bot
92c3e02c5f Update submodules on '6.10 in qt/qt5'
Change-Id: I0bf3db5c6575fbb807eec1319f36ce486cd2343c
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2026-01-05 22:32:37 +00:00
Qt Submodule Update Bot
e06032d5fd Update submodules on '6.10 in qt/qt5'
Change-Id: I560df149b3e7ee6016c87338c674993f9357b081
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2026-01-02 18:54:23 +00:00
Jukka Jokiniva
9053f6d65c Remove license check on Ubuntu 22.04
The configuration is duplicate as it is also run on 24.04.

Pick-to: 6.8
Task-number: QTQAINFRA-7146
Change-Id: Icbd1f7379cb1f23ed8c818f25aa3e09c5fcb5a45
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
(cherry picked from commit 2bac4d3be9)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 03f6468edc)
2026-01-01 14:48:31 +00:00
Qt Submodule Update Bot
b038b16d27 Update submodules on '6.10 in qt/qt5'
Change-Id: I4969fb7632d7a9943ea911b8e163d6d4ed9ef772
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2025-12-30 05:58:29 +00:00
Qt Submodule Update Bot
bc7a96b955 Update submodules on '6.10 in qt/qt5'
Change-Id: I893e4dfd7c8e4b0a3b024aabc25c680ee7c7ce2a
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2025-12-23 12:39:40 +00:00
Qt Submodule Update Bot
3f94a4775b Update submodules on '6.10 in qt/qt5'
Change-Id: I9c9d3594ba1433c8a44c99cc26cfa2ccb84c0090
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2025-12-22 12:30:48 +00:00
Qt Submodule Update Bot
8cfbb3a8ce Update submodules on '6.10 in qt/qt5'
Change-Id: I2fff0108cab5436d0ca626d6610e6a040bbfdd2e
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2025-12-20 09:11:19 +00:00
Joerg Bornemann
ca679e98de init-repository: Fix passing no --alternates option
Commit d6918d7ac5 broke init-repository if
you did not pass an --alternates option.

Pick-to: 6.8
Task-number: QTBUG-142712
Fixes: QTBUG-142744
Change-Id: Ia727b420a34a46e52f0f05e549aabe2c975c6d7e
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
(cherry picked from commit 6bd3b23b6c)
(cherry picked from commit f1d54f955c)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-12-19 19:46:22 +00:00
Joerg Bornemann
30ee3ee4b2 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
Fixes: QTBUG-142712
Change-Id: Ief7a87768d9ff17bb2832ae363f573ecae58d5ee
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
(cherry picked from commit d6918d7ac5)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit ec20fd6cab)
2025-12-19 19:46:22 +00:00
Oleksii Zbykovskyi
5da5123c58 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.8
Change-Id: Iabb548c622d71df8a3593cc171b7e0c2e2ae0287
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
(cherry picked from commit b276b549f7)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 6e69c9f7a7)
2025-12-18 20:01:34 +00:00
Qt Submodule Update Bot
f4184f1888 Update submodules on '6.10 in qt/qt5'
Change-Id: I4748fc6efb020cb6e7d400b44daa3427951bec2d
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2025-12-18 13:31:08 +00:00
Qt Submodule Update Bot
65c4187e6e Update submodules on '6.10 in qt/qt5'
Change-Id: I82b5bbf818ea4552056177aa5d4b63bc9768b359
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2025-12-17 13:09:15 +00:00
Qt Submodule Update Bot
c7ce79946a Update submodules on '6.10 in qt/qt5'
Change-Id: Ibb508322a8103a3ca787c8cafcac61871e16a674
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2025-12-15 13:30:44 +00:00
Qt Submodule Update Bot
5f7dbc28d3 Update submodules on '6.10 in qt/qt5'
Change-Id: I90135af9c97b584b6884649c524cd3ab45ee6ef4
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2025-12-12 18:09:41 +00:00
Qt Submodule Update Bot
4cac599ed2 Update submodules on '6.10 in qt/qt5'
Change-Id: I47ca7d57275a45667725c7ca057387287f98a315
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2025-12-11 19:34:30 +00:00
Qt Submodule Update Bot
285e7741cc Update submodules on '6.10 in qt/qt5'
Change-Id: Ia7b52b557236b1f9a9ad6168a9602ac8d92f70c4
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2025-12-10 17:33:46 +00:00
Eike Ziller
91ef9fed9f 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.

Change-Id: Ib771f473b6ed3ce42c6191647da7d473b64c2316
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
(cherry picked from commit dcd07cc2ab)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 69a8b1abfe)
2025-12-09 17:53:18 +00:00
Qt Submodule Update Bot
905c3daac7 Update submodules on '6.10 in qt/qt5'
Change-Id: I68bde889e84a194ce9d077ce46eed488bbfb6796
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2025-12-09 12:45:47 +00:00
Qt Submodule Update Bot
0741ab2895 Update submodules on '6.10 in qt/qt5'
Change-Id: Ia23014087aa3767008e40b49c10eed264766b50b
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2025-12-08 14:01:00 +00:00
Qt Submodule Update Bot
b210a2bf9a Update submodules on '6.10 in qt/qt5'
Change-Id: Ifd1cac24b2a6c0263761b4935836488cd7a47f2f
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2025-12-05 19:14:12 +00:00
Ivan Solovev
de1524f320 Fix java provisioning on Windows ARM
The installer from Microsoft which is used for ARM machines has a
different default installation path compared to the installer from
Oracle that is used for x64 machines, but the provisioning script did
not take it into consideration.

As a result, the JAVA_HOME variable was pointing to a non-existing dir
on Windows ARM machines.

An attempt to adjust the installation path using TARGETDIR or INSTALLDIR
properties did not work, so this patch simply hardcodes the path that is
used by the current ARM installer.

Amends b3f5b4fd64 that added Java
provisioning to Windows ARM.

Task-number: QTBUG-138968
Pick-to: 6.8
Change-Id: I2abdc07195a9c633340c2d7b21deaa80762aee67
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
(cherry picked from commit 6044f4fd12)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-12-04 09:28:23 +00:00
Qt Submodule Update Bot
a705215d0a Update submodules on '6.10 in qt/qt5'
Change-Id: I44296c1ef0bb8b25074e230b5ee5a1c40771f6d4
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2025-11-28 19:38:06 +00:00
Ville-Pekka Karhu
8371d14e9d Provisioning: Ubuntu 20.04 to use new repo-clones
Task-number: QTQAINFRA-7546
Pick-to: 6.8 6.5 5.15
Change-Id: I70e87800049d8d3eb8466b90c9fc9974749e801a
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
(cherry picked from commit 540d6a546c)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-11-23 10:20:22 +00:00
Ville-Pekka Karhu
971f164d80 Provisioning: Ubuntu 18.04 to use new repo-clones
Task-number: QTQAINFRA-7563
Pick-to: 6.8 6.5 5.15
Change-Id: I965297a0d2442e7e3e45f4c68038b7950e0c8da0
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
(cherry picked from commit 73eecc44e3)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-11-22 22:12:47 +00:00
Eike Ziller
75ccca3662 COIN: Add missing package for license-service library
libuuid is needed for it. RHEL 9.0 already has it in its package list,
but it was missing for the later RHEL 9 versions

Change-Id: Ibd052438c534e5811d2f0b0ee848808227e795f9
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
(cherry picked from commit d534aedb32)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-11-22 22:12:47 +00:00
Qt Submodule Update Bot
925db9e3a3 Update submodules on '6.10 in qt/qt5'
Change-Id: If07a74ec5a067c8cc6d3f6fe5c7ca45833a55308
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2025-11-20 22:26:07 +00:00
Elias Toivola
d587092f57 Android: move platform dependency from RHEL 8 to RHEL 9
Pick-to: 6.8 6.5
Task-number: QTQAINFRA-7498
Change-Id: I48a72860fe9d06cde1f014298e68fa28caff730d
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
(cherry picked from commit 4dcaf6ec01)
2025-11-20 14:45:26 +02:00
Eike Ziller
f7a9d1d907 COIN: Add missing golang/upx provisioning on macOS 15
Needed for Qt Creator, see the macOS 14 provisioning

493a11caee added golang for
macos-15-arm in the dev branch, but it is missing for 6.10

Change-Id: Ib037dbe2817a678cda4945a1044b9c55e2ad49cb
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
2025-11-20 07:58:32 +00:00
Qt Submodule Update Bot
883d4c2c62 Update submodules on '6.10 in qt/qt5'
Change-Id: I4fbe19347333be0ddf06c1440a8859855e52d639
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2025-11-18 17:48:36 +00:00
Eike Ziller
22960e9c23 Revert "COIN: Remove 'Packaging' feature from rhel 8.10"
This reverts commit d7a082f08d.

Reason for revert: Since that configuration was exported for Qt 6.10.0,
we released Qt Creator 18.0.0 on this. If this becomes unavailable for
Qt 6.10.1 we'd need to drop a platform in a patch release of
Qt Creator, which would be ugly.

Change-Id: Ida56410c44a908a2fa8c0b6bada21be7cad8d390
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
2025-11-11 13:05:27 +00:00
Qt Submodule Update Bot
9f81c8022d Update submodules on '6.10 in qt/qt5'
Change-Id: I4f5d9bd4493571561c1c13f743ed0c657c9cab80
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2025-11-06 18:10:17 +00:00
Matti Paaso
5d37695091 Provisioning: Make bootstrap autostart run without terminal
Copy bootstrap autostart also into Ubuntu 24.04 aarch64

Pick-to: 6.8 6.5
Change-Id: If815476e072d62752d6ea0e5081ec982f2c8c6d9
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
(cherry picked from commit 3ff6bed04a)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-10-31 13:42:38 +00:00
Assam Boudjelthia
3b502d8073 CI: add more options for Android emulator launcher and help section
Allow the emulator launcher to take new options that are commonly
used:
 * --window: shows the emulator window instead of running headless
 * --avd: set the emulator name instead of using the env var, this
          can be more intuitive and more expected than the env var.
 * --help: to guide users how to use this script.

Also, the script now will print a list of available AVD names to
use instead of the less obvious error of no AVD name provided
which forces the user to manually find the names first.

This also, sets the COIN_CTEST_RESULTSDIR to CWD in case
it's not set, this is the case when running as a debug VM.

Pick-to: 6.8 6.5
Change-Id: Id90ca2fddda713645e9c1621e346d73f1dc85ea1
Reviewed-by: Dimitrios Apostolou <jimis@qt.io>
(cherry picked from commit 05f46d0e54)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-10-31 13:42:36 +00:00
Qt Submodule Update Bot
f841bcf220 Update submodules on '6.10 in qt/qt5'
Change-Id: I786068429abf8484cd691457f8b90016a1db84c2
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2025-10-30 14:33:58 +00:00
Matti Paaso
701af5adba Enable CWE checks to Axivion configuration
Task-number: QTQAINFRA-7401
Pick-to: 6.8 6.5
Change-Id: I3173acc2941e3811aeb7e56752a56125f00d8f89
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
(cherry picked from commit 9e2db25bd5)
2025-10-30 08:28:23 +03:00
Qt Submodule Update Bot
8884317031 Update submodules on '6.10 in qt/qt5'
Change-Id: Idce087dc6c2daa5773ea3623cf18a67654badc28
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2025-10-29 14:47:44 +00:00
Nils Petter Skålerud
7515ceea5b FFmpeg, iOS: Automatically grab FFmpeg version in Info.plist manifest
Our iOS FFmpeg provisioning includes build info.plist manifest files
for the FFMpeg framework files. This manifest includes the version of
FFmpeg that we are deploying. This version string is currently
hardcoded and does not match the version we are actually building.

This patch changes the 'install-ffmpeg-ios.sh' script to
programmatically grab the FFmpeg version from our related scripts, and
inserts it in the info.plist manifest.

Task-number: QTBUG-136480
Change-Id: Iafeaade2ff6f2a933a0ba48749af459eef37ab51
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
(cherry picked from commit c3b80178ee)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-10-29 06:42:07 +00:00
Qt Submodule Update Bot
20bdec9719 Update submodules on '6.10 in qt/qt5'
Change-Id: I29c1dd4d28de372f4890dec090e9cf3abaac1ab8
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2025-10-28 04:30:14 +00:00
Qt Submodule Update Bot
d94cefd9de Update submodules on '6.10 in qt/qt5'
Change-Id: I5f6ef36f631efc40ef7a7e61b09caffdd40c605d
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2025-10-24 16:06:06 +00:00
Matti Paaso
adb56a0462 Update Axivion bauhaus-suite tool version
Task-number: QTQAINFRA-7438
Pick-to: 6.8 6.5
Change-Id: I7adc2cba468d73385c46731d7c18777599ca58fb
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
(cherry picked from commit 996d1ca0e1)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-10-24 11:55:10 +00:00
Qt Submodule Update Bot
a0696f3513 Update submodules on '6.10 in qt/qt5'
Change-Id: Ib2acb864547f6974fe0bd48a8fae032e0f9f9d0b
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2025-10-23 07:36:45 +00:00
Rami Potinkara
76ff4d7046 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-7301
Task-number: QTQAINFRA-7298
Change-Id: Ic2ac071da7ab1763225c82e441c27f60cc25fe06
Reviewed-by: Rami Potinkara <rami.potinkara@qt.io>
Reviewed-by: Nicholas Bennett <nicholas.bennett@qt.io>
2025-10-23 07:36:44 +00:00
Rami Potinkara
88843f5d8b 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
Change-Id: Ic63cd28ba39743e517ea3a3e2f9ec08bd5dc3267
Reviewed-by: Nicholas Bennett <nicholas.bennett@qt.io>
Reviewed-by: Rami Potinkara <rami.potinkara@qt.io>
2025-10-23 07:36:43 +00:00
Rami Potinkara
e1261d44d1 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
Change-Id: I44be99956f39e7bc23e8c5a3d15289dfdd574921
Reviewed-by: Rami Potinkara <rami.potinkara@qt.io>
Reviewed-by: Nicholas Bennett <nicholas.bennett@qt.io>
2025-10-23 07:36:41 +00:00
Pavel Dubsky
a4d15afd8e Update FFmpeg version to n7.1.2
Task-number: QTBUG-140468
Change-Id: Ia77053bd4022a9691b4729e748884fd42ee2d1a8
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
(cherry picked from commit c3809a73ea)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-10-21 21:56:56 +00:00
Tero Heikkinen
75e83cd398 Linux: Fix SBOM verification error with pinned reuse 5.1.1 version
Task-number: QTBUG-140916
Pick-to: 6.8 6.5
Change-Id: I63893c434526d4d0a9767f418a3d3db154181071
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
(cherry picked from commit ecce36a343)
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
Reviewed-by: Pavel Dubsky <pavel.dubsky@qt.io>
2025-10-18 14:13:32 +03:00
Tero Heikkinen
70450e5953 Provisioning: Remove MinGW from Windows 10 x64
Task-number: QTQAINFRA-7463
Task-number: QTQAINFRA-7462
Pick-to: 6.8 6.5
Change-Id: Id607cb1d902ed50ed4e8e4dececeebf75724144a
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
(cherry picked from commit ddebcf8fd9)
2025-10-18 14:13:13 +03:00
Qt Submodule Update Bot
23f4a0a3bf Update submodules on '6.10 in qt/qt5'
Change-Id: I70405bd1b6ffc883aacec6329a79b16104b2d525
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2025-10-10 23:57:21 +00:00
Tero Heikkinen
b36caafbb0 Provisioning: Add MinGW to Windows 11 x64
Task-number: QTQAINFRA-7463
Task-number: QTQAINFRA-7462
Pick-to: 6.8 6.5
Change-Id: I5d1edf4700bcc37fb5700fc7000eaaf6be8d4fc2
Reviewed-by: Matti Paaso <matti.paaso@qt.io>
Reviewed-by: Aku Pietikäinen <aku.pietikainen@qt.io>
(cherry picked from commit 3ea24a5f48)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-10-09 16:59:30 +00:00
Qt Submodule Update Bot
d14b139aae Update submodules on '6.10 in qt/qt5'
Change-Id: Ibb044aeb52ff32ea17d7cd262a13e8d9e232ddf1
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2025-10-09 02:31:12 +00:00
Tor Arne Vestbø
30a99aabd3 Remove QNX provisioning from macOS Apple Silicon
The toolchain is x86_64 only, which trips up xcodebuild if Rosetta2
is not installed: https://github.com/swiftlang/swift-build/issues/836

We don't have any CI configurations that build QNX on macOS, so we
don't need to install it.

Pick-to: 6.8 6.5
Change-Id: I8714438c6373e613f28f67b48d2f4f78a723bc9d
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
Reviewed-by: Marianne Yrjänä <marianne.yrjana@qt.io>
(cherry picked from commit ed82b7ec6f)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-10-05 16:27:56 +00:00
Simo Fält
75948e5de6 COIN: Enable Accessibility service for Squish on macOS
Task-number: QTQAINFRA-7123
Pick-to: 6.9
Change-Id: I06aadb58583e073b13362ed20fae2550869a7c52
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
(cherry picked from commit 293714d7bd)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-10-03 05:02:45 +00:00
Matti Paaso
979b19c8b5 Provisioning: Remove python2 installation
Provision started to fail in python2 installation.

Task-number: QTQAINFRA-7459
Pick-to: 6.8 6.5
Change-Id: I3059615e8469bf935031791fa826452e01f4f972
Reviewed-by: Simo Fält <simo.falt@qt.io>
(cherry picked from commit ab8b59805a)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-10-03 05:02:38 +00:00
Matti Paaso
97e9150dbe Provisioning: Fix pyenv installation
Task-number: QTQAINFRA-7439
Pick-to: 6.8 6.5
Change-Id: I02202d1b53ab5442e04b6e5c0d7ff3119686f117
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
(cherry picked from commit 986d4b8760)
2025-10-03 08:02:33 +03:00
Matti Paaso
7aea7dfbc5 Provisioning: Update Axivion bauhaus-suite license file
Task-number: QTQAINFRA-7433
Pick-to: 6.8 6.5
Change-Id: I04fc35138d53bfe19fb7e94e9955923188e43582
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
(cherry picked from commit 75ae0803f3)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-09-30 20:33:56 +00:00
Ville-Pekka Karhu
b77dae62d5 Provisioning: Ubuntu 22.04 to use new repo-clones
Task-number: QTQAINFRA-7426
Pick-to: 6.8 6.5
Change-Id: I868644526ddeb50e15b69f87263ea9bcf9021a8a
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
Reviewed-by: Aku Pietikäinen <aku.pietikainen@qt.io>
(cherry picked from commit 5966e804b0)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-09-30 10:22:42 +00:00
Qt Submodule Update Bot
d5be221d9f Update submodules on '6.10 in qt/qt5'
Change-Id: I05e83301185f83dc139649c694859e50c34f7a90
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2025-09-30 03:24:35 +00:00
Dominik Holland
7f7a702ea9 Provisioning: Downgrade python 3.13. to 3.12 for macOS packaging config
Nuitka doesn't support Python 3.13 yet.

Change-Id: I577237b50e16053346d6adbb137a63a0ba41257b
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
(cherry picked from commit cd85327e85)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-09-29 05:32:53 +00:00
Elias Toivola
1695377527 Windows: set cache URL for nuget
The directory and file did not exist in cache. Added them and this
change sets versioning to the nuget file name in cache.

Task-number: QTQAINFRA-7264
Task-number: QTQAINFRA-7265
Change-Id: I4cf7ce1b547bd8cd4272a981de6845c06a4d1d79
Reviewed-by: Aku Pietikäinen <aku.pietikainen@qt.io>
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
(cherry picked from commit b050b59af6)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-09-28 15:06:29 +00:00
Elias Toivola
d6a6f98789 Android: Fix cache URLs
Pick-to: 6.9 6.8 6.5
Task-number: QTQAINFRA-7264
Task-number: QTQAINFRA-7265
Change-Id: I68cf0dc47c50bb7a817860d6607db5910225996a
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
(cherry picked from commit c781ce2c92)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-09-28 15:06:23 +00:00
Patrik Teivonen
6ae4ca39cd Add Initial Qt Configuration for Quick Bridge
Task-number: QTBUG-138793
Change-Id: Iba4abb44b30b562e96559f180c45414c0517288b
Reviewed-by: Juha Vuolle <juha.vuolle@qt.io>
(cherry picked from commit a1b62a1b38)
2025-09-26 20:33:44 +00:00
Simo Fält
18adb02915 Provisioning: Update dotnet installation
Install missing workload module.

Change-Id: I8ec4e5389000f043d296d87e7c3fed8e06451cf3
Reviewed-by: Elias Toivola <elias.toivola@qt.io>
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
(cherry picked from commit c969215383)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-09-26 20:33:42 +00:00
Tero Heikkinen
0d6a9c09ce Windows ARM: Rename WoA 11 23h2 IDs by removing extra -23H2
Change-Id: I53f3f44eab9a26cb75683b89e7d6984c305a5c10
Reviewed-by: Teemu Holappa <teemu.holappa@qt.io>
(cherry picked from commit bd0ad72d4c)
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
2025-09-26 23:33:40 +03:00
Tero Heikkinen
8a4def3f83 Remove Windows 11 22h2 ARM from CI
[CI Platforms]

Task-number: QTQAINFRA-6973
Change-Id: I646cf19681e9224783271753ddc5fb74a5b59862
Reviewed-by: Simo Fält <simo.falt@qt.io>
(cherry picked from commit dd97e540f8)
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
2025-09-26 23:33:39 +03:00
Simo Fält
0e6aa7277b Add qtbridges platform configs
Change-Id: Icf27ef835997c6d045b6ee31fb26c2def72574a3
Reviewed-by: Juha Vuolle <juha.vuolle@qt.io>
(cherry picked from commit 9fca876677)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-09-26 20:33:37 +00:00
Rami Potinkara
09622b6cca Android: FFmpeg to support 16KB page sizes on Windows
This patch introduces 16KB page size support for Windows
host to do Qt for Android build.

Currently Windows only builds FFmpeg on armeabi-v7a ABI.
32-bit ABI's like armeabi-v7a do not support 16KB page
sizes so the build is done for 4KB page size.

Amends ce488ecbc125cb3484f1cbed592ac9e28867eb66

Task-number: QTBUG-139762
Pick-to: 6.9 6.8 6.5
Change-Id: Ife7d56dd4a9f6d2892127571cab616b3f861dee6
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
(cherry picked from commit 05b5626379)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-09-26 20:33:35 +00:00
Teemu Holappa
332b8beb7d Remove MSVC 2022 ARM64 configurations from QtSafeRenderer builds
Change-Id: Ibadf105cf5f60a7e0c8c2416ddbd09bf5dbec61f
Reviewed-by: Jussi Witick <jussi.witick@qt.io>
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
(cherry picked from commit d9bd5f0fa0)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-09-26 23:33:33 +03:00
Tero Heikkinen
26fe4e642e macOS: Fix mdutil unknown indexing state in provisioning
Task-number: QTQAINFRA-7377
Change-Id: Idf0dc607a4c6f7299412f6979f9ea6de5ea522cb
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
2025-09-26 11:22:33 +03:00
Aku Pietikäinen
775fff4d4a Use common p7zip install script and remove unnecessary brew update
Change-Id: Id704953bf2eb9a2cfb11dbdb47451aed7bbc736b
Task-number: QTQAINFRA-7381
Pick-to: 6.9 6.8 6.5
Reviewed-by: Simo Fält <simo.falt@qt.io>
(cherry picked from commit 1126034d5b)
2025-09-26 11:22:29 +03:00
Rami Potinkara
331f753f6f Android: FFmpeg to support 16KB page sizes
This patch adds needed linker flags for FFmpeg Android
compilation to get FFmpeg binary to be compliant for
16KB page size. 16KB page size is compliant with 4KB
page size.

This patch updates Android OpenSSL to be version 3.0.7,
which is build with two NDK's: NDK27c and NDK29-beta2.
Both with 16KB page size support. They are build with
https://github.com/KDAB/android_openssl/pull/69 just
changing OpenSSL version from 3.1.1 to 3.0.7 and NDK
version from 25.2.9519653 to 27.2.12479018 (27c) and
another build with 29.0.13599879 (beta2). The both build
artefacts are added to CI-files to be usable.

As the 16KB page size is applicable only to 64-bit ABI's
this patch adds the variable to 90-install-ffmpeg.sh files
for android-x86_64 and android-arm64.

Change is picked to all branches using Android 15 or newer
as Android 15 introduced the 16KB page size support.

Fixes: QTBUG-139762
Pick-to: 6.9 6.8 6.5
Change-Id: I50bab81b97dad3e9d8c1e834c1928949d1e19687
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
(cherry picked from commit 875297edfc)
Reviewed-by: Rami Potinkara <rami.potinkara@qt.io>
2025-09-26 11:22:27 +03:00
Paul Wicking
1e9ca6fdf2 Fix comment in _clang-format
The previous comment referenced a specific bug report but didn't
clearly explain the intent. Replace it with a more general note
clarifying that comment reflow is disabled.

Task-number: QTCREATORBUG-30304
Pick-to: 6.9 6.8 6.5
Change-Id: I963a3585a20e089df5e5bf71b638e9fc4b15542f
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
(cherry picked from commit 8e70bbf9b1)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-09-22 12:14:49 +00:00
Matti Paaso
0fd9e9f0b6 Provisioning: Fix macos nodejs installation
Brew install started to fail on older macos arm versions. Getting
rid of all brew install to avoid future problems with it.

Task-number: QTAINFRA-7408
Pick-to: 6.9 6.8 6.5
Change-Id: I22eddfad1f49b0814841a5d554100fdffd329593
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
(cherry picked from commit 66fd8fb132)
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
2025-09-20 14:27:53 +03:00
Mitch Curtis
156b753fc5 _clang-format: set ReflowComments to false
This causes issues with incorrect indentation of comments, as explained
in the linked bug report.

Task-number: QTCREATORBUG-30304
Pick-to: 6.9 6.8 6.5
Change-Id: I6951bc7bf42990b8671cf99b04b8ca7bed1d24cb
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
(cherry picked from commit ed1fb09b63)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-09-19 06:36:02 +00:00
Simo Fält
d7a082f08d COIN: Remove 'Packaging' feature from rhel 8.10
The release config was replaced with rhel 9.2. There is no need
to export 8.10 artifacts anymore.

Change-Id: I64fe163a1ab22f4275a8c449f18b3c51d71f8633
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
(cherry picked from commit e6be06dfd1)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-09-16 12:20:29 +00:00
Simo Fält
513af7962d Provisioning: Update python 3.9 to 3.13 for macOS packaging config
After swapping the packaging node from x86_64 to arm64 the
default python got downgraded from 3.11 to 3.9.

Change-Id: Iea65e3c3d959c22e1a12d2a4f12ba466de4dbf24
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
(cherry picked from commit e8106d5615)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-09-16 05:55:49 +00:00
Toni Saario
b8441b17f9 Delete macOS GCA keys and dhcp lease after provisioning
This ensures that link-local IPv6 address is unique per
each VM.

Task-number: QTQAINFRA-7383
Pick-to: 6.9 6.8 6.5
Change-Id: I53434ec3a158cec09f03c96087a401ef05f47b86
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
(cherry picked from commit b8995e0ebc)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-09-16 05:55:48 +00:00
Elias Toivola
033ea9e0d5 Windows: Add a helper to cleanly invoke NMake with zlib
Invoke-NMake helper temporarily clears MAKE flags, such as
MAKEFLAGS='-j8', to prevent errors from GNU-style flags and to reduce
flakiness with NMAKE.

The helper is used to build zlib and to prevent:
error U1065: invalid option '-'

Pick-to: 6.9 6.8 6.5
Task-number: QTQAINFRA-7363
Change-Id: Ia80216677eba6fd8f8364741b6999e6155d678ab
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
(cherry picked from commit 0f3d085101)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-09-16 05:55:47 +00:00
Tero Heikkinen
c86052205a Windows: Add virtio driver version to provision log
With possibility to extend other drivers's versions into log

Task-number: QTQAINFRA-7168
Pick-to: 6.9 6.8
Change-Id: Ib10887fb904a75ccbb91bef2e9be0e83625da784
Reviewed-by: Matti Paaso <matti.paaso@qt.io>
(cherry picked from commit fc6aa80d32)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-09-16 05:55:46 +00:00
Tero Heikkinen
d7818854a3 Make Windows 11 23h2 ARM tests as blocking in CI
[CI Platforms]

Task-number: QTQAINFRA-6973
Pick-to: 6.9
Change-Id: I92c4785eea01dabc31e4ce5a38e8af47fad70a1d
Reviewed-by: Simo Fält <simo.falt@qt.io>
(cherry picked from commit 420b7fe88a)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-09-12 04:32:25 +00:00
Tero Heikkinen
27181052ec CMake: Force build tools when cross-compiling for Windows 11 23h2 ARM64
(Extends 9254959ace to WoA 11 23h2)

Pick-to: 6.9
Task-number: QTBUG-138859
Task-number: QTQAINFRA-6973
Change-Id: I745f3276b115331d18ba6a9517b9d361697214a9
Reviewed-by: Simo Fält <simo.falt@qt.io>
(cherry picked from commit 1fbc552781)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-09-12 04:31:54 +00:00
Jukka Jokiniva
4953664b49 Update qt3d submodule
Change-Id: Ia511c0944349a24afe2acfbb783ec73e6edd2c78
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
2025-09-09 09:19:50 +03:00
Simo Fält
e6eaa4f3ef COIN: Fix Debian bookworm pgp key in Ubuntu 22.04 for debootstrap
Pick-to: dev 6.9 6.8
Change-Id: Ie06c37987cf21ee0f8f60528af5d70cbf8b5490d
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
2025-09-09 09:19:47 +03:00
Assam Boudjelthia
cbbba28284 Android: update provisioning to Gradle 8.14.2 and AGP 8.10.1
Task-number: QTBUG-137782
Change-Id: I522a7179e1a0be7c7bb876d935fd02ef7e049475
Reviewed-by: Simo Fält <simo.falt@qt.io>
2025-09-09 06:19:44 +00:00
Rami Potinkara
9f42f33194 Android: Fix Android 16 emulator CI start problems
This patch updates the fully booted check for Android.

Old logic used init.svc.bootanim property and it's status
"stopped", but since Android 16 forward the status is kept
empty "" if "-no-boot-anim" emulator startup parameter is used.

The new logic simplifies old and relies only to two values:
sys.boot_completed and dev.bootcomplete. These work similary
from Android 9 to 16.

Task-number: QTQAINFRA-7299
Task-number: QTQAINFRA-7298
Pick-to: 6.9 6.8
Change-Id: I62efb0b05cd9792f92040dcb98a37f4bf14022e6
Reviewed-by: Dimitrios Apostolou <jimis@qt.io>
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
Reviewed-by: Elias Toivola <elias.toivola@qt.io>
(cherry picked from commit 0eb085f93d)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-09-09 06:19:42 +00:00
Simo Fält
4bb846dd6d COIN: Fix Debian with missing debootstrap key
Pick-to: dev 6.9 6.8
Change-Id: I61f6a4834b034bb52323416499d71543f290ccf6
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
2025-09-09 09:19:39 +03:00
Aku Pietikäinen
19b819ebf3 Update homebrew to version 4.6.8 and git to latest installer
Change-Id: I2c13ce86b3aceae47afab7e1af1489c2d355aad2
Pick-to: 6.9 6.8 6.5
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
(cherry picked from commit ae2ae67c61)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-09-09 06:19:37 +00:00
Nils Petter Skålerud
dd4278ddc1 FFmpeg, Android: Add support for Android ARMv7 in Unix FFmpeg script
This patch introduces support for building FFmpeg for Android ARMv7
on Unix hosts.

Pick-to: 6.9 6.8
Change-Id: I21affa1137cb4b3aa3a5b9cfd5c71e755684db9c
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: Rami Potinkara <rami.potinkara@qt.io>
(cherry picked from commit 4170b81aea)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-09-05 05:26:57 +00:00
Ville-Pekka Karhu
c25feffb9b Provisioning: Take repo-clones-apt into use in Ubuntu 24.04
Pick-to: 6.9 6.8
Task-number: QTQAINFRA-6297
Change-Id: I7d9b3edc2b2429361e421ce13b5c36f4247693f6
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
(cherry picked from commit 13487118df)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-09-05 05:26:53 +00:00
Tero Heikkinen
7394584ab5 Linux: Fix Debian packagekit failing in provisioning
Target jammy-arm64-debian-pkg-packaging fails in
waitLoop function, which is also used by Ubuntu platforms.

Fix by extending wait loop for lock paths:
  - /var/lib/dpkg/lock
  - /var/lib/apt/lists/lock (new)

Task-number: QTQAINFRA-7361
Change-Id: If8d5eacaeb72ea6a36496093bc5c248f61997afb
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
2025-09-05 08:26:48 +03:00
Toni Saario
a64f150422 Cache maven dependencies for californium build
The fetching from 3rd party repos has become very flaky.
To avoid mirrors throttling us and other flaky issues cache
the dependencies and set -o to enable offline mode.

This seems to also speed up the step considerably.

Pick-to: 6.9 6.8 6.5
Change-Id: I01663e60baa44ab828d8880ab8b346034a50b60e
Reviewed-by: Simo Fält <simo.falt@qt.io>
2025-09-05 05:26:43 +00:00
Nils Petter Skålerud
18a08f7eb6 FFmpeg, Android ARMv7: Use correct build folder when fixing deps
This patch amends 133de012af95507ac485845d8de8f58da005df64.

The previous patch introduced a regression where the newer build paths
were not being passed correctly into 'fix_ffmpeg_dependencies.sh'
during FFmpeg Android builds.

This patch introduces a common function to resolve the installation
directory, which is then used both during compilation and during
FFmpeg patching.

Additionally, it introduces some basic error-handling when running
'fix_ffmpeg_dependencies.sh' so that we can catch this issue in
integration, in the future.

Fixes: QTBUG-138615
Change-Id: I195ebd3034a3184bad32e75916a41a20838b2db1
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
(cherry picked from commit 7f416abf32)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-09-05 05:26:40 +00:00
Nils Petter Skålerud
14dcdd32d7 macOS, FFmpeg: Don't use patchelf 0.18 for Android FFmpeg patching
At the time of writing, homebrew ships patchelf version 0.18.0. This
version of patchelf has a bug specific to Androd binaries. The macOS
14 arm64 host currently uses this version of patchelf. This causes an
issue during runtime linking in Qt Multimedia applications on Android.

This patch modifies the macOS 14 arm64 host to use patchelf v0.17.2
that we compile from source. It also adds warnings to the provisioning
log should someone try to use v0.18.0 in the future.

Fixes: QTBUG-136930
Pick-to: 6.9 6.8
Change-Id: Id66b560e6a1d4300a54017e9c3366720dc291944
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
(cherry picked from commit 61046109cf)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-09-05 05:26:36 +00:00
Elias Toivola
c1798a5ea8 Android FFmpeg: Further fix FFmpeg build directories
This fixes "does not exist" errors when trying to build multiple NDKs.

This amends 303b4c13dc

Pick-to: 6.9 6.8 6.5
Task-number: QTQAINFRA-7069
Change-Id: I29f5cd85ffb3cf12a81b5816a5601ea37446042d
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
(cherry picked from commit ffc15eb35f)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-09-05 05:26:31 +00:00
Qt Submodule Update Bot
b00e1853b4 Update submodules on '6.10 in qt/qt5'
Change-Id: Ida27d2492476ba87e3fa3f6f7c0cc1e13d62297e
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2025-09-05 05:26:22 +00:00
Axel Spoerl
582a05fab0 Make ubuntu-24.04-x64-x11-tests test insignificant
Ubuntu 24.04 installs Wayland by default. The X11 version is known to
be problematic, which is why ubuntu-24.04-x64-documentation-x11-tests
has been marked InsignificantTests.

Extend this to ubuntu-24.04-x64-x11-tests.

Task-number: QTBUG-137909
Task-number: QTBUG-136092
Pick-to: 6.9 6.8 6.5
Change-Id: I38f4bb5ca59255870dc6dbbb69e9ab339c679ddc
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
(cherry picked from commit 75b7834370)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-09-02 14:04:01 +00:00
Tero Heikkinen
eb22c91aa5 Windows ARM: Remove Packaging flag from WoA 11 22h2 target
Target: windows-11_24H2-msvc2022-arm64

Task-number: QTQAINFRA-6973
Task-number: QTQAINFRA-6109
Pick-to: 6.9
Change-Id: I82153c08e327a211fd604f803b901370f06e35df
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
2025-09-01 18:38:11 +03:00
Qt Submodule Update Bot
84833b070d Update submodules on '6.10 in qt/qt5'
Change-Id: I2470c30de154186f07ed83f7a71c4dba59cd1e3f
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2025-08-30 23:52:07 +00:00
Aku Pietikäinen
014d327331 Use correct PATH for homebrew based on architecture
Task-number: QTQAINFRA-6903
Change-Id: I1b5f529e8e94a7e609b5be1704ed83f6380f4cc5
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
(cherry picked from commit f73de1b6a8)
Reviewed-by: Simo Fält <simo.falt@qt.io>
2025-08-29 10:47:22 +00:00
Tor Arne Vestbø
ff0c5876af coin: Force detach Docker volume unmount
Change-Id: I6c19b374adf3d4cd75a3307474e973af96613378
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
(cherry picked from commit e8f8c9e845)
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
Reviewed-by: Simo Fält <simo.falt@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2025-08-29 10:47:18 +00:00
Aku Pietikäinen
d37592b726 Change libiodbc brew to use local tap
Installing directly from rb file no longer supported by
homebrew without HOMEBREW_DEVELOPER set after https://github.com/Homebrew/brew/pull/20414
was merged.

Create local tap for install to avoid need for homebrew developer mode.

Task-number: QTQAINFRA-7344
Change-Id: Id59af01875b16d1757b1dba36c2ba04bf973c212
Reviewed-by: Simo Fält <simo.falt@qt.io>
(cherry picked from commit a9b7487138)
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
2025-08-29 10:47:15 +00:00
Liang Qi
3d536d157d Revert "platform_configs: remove two u2204 tests"
Ubuntu 24.04 GNOME X11 still has too many flaky issues in our
CI, which blocks integrations too much.

This reverts commit e2e25e8a66.

Pick-to: 6.9 6.8
Task-number: QTBUG-137909
Change-Id: Ifcb56d0172b7bd0e66d1fe6e764ea6643b8e4834
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
(cherry picked from commit da4d20137c)
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
2025-08-28 10:23:23 +02:00
Liang Qi
ca83c9896a Revert "platform_configs: remove ubuntu-22.04-developer-build"
Ubuntu 24.04 GNOME X11 still has too many flaky issues in our
CI, which blocks integrations too much.

This reverts commit 6db000ab67.

Pick-to: 6.9 6.8
Task-number: QTBUG-137909
Change-Id: Iec2323da11354b3176c2428e441965b77fd768a1
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
(cherry picked from commit e9f41970c4)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-08-28 10:23:21 +02:00
Qt Submodule Update Bot
68425f29bb Update submodules on '6.10 in qt/qt5'
Change-Id: Ia9f4d1a7cb2ebc591ccd64f9d75872b15bd5e7ee
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2025-08-26 02:00:02 +00:00
Liang Qi
feabc0fdcf Revert "platform_configs: remove InsignificantTests for u2404 x11 dev"
Ubuntu 24.04 GNOME X11 still has too many flaky issues in our
CI, which blocks integrations too much.

This reverts commit 365860ce42.

Pick-to: 6.9 6.8
Task-number: QTBUG-137909
Change-Id: I058c5d9c5e67bbea4a5ea88a915270ef00110d7a
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
(cherry picked from commit e9687ee42e)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-08-25 11:57:27 +00:00
Tero Heikkinen
91627c3294 Add missing static targets to Windows on ARM 11 23h2
Targets
  - windows-11_23h2-arm64-msvc2022-minimal-static-test
  - Windows-MSVC2022-arm64_Static-23H2

Task-number: QTQAINFRA-7273
Task-number: QTQAINFRA-6973
Pick-to: 6.9
Change-Id: I1e2110973d0ad0645c1f5b62c420655c94235eab
Reviewed-by: Samuli Piippo <samuli.piippo@qt.io>
Reviewed-by: Simo Fält <simo.falt@qt.io>
(cherry picked from commit acb1eb656a)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-08-23 21:35:07 +00:00
Simo Fält
cbc5c3405b COIN: Replace Debian stable with bookworm chroot
Stable is debian codename and the script was ran in Ubuntu, so it makes
me wonder how did this warm in the first place.

Pick-to: 6.9 6.8
Change-Id: I6d907ce11d53aa498ea93522539891f38e7c8388
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
(cherry picked from commit 77eb380ac0)
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2025-08-20 19:51:27 +03:00
Simo Fält
4403eaf71c COIN: Fix Debian bookworm chroot
Debian stable codename is now trixie.

Pick-to: 6.9 6.8
Change-Id: I296782cef2a4329e359413cd7515a8dfca271095
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
(cherry picked from commit 2dbbd0853f)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit d7166acfae)
2025-08-20 12:44:41 +00:00
Tero Heikkinen
763fb46b70 Linux: Add glibc versions visible in versions.txt
Will also make glibc versions visible in Tools and Versions pages.

Task-number: QTQAINFRA-7333
Pick-to: 6.9 6.8 6.5
Change-Id: Ic0274822f326e4b23ed423d8da20002bc6d4f20a
Reviewed-by: Simo Fält <simo.falt@qt.io>
(cherry picked from commit 3ba1fb95be)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-08-20 12:44:41 +00:00
Michal Klocek
8b54ca691c Add qt-zlib config to cross-compile window target
After shocking realization that build artifacts are mixed between
cross-compiled and native window arm builds for installer add missing qt-zlib config, so configs match better.

The -no-opengl mismatch is covered in different patch.

Any auto detected platform configs and features mismatch is unknown,
but let's do hope it works (as the final output is not covered by
single ci test).

Pick-to: 6.9
Task-number: QTBUG-138859
Change-Id: I03562f1b518cf711cee894b5cf3f4512e2521f77
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
(cherry picked from commit 493b592568)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-08-18 10:30:08 +00:00
Qt Submodule Update Bot
86b4f465d6 Update submodules on '6.10 in qt/qt5'
Change-Id: I47d2a6ee05226ae07bac8e1816975cc645913427
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2025-08-16 03:50:14 +00:00
Pavel Dubsky
707546820e Enable zlib in FFmpeg configuration
Fixes: QTBUG-103332
Pick-to: 6.9 6.8 6.5
Change-Id: I87a760edcd4d8a77966ec5a692cb1f1f4242b647
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
(cherry picked from commit f7af78977c)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-08-13 21:33:57 +00:00
Alexandru Croitor
b04f1bb9fa CMake: Force build tools when cross-compiling for Windows ARM64
TLDR: We need force cross-build the compilation of WebEngine tools
when cross-compiling for Windows ARM64, to ensure that native
development on Windows ARM64 hosts can use the WebEngine tools.

Long version:

We have two packaging configurations for Windows ARM64.

1) we cross-compile 'Windows On Arm' Qt on an x64 Windows host.
   This configuration includes the WoA WebEngine libraries, but not
   the tools.

2) we build Windows on Arm Qt on a native arm64 windows host. This
   currently lacks the WebEngine libraries and tools, because it takes
   too much time to build them on native arm hosts in the CI.

When installing WoA on a Windows host using the Qt online
installer, there are three possible scenarios:

a) Running the x64 installer on an x64 Windows host, to be
   able to cross-build projects targeting Windows on Arm.

   This will install an x64 MSVC host qt, and an arm64 WoA target Qt
   from case '1' above.
   The x64 qt includes the WebEngine libraries and tools, and the WoA
   qt only includes the libraries, but not the tools.

   For WoA project builds, the build system will use the
   x64 host tools. This works fine.

b) Running the x64 installer on an arm64 Windows host.

   This is very similar to the 'a' case, except it involves emulation
   of the x64 host tools.

   This will install an x64 MSVC host qt, and an arm64 WoA target Qt.
   The x64 qt includes the WebEngine libraries and tools, and the WoA
   qt only includes the libraries, but not the tools.

   For WoA project builds, the build system will use the
   x64 host tools using /emulation/. This works fine, as long as x64
   emulation is available and enabled.

c) Running the arm64 installer on an arm64 Windows host.

   This will install the native arm64 WoA Qt from case '2' above.
   The arm64 qt includes arm libraries and tools from case '2', but
   that lacks the WebEngine libraries and tools.

   So the installer will also install the cross-compiled arm64
   WebEngine libraries from case '1', but not the WebEngine tools
   (e.g. dict conversion tool).

To ensure that scenario 'c' also gets WebEngine tools, we need to
force build (cross-compile) the tools in scenario '1'.

This patch achieves that by passing -DQT_FORCE_BUILD_TOOLS=ON ,
similar how we do it for yocto builds.

Pick-to: 6.9
Task-number: QTBUG-138859
Change-Id: I8270731a4afef7ab9af8df63326fb838e02968e8
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
(cherry picked from commit 9254959ace)
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2025-08-13 14:01:17 +02:00
Tim Blechmann
2b1b4fdb37 provisioning: openSUSE-15.6 - fix gstreamer h264 codec installation
the gstreamer-1.20-plugin-openh264 package seems to be outdated, as
opensuse's openh264 repo seems to have moved to gstreamer-1.24 and
renamed the package to gstreamer-plugin-openh264:
https://codecs.opensuse.org/openh264/openSUSE_Leap/x86_64/

This partially reverts 69f651b01794c93da20894a7ea5728a332903850.

Pick-to: 6.9
Change-Id: Ie159ec48f83a7b7d10671d2200f7eb4fbcf93db3
Reviewed-by: Lars Sutterud <lars.sutterud@qt.io>
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
(cherry picked from commit c52c9ef8b8)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-08-13 11:53:37 +00:00
Lars Sutterud
e871bdae27 Temporarily remove open264 GStremer plugin from openSUSE builds on CI
Fix build issue for openSUSE on CI, probably related to the
gstreamer-plugin-openh264 plugin being obsolete for the latest
gstreamer-plugins-bad package
https://forums.opensuse.org/t/gstreamer-plugins-bad-wants-to-obsolete-gstreamer-plugin-openh264/186318

GStreamer tests are disabled on openSUSE anyway atm.

Pick-to: 6.9 6.8
Change-Id: I6e19e655c8753de879d6bbf82e532d18b25a01cb
Reviewed-by: Tim Blechmann <tim.blechmann@qt.io>
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
(cherry picked from commit 9c0de61c89)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-08-13 11:53:35 +00:00
Tero Heikkinen
db339574e2 Windows ARM: Enable OpenGL for WoA 11 23h2
OpenCL, OpenGL, and Vulkan Compatibility pack has been
installed to WoA 11 23h2 Tier1 images to support OpenGL
usage with these modules:
  - QtBase
    - QtGui
    - QtWidgets
  - QtDeclarative
    - QtQuick
  - Qt3D

Enabling OpenGL by removing tags:
-no-opengl
-no-feature-run-opengl-tests

Introduce new cross-compile build target for WoA 11 23h2
  - windows-11_24H2-msvc2022-arm64-23H2
  - Which has OpenGL enabled
  - Should not be used with WoA 11 22h2 as it doesn't have OpenGL

New build will be used only for WoA 11 23h2 tests
  - windows-11-x86_64-arm64-tests-23H2
  - Which has OpenGL tests enabled

Names for these build and test targets will be renamed later when
WoA 11 23h2 replaces WoA 11 22h2 by removing '-23H2' suffix from names.

Task-number: QTQAINFRA-6973
Task-number: QTQAINFRA-6109
Task-number: QTBUG-126030
Pick-to: 6.9 6.9.2
Change-Id: Ifa29d93d996ac4884a86835328170d857bf91f33
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
(cherry picked from commit d48682bcdf)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-08-13 05:10:00 +00:00
Qt Submodule Update Bot
8f03c4d6cd Update submodules on '6.10 in qt/qt5'
Change-Id: I3f7a962e90cca911357cd5a6587ce6ea0fe31bb1
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2025-08-10 03:52:15 +00:00
Alexandru Croitor
804108b9e3 Provisioning: Add arm64 libclang for Windows 11 24H2
So it can be used during cross-compilation of arm64 packages.

To ensure the env variable set does not conflict with the x86_64
version, the env variable is suffixed with "arm64".

Pick-to: 6.9
Change-Id: I117f6c4a8431058b9af22390942539a49c632d6a
Reviewed-by: Toni Saario <toni.saario@qt.io>
(cherry picked from commit c3f303b50b)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-08-09 00:35:13 +00:00
Elias Toivola
8a76f815cc Android: split nightly targets into their own files
This makes configuring nightlies more simple and its results more
readable.

Pick-to: 6.9 6.8 6.5
Task-number: QTQAINFRA-5945
Task-number: QTQAINFRA-7069
Change-Id: I89ca6b65fbdfcd52dd607c008174e446dc6925f4
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
(cherry picked from commit 737eb7aa6d)
2025-08-07 17:57:10 +03:00
Qt Submodule Update Bot
c30b5db118 Update submodules on '6.10 in qt/qt5'
Change-Id: Id819baab7638a3113acaf4de205af63b06379456
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2025-08-06 13:07:39 +00:00
Alexandru Croitor
7eb22d00df coin: Add cyclonedx-python-lib to sbom_requirements.txt
In preparation for generating a CycloneDX SBOM for Qt framework,
install the cyclonedx-python-lib package which will be a required
dependency for the SBOM generation process (assuming CycloneDX
generation feature is enabled in the build).

Pick-to: 6.9 6.8
Task-number: QTBUG-129598
Change-Id: Iacaeb22aa568cecd6ffbe2ece30de953e37c5cf2
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
(cherry picked from commit 86589a14fc)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-08-05 14:49:37 +00:00
Qt Submodule Update Bot
55932dc895 Update submodules on '6.10 in qt/qt5'
Change-Id: I116af483081d98b3009ef5f318ca62610acf8229
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2025-08-04 06:51:01 +00:00
Qt Submodule Update Bot
959753d250 Update submodules on '6.10 in qt/qt5'
Change-Id: Ie81617799d366e03e57d93f5866aff6e071a7a8b
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2025-07-31 09:46:33 +00:00
Simo Fält
ab6e833690 Provisioning: Use bullseye-backports repo from archive
Bullseye-backports has reached end-of-life and is no longer
supported or updated.

Pick-to: 6.9 6.8
Change-Id: If154155507e159333c0d0b638fc6910b1814665a
Reviewed-by: Patrik Teivonen <patrik.teivonen@qt.io>
(cherry picked from commit 8882c8cac4)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-07-30 12:18:38 +00:00
Qt Submodule Update Bot
93301056cc Update submodules on '6.10 in qt/qt5'
Change-Id: Ibddf551a1bd49a16daa8b3e63a51f4637590b24a
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2025-07-29 17:52:10 +00:00
Pavel Dubsky
837922faee Build zlib while provisioning on Windows
Task-number: QTBUG-103332
Pick-to: 6.9 6.8 6.5
Change-Id: I65289d393f3085c9a3ebc5bbbb1805490d270125
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
(cherry picked from commit 97e80c1538)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-07-26 00:01:13 +00:00
Pavel Dubsky
f91eb1e821 Prevent Enter-VsDevShell from changing current working directory
Pick-to: 6.9 6.8 6.5
Change-Id: I6de981c06326a6d70bc200af74164a1021f8c138
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
(cherry picked from commit 814bfb1923)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-07-26 00:01:03 +00:00
Qt Submodule Update Bot
bef4eabb8c Update submodules on '6.10 in qt/qt5'
Change-Id: I297ccb8587d384e70173bd3166ef752610dd8b01
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2025-07-23 04:21:30 +00:00
Qt Submodule Update Bot
19a1082df7 Update submodules on '6.10 in qt/qt5'
Change-Id: Ida21fd77ef8771674896e0932dfcd2598dae8c43
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2025-07-16 21:16:46 +00:00
Aku Pietikäinen
8d22b36de0 Update homebrew after installation
Get rid of incompatibility errors between homebrew client and server.

Tark-number: QTQAINFRA-6903
Pick-to: 6.9 6.8 6.5
Change-Id: If42b721084f770763a378b93b3386733ab48828f
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
(cherry picked from commit 1dffbe8157)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-07-14 06:16:17 +00:00
Tero Heikkinen
ad7ab32f44 Add Windows 11 23h2 ARM with non-blocking tests in CI
New targets:
  - windows-11_23h2-arm64-msvc2022
  - windows-11-x86_64-arm64-tests-23H2

With latest versions
  - Visual Studio Professional 2022: 17.14.7
  - MSVC: 14.44.35207

OpenGL is still disabled, but 'OpenCL, OpenGL, and Vulkan
Compatibility pack' has been installed to WoA 11 23h2 Tier1
image to support OpenGL usage with QtWebengine, Qt3D etc.

These targets will be added later:
  - windows-11_23h2-arm64-msvc2022-minimal-static-test
  - Windows-MSVC2022-arm64_Static-23H2

[CI Platforms]

Task-number: QTQAINFRA-6973
Pick-to: 6.9
Change-Id: I049f84ad7df91cd62e7f40044d8ef40705ac34e1
Reviewed-by: Simo Fält <simo.falt@qt.io>
(cherry picked from commit 657ac0bcbb)
2025-07-04 11:13:29 +03:00
Michal Klocek
ef1949eb4d Install WebView2 on other windows nodes
We are going to run test suite twice with qtwebview, with
different backends on windows. Therefore install
webview2 to build plugin also on other nodes.

Task-number: QTBUG-128447
Task-number: QTBUG-75747
Change-Id: I88da09eb9bf9e58f630ed65071d33bd4a89ac094
Reviewed-by: Toni Saario <toni.saario@qt.io>
(cherry picked from commit 539dc64e8e)
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
2025-07-03 13:24:55 +02:00
Qt Submodule Update Bot
1733243a47 Update submodules on '6.10 in qt/qt5'
Change-Id: I9869f7aab6a7440514d4973201e1d49ee36712e0
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2025-07-03 09:44:41 +00:00
Simo Fält
42cef5cdd8 Update Debian rules branch
Change-Id: Id4685df29953db393c23302af191f1874d1c7726
Reviewed-by: Matti Paaso <matti.paaso@qt.io>
(cherry picked from commit dd3a894edd)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-07-03 09:08:39 +00:00
Morteza Jamshidi
24053c7dce Add webview2 plugin to windows 10 node in the CI
Add a script to download windows app sdk and webview2 to be used for CI
This script downloads NUGET, then tries to download Windows App SDK,
WebView2 and CppWinRT libraries and sets appropriate environment paths
to be used later by webview2 plugin.

Task-number: QTBUG-128447
Task-number: QTBUG-75747
Change-Id: I1b7ff29b1870d0445034590d01caa503c9e3ae0f
Reviewed-by: Toni Saario <toni.saario@qt.io>
(cherry picked from commit e95025936a)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-07-02 23:47:00 +02:00
Simo Fält
e89a978ef6 COIN: Remove 'Packaging' feature from android-16 Linux config
If used it might over write package that we want to release.

Pick-to: 6.9 6.8
Change-Id: I8c0403065cff7354699df6f4d16b5a8125277195
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
Reviewed-by: Akseli Salovaara <akseli.salovaara@qt.io>
Reviewed-by: Rami Potinkara <rami.potinkara@qt.io>
(cherry picked from commit 789dff5f26)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-07-02 11:37:00 +00:00
Elias Toivola
4b0354d4f4 wasm: set cache files for Emscripten 4.0.7
Files were prebuild by cloning emsdk repo in their respective VM
produced by Coin provisioning, and running './emsdk install 4.0.7' and
'./emsdk activate 4.0.7' in macOS 15 and OpenSUSE 15.6. And just
'./emsdk install 4.0.7' in Windows 10.

This amends 5510396f4d9f175e7f61a953ea0722ce57d059d4

Task-number: COIN-1232
Change-Id: Ifa768173093c4b6b90599d0fff8b34a1db8b1bbc
Reviewed-by: Lorn Potter <lorn.potter@qt.io>
(cherry picked from commit 82b1992011)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-07-02 05:23:33 +00:00
Elias Toivola
10faee473f wasm: set EMSDK_PYTHON to Python installed in provisioning
Emscripten 4.0.7 requires Python +3.8, OpenSUSE does have Python 3.11
but its path is only set to PYTHON3_EXECUTABLE envvar defined in
08-pythondev.sh.

OpenSUSE 15.6 comes with Python 3.6.15 which the previous emscripten
3.1.70 used.

Change-Id: Ied63ace32b7fb252d124ad447bc56dba353ff403
Reviewed-by: Lorn Potter <lorn.potter@qt.io>
(cherry picked from commit 7471b6b6d2)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-07-02 05:23:31 +00:00
Lorn Potter
8734d6ee50 wasm: update to Emscripten 4.0.7
Change-Id: I687b2a16df17a626febc3fb87cae21240f6521ed
Reviewed-by: Piotr Wierciński <piotr.wiercinski@qt.io>
(cherry picked from commit 7a9387e445)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-07-02 05:23:29 +00:00
Tim Blechmann
37880472c7 provisioning: install flite for ubuntu 24.04, debian 11 and rhel
The flite plugin for QtSpeech wasn't tested on CI as the development
files weren't installed.

Pick-to: 6.9 6.8
Change-Id: Ieefe42f67009b99cc95f54567f224972d12c1538
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
Reviewed-by: Tim Blechmann <tim.blechmann@qt.io>
(cherry picked from commit fb878af9e7)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-07-02 05:23:27 +00:00
Elias Toivola
13864a8f2c Remove Windows 11 23H2 x86_64 from CI
23H2 is replaced by 24H2. [CI Platforms]

Task-number: QTQAINFRA-6734
Change-Id: Ib136f46a6725aeb929d7bd406fbb31a290f71e58
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
(cherry picked from commit 38fe4599c7)
Reviewed-by: Simo Fält <simo.falt@qt.io>
2025-07-02 08:23:24 +03:00
Qt Submodule Update Bot
cbcc230702 Update submodules on '6.10 in qt/qt5'
Change-Id: I568d9d1df0f5b933ea8ed6caed7abc4dd9fde27f
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2025-06-30 18:42:23 +00:00
Michal Klocek
6dc02c60f3 Use run-opengl-test feature for Windows 11 24H2 x86_64
Native WoA builds are done with -no-opengl switch,
therefore native test coin nodes do not need to have
openglsw installed.
(ms-windows-store://pdp/?productid=9NQPSL29BFFF)
However, when trying to run cross compiled WoA on native
test nodes this ends up with:
tst_QOpenGLWindow::create() Failed to load opengl32sw (%1 is not a valid
tst_QOpenGLWindow::create() Failed to load and resolve WGL/OpenGL
function
However, adding no-opengl flag would affect our release binaries
and would remove qt3d and qtdatavisualisation from packaging.
Use run-opengl-test feature instead.

Task-number: COIN-1211
Change-Id: Id21051bc69e431a9d3773c4b4e0c8c2e63315b42
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
(cherry picked from commit c73dbf6dfe)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-06-27 17:24:41 +00:00
Elias Toivola
d3dcf8a993 Switch 24H2 WoA cross compile target's platform dependency to MinGW
This amends c9423aea6c

Task-number: COIN-1211
Change-Id: Icfb3c8c10d094785cae791296f8ced32df313cb9
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
(cherry picked from commit 853c5e2127)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-06-27 17:24:35 +00:00
Elias Toivola
ac00c9bfc4 Make Windows 11 24H2 x86_64 tests as blocking in CI
This change removes 'InsignificantTests' from all 24H2 targets and also
adds 'Packaging' to 24H2 targets that have 'Packaging' in equivalent
23H2 targets. [CI Platforms]

Task-number: QTQAINFRA-6734
Change-Id: I6056ddafcb351875d297ab52565e6b20ba75bb2b
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
(cherry picked from commit 15872ba2cc)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-06-27 17:24:29 +00:00
Qt Submodule Update Bot
2aa711175c Update submodules on '6.10 in qt/qt5'
Change-Id: I08d3450bcb42fccc6b1496c4b4947f855efbec4b
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2025-06-26 17:51:02 +00:00
Toni Saario
8f40282cb7 Update VxWorks builds and images to 25.03
VxWorks version update to 25.03 from 24.03.
Removed xf86drm patch.

Change-Id: Idd5930fae79c68bc6c14cba5245404de9e851ef8
Reviewed-by: Matti Paaso <matti.paaso@qt.io>
(cherry picked from commit 4c3fe22380)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-06-25 19:48:12 +00:00
Toni Saario
8fb747f92e Coin: VxWorks x86_64 add -enable-kvm parameter
This makes the qemu virtualize the target rather than emulating
it. Virtualization allows few times better performance in tests.

Pick-to: 6.9
Change-Id: I7a5f7e3e2b04c52034325459ef05bfc0dce5d0b7
Reviewed-by: Simo Fält <simo.falt@qt.io>
(cherry picked from commit ecff7e6ddc)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-06-25 19:48:06 +00:00
Nils Petter Skålerud
0a2446205f Coin, FFmpeg, iOS: Add output parameter to 'install-ffmpeg-ios.sh'
This patch adds an optional parameter to the provisioning script
'install-ffmpeg-ios.sh', allowing us to override the output directory
for which the finalized library is installed.

This is particularly useful for local builds, where we often need
multiple different versions of FFmpeg installed, for different Qt
versions.

This patch has no impact for existing coin workflows.

Pick-to: 6.9 6.8
Change-Id: Ib0764eb29b84ae8badcfb48424f86316f3b2b650
Reviewed-by: Simo Fält <simo.falt@qt.io>
(cherry picked from commit 0e5937c8a4)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-06-25 19:48:02 +00:00
Nils Petter Skålerud
2f2c8bf347 Coin, FFmpeg, iOS: Apply 'prefix' consistently
In the provisioning script 'install-ffmpeg-ios.sh', we have a variable
'prefix' controlling where to install the finalized library. The value
of this prefix is sometimes hardcoded into some of the temporary build
directories, making the script break if we actually modify the 'prefix'
variable. This means we currently cannot easily change the output
directory.

This patch modifies 'install-ffmpeg-ios.sh' so that the 'prefix' is
applied consistently throughout the script, allowing us to change
the output directory in the future.

Pick-to: 6.9 6.8
Change-Id: I3458984aa22f8c82ed4d0bfac8ac8e71356e8789
Reviewed-by: Simo Fält <simo.falt@qt.io>
(cherry picked from commit d72ace1a0d)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-06-25 19:47:58 +00:00
Nils Petter Skålerud
298d280d64 Coin, FFmpeg, macOS: Add output parameter to 'install-ffmpeg-macos.sh'
This patch adds an optional parameter to the provisioning script
'install-ffmpeg-macos.sh', allowing us to override the output directory
for which the finalized library is installed.

This is particularly useful for local builds, where we often need
multiple different versions of FFmpeg installed, for different Qt
versions.

This patch has no impact for existing coin workflows.

Pick-to: 6.9 6.8
Change-Id: If31922e931db19ab189850b975ce0131a64321b4
Reviewed-by: Simo Fält <simo.falt@qt.io>
(cherry picked from commit 708548742b)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-06-25 19:47:55 +00:00
Elias Toivola
00d2f82e35 Provisioning: Disable Windows multicast device discoveries
Our CI does not need some mDNS multicast services by Windows and they
are spammed by Windows VMs in network with mdns.mcast.net requests.

Pick-to: 6.9 6.8 6.5
Task-number: QTQAINFRA-6761
Change-Id: Ie676f94b81e7281ec84d9fbbfa2fd7f1d28dfbca
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
(cherry picked from commit 066371f7cd)
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
2025-06-24 11:49:51 +00:00
Elias Toivola
2fe0aec0da Windows: Enable LSO back
Large Send Offload (LSO) was originally disabled because it caused
deterioration in network throughput but the cause of that deterioration
is now fixed in infra and LSO should be enabled back as it improves
network performance. LSO is enabled in Windows by default.

Pick-to: 6.9 6.8 6.5
Task-number: QTQAINFRA-7236
Change-Id: I243632d958007142792df0cbd9a341fb2b86df69
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
(cherry picked from commit 4aaba78cb4)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-06-24 11:49:51 +00:00
Nils Petter Skålerud
62fed89867 Coin, FFmpeg, Android: Fix nightly FFmpeg build folder (Unix)
Previous patch 75fea893b1 introduced
a small bug where multiple nightly builds of FFmpeg were being
outputted into the same directory, effectively causing them to
overwrite each other.

This patch gives the nightly builds their own subfolder for outputted
library files.

Task-number: QTQAINFRA-7069
Change-Id: I5f7e111708aecedd2817888948b77b8163f0452d
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
(cherry picked from commit 303b4c13dc)
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
2025-06-24 10:36:59 +00:00
Elias Toivola
b7ee424962 Android: set new NDK envvars for the new Android targets
Set the latest NDK envvars for android-quick-minimal and Android 16.

Task-number: QTQAINFRA-7069
Change-Id: Ib533eeb08a31437967485cc35f40e434c2880108
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
(cherry picked from commit 6e478e595c)
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
2025-06-24 10:36:56 +00:00
Elias Toivola
980cd3659a Build FFmpeg with each Android NDK version
Multiple Android NDKs are installed in provisoning. FFmpeg build uses
NDK in its build process for Android, so this change makes provisioning
build multiple Android FFmpeg builds, so each Android nightly can use a
FFmpeg build where its corresponding NDK version was used.

Task-number: QTQAINFRA-7069
Change-Id: Ie4457c87b7b75e0c711a76bd8170e718cbda445d
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
(cherry picked from commit 75fea893b1)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-06-24 10:36:53 +00:00
Elias Toivola
03f8208be9 Android: set macOS nightly targets for older NDK versions
This change makes macOS provisioning also install older NDKs for
Android (if set), which will be used in nightly targets.

Task-number: QTQAINFRA-7069
Change-Id: Ie176c5ea69a1398afa69691ad6f37b7af2f66dfc
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
(cherry picked from commit bf04a7a94d)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-06-24 10:36:51 +00:00
Rami Potinkara
09ea302a62 Provisioning: Remove OpenSSL 1
This patch removes OpenSSL 1 related sections.

Task-number: QTQAINFRA-7069
Change-Id: If565fb2223b17497553a77fda47fe9dfbdccb32a
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
(cherry picked from commit 16d8060467)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-06-24 10:36:48 +00:00
Elias Toivola
ac22ffaf57 Android: set nightly targets for older NDK versions
This change makes provisioning also install older NDKs for Android,
which will be used in nightly targets.

Task-number: QTQAINFRA-7069
Change-Id: Ia8695383e94df282822da9019c33f1004a879bf6
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
(cherry picked from commit 687b73cde0)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-06-24 10:36:45 +00:00
Elias Toivola
30a92ce1f2 Set-EnvironmentVariable helper: apply envvar to current PS session
When you use the helper to set an envvar in provisioning, you can not
reference the machine scoped variable in a later .ps1 script in the same
provisoning run using the direct/static reference '$env:NAME', instead
you have to use a more verbose method with e.g. 'Get-Item' cmdlet and/or
set the envvar additionally to the process scope yourself.

This change makes the helper also add process scope to the envvars, this
way envvars set in provisioning can be simply referenced with
'$env:NAME' in later provisioning scripts, which is consistent with the
way you can use SetEnvVar helper in Unix and directly reference the
envvar with just its variable name in later .sh scripts.

This change also removes duplicate local scope envvar definitions now
that Set-EnvironmentVariable helper does it.

Change-Id: I804fa8f8dfce742a84e8b4bc077f466820589f7e
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
(cherry picked from commit 33ff9ebc9e)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-06-24 10:36:41 +00:00
Tero Heikkinen
4aff1dbe9a Ubuntu 24.04 aarch64: Upgrade to Ubuntu 24.04.2 LTS in Tier1 Wayland
Old Tier1: qtci-linux-Ubuntu-24.04-aarch64-50 - Wayland
New Tier1: qtci-linux-Ubuntu-24.04-aarch64-52 - Wayland

Software updater subscription had to change:
  - From: Security updates only
  - To:   Security and recommended updates
  - Otherwise provisioning 02-apt.sh updates fail

Task-number: QTQAINFRA-7007
Task-number: QTBUG-127920
Change-Id: Id8f02897bb06b9f84ac7748a9dc10bd0afa0e1c3
Reviewed-by: Liang Qi <liang.qi@qt.io>
Reviewed-by: Simo Fält <simo.falt@qt.io>
(cherry picked from commit d485277f35)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-06-23 04:27:21 +00:00
Liang Qi
67721e94a3 platform_configs: add Wayland tests on Ubuntu 24.04 arm64
with Qt Wayland QPA/client were moved into qtbase.

[CI Platforms]

Change-Id: Ia268f974784c8f2cc0b4245041801a6442eaabce
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
(cherry picked from commit f8b56bf072)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-06-23 04:27:10 +00:00
Liang Qi
d3a73458b6 platform_configs: add DocsGenerationV2 for Ubuntu 24.04 x64
Prepare for documentation-warnings config.

Pick-to: 6.9 6.8
Task-number: QTQAINFRA-7146
Change-Id: Ibc08b33b5b61c80b30506bb6de0b466d3c19f915
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
(cherry picked from commit b42d426d8f)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-06-23 04:27:06 +00:00
Liang Qi
aa988a044e Provisioning: Add Axivion bauhaus suite in Ubuntu 24.04 x64
Change-Id: Ie8617a00d1a2612a478caa534d5d80ca4fcd0a3c
Reviewed-by: Matti Paaso <matti.paaso@qt.io>
(cherry picked from commit 1bbbc59714)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-06-23 04:27:03 +00:00
Nils Petter Skålerud
a4ed8c5c71 Coin, macOS: Call script 'set_tcc_permissions.sh' on macOS x86 targets
Qt Multimedia needs correct permissions set in order to run automated
tests. This is currently being done on our macOS ARM targets, but not
x86 targets.

This patch runs the scripts on relevant x86 targets.

Pick-to: 6.9 6.8
Task-number: QTBUG-137582
Change-Id: Ia13b8f190938b44b8a14fc8c796912910a8d6d88
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
(cherry picked from commit b3aee1c583)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-06-20 19:04:08 +00:00
Michal Klocek
9fa7dcf07e Revert "Add no-opengl to cross-compile WoA"
Adding no-opengl flag affects our release binaries
and removes qt3d and qtdatavisualisation from packaging.
Use run-opengl-tests feature instead.

This reverts commit 9b7d6aedbc.

Task-number: COIN-1211
Fixes: QTBUG-136360
Pick-to: dev
Change-Id: Iaeb1dfa93e33a1f2d94357c6b4c9116e7633fd3f
Reviewed-by: Michael Brüning <michael.bruning@qt.io>
2025-06-20 12:18:11 +02:00
Nils Petter Skålerud
64ee2cb321 Coin, FFmpeg: Check for valid envvars in install-ffmpeg-android.sh
This script requires that we have setup specific environment variables
ahead of time. If they are missing, we are prone to receiving
non-descriptive error messages.

This patch adds checks for the required environment variables, and
gives useful error messages if they are not set correctly.

Pick-to: 6.9 6.8
Change-Id: I0cfb99187f303b22dbdd46a7a848b85dbf571aad
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
(cherry picked from commit 0583292728)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-06-18 20:45:48 +00:00
Nils Petter Skålerud
532005d760 Coin, FFmpeg: Fool-proof fix_ffmpeg_dependencies.sh
This script has previously failed under some configurations, while
also failing to stop provisioning.

This patch enables fast-fail behavior, catches potential issues with
missing executables early with a descriptive error message. This
should allow us to detect if the required packages are missing
in the future, and stop provisioning accordingly.

This patch also installs the necessary packages on the relevant
CI build targets.

Task-number: QTBUG-136930
Pick-to: 6.9 6.8
Change-Id: I7c781264ad67508d19fd44556a9caf0f201638d4
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
(cherry picked from commit 0706273c76)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-06-18 20:45:45 +00:00
Liang Qi
c80fdde69b platform_configs: remove ubuntu-22.04-developer-build
We already have same config in u2404.

Replace the usage of ubuntu-22.04-developer-build with u2404 one.

Pick-to: 6.9 6.8
Task-number: QTQAINFRA-7146
Change-Id: Ie304b3abbe6da9b203c1ce7eec45d7f9254a7392
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
(cherry picked from commit 6db000ab67)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-06-18 05:19:14 +00:00
Liang Qi
e4cc5bd5c1 platform_configs: remove two u2204 tests
We already have two tests on u2404.

Replace the usage of ubuntu-22.04-developer-build-x11-tests with u2404
one.

Pick-to: 6.9 6.8
Task-number: QTQAINFRA-7146
Change-Id: Ib3b1888e1bbb70637432ac70f6116b723e71320d
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
(cherry picked from commit e2e25e8a66)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-06-18 05:19:11 +00:00
Liang Qi
28335a188b platform_configs: remove two tests configs on Wayland
Qt Wayland client was moved into qtbase. We will try to enable
them from qtbase to all modules in the future in dev. For 6.9
and 6.8, they are InsignificantTests, waste some CI resources.
Perhaps we can fix them later, but I don't think it's worthy.

Pick-to: 6.9 6.8
Change-Id: I0f26312284bec4f02da915e829d3a68aac820ceb
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
(cherry picked from commit 57340da291)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-06-18 05:19:08 +00:00
Liang Qi
ef73e7eaa6 Linux: install devel package for libxcb-util
It's needed for static linking with static xcb libs.

xcb-image depends on xcb_aux.h which is in xcb-util package.

Debian-11.6, Ubuntu, openSUSE, SLES already have it.

Pick-to: 6.9 6.8
Task-number: QTBUG-137004
Change-Id: Iffb9ab7d62a2bea3cb8e27354d25957c49911859
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
(cherry picked from commit 3d9bbd5324)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-06-18 05:19:05 +00:00
Olli Vuolteenaho
9c6e9e26c4 QtAA: Drop developer-builds from CI
We used to build the documentation with these configurations but they
changed to developer-builds and the documentation was moved to a
separate configurations (documentation-warnings, offline-documentation).

We added those configurations but ignored the developer-builds, and at
the moment they are not doing anything expect wasting resources when
acquiring VMs, so let's get rid of them.

Pick-to: 6.9
Fixes: QAA-2976
Change-Id: Ia9509e43aec2974bae098de8a2d13ac9d29e2fad
Reviewed-by: Petri Virkkunen <petri.virkkunen@qt.io>
(cherry picked from commit aae8dc578b)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-06-18 05:19:01 +00:00
Tero Heikkinen
2e280013ee Remove SLES 15 SP5 from CI
[CI Platforms]

Task-number: QTQAINFRA-6746
Change-Id: Ib7466af205c11b3576bbc86f64024e9a7d46126b
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
(cherry picked from commit 9c97715ff3)
2025-06-17 12:14:27 +03:00
Tero Heikkinen
0ced62772a Make SLES 15 SP6 tests as blocking in CI
[CI Platforms]

Task-number: QTQAINFRA-6746
Change-Id: I697140edff662fc7846d7c6df411fa4f444906bc
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
(cherry picked from commit fcd4b99100)
2025-06-17 12:14:25 +03:00
Tero Heikkinen
6952228e8b SLES 15 SP6: Change session type to GNOME Classic in Tier1
Change is done in Tier 1 image:
qtci-linux-SLES-15_SP6-x86_64-52

Task-number: QTBUG-136467
Change-Id: I2924f3250dbe914b0c6bc687241725175d5f7aa5
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
(cherry picked from commit 45ffa61110)
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
2025-06-17 12:14:23 +03:00
Axel Spoerl
194091ba5d Pre-provisioning SLES SP6: Select Gnome Classic session type
The Gnome session type boots into the autostart user's Activty Overview.
This overview doesn't allow window activation and fails tst_selftest.
This can't be prevented with gnome-settings or gnome-tweaks.

Add pre-provisioning instruction to select Gnome Classic session type,
which boots into the normal desktop mode.

Fixes: QTBUG-136467
Change-Id: Id189dd948a9a912179e0c86a6cf56f4a2417dfce
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
(cherry picked from commit b3c634b4a5)
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
2025-06-17 12:14:21 +03:00
Elias Toivola
fc4ab56529 SLES 15 SP6: Install gcc11 instead of gcc10
gcc10 was removed from official and SUSE community repositories for SP6.
The missing gcc10 is blocking provisioning so install gcc11 instead. SP5
still has gcc10 and it is active in dev branch.

Task-number: QTQAINFRA-7187
Change-Id: Ie7c9f2175553c29654cf5b358ead6dd76e635d60
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
(cherry picked from commit 10f0d1443c)
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
2025-06-17 12:14:19 +03:00
337 changed files with 2624 additions and 1323 deletions

View File

@@ -104,6 +104,9 @@ AlignEscapedNewlines: Left
# initializer list in list-initialization.
SpaceBeforeCpp11BracedList: false
# Do not reflow any comment
ReflowComments: false
---
# Use the Google-based style for .proto files.
Language: Proto

View File

@@ -421,3 +421,19 @@ function(qt_ir_get_option_as_cmake_flag_option cli_name cmake_option_name out_va
endif()
set(${out_var} "${cmake_option}" PARENT_SCOPE)
endfunction()
# Get the value of a command line option as existing absolute path.
# Yield error if the path does not exist.
# Convert to absolute path if necessary.
function(qt_ir_get_option_as_existing_absolute_path name value)
qt_ir_get_option_value("${name}" path)
if(NOT "${path}" STREQUAL "")
if(NOT EXISTS "${path}")
qt_ir_add_error("The path '${path}' passed with -${name} does not exist.")
endif()
if(NOT IS_ABSOLUTE "${path}")
get_filename_component(path "${path}" ABSOLUTE)
endif()
endif()
set("${value}" "${path}" PARENT_SCOPE)
endfunction()

View File

@@ -295,7 +295,7 @@ function(qt_ir_run_after_args_parsed top_level_src_path out_var_exit_reason)
"${working_directory}")
# Get some additional options to pass down.
qt_ir_get_option_value(alternates alternates)
qt_ir_get_option_as_existing_absolute_path(alternates alternates)
qt_ir_get_option_as_cmake_flag_option(branch "CHECKOUT_BRANCH" checkout_branch_option)
# The prefix for the cmake-style 'dictionary' that will be used by various functions.

View File

@@ -41,7 +41,7 @@ Configurations:
# Build on Ubuntu 24.04 ARM64 Wayland and test on offscreen and Wayland later
-
Id: 'ubuntu-24.04-arm64-developer-build'
Template: 'qtci-linux-Ubuntu-24.04-aarch64-50'
Template: 'qtci-linux-Ubuntu-24.04-aarch64-52'
Compiler: 'GCC'
Features: ['Sccache', 'UseConfigure', 'DoNotRunTests', 'StandaloneExamples']
Configure arguments: '-make examples -developer-build -c++std c++20 -linker lld -qtlibinfix TestInfix -qtnamespace TestNamespace -qpa offscreen\;xcb'
@@ -51,7 +51,7 @@ Configurations:
]
-
Id: 'ubuntu-24.04-arm64'
Template: 'qtci-linux-Ubuntu-24.04-aarch64-50'
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'
@@ -60,10 +60,23 @@ Configurations:
'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'
]
# Test on Ubuntu 24.04 ARM64 Wayland
-
Id: 'ubuntu-24.04-arm64-developer-build-wayland-tests'
Template: 'qtci-linux-Ubuntu-24.04-aarch64-52'
Compiler: 'GCC'
Features: ['TestOnly', 'InsignificantTests', 'VerboseCTestOutput']
Platform dependency: 'ubuntu-24.04-arm64-developer-build'
-
Id: 'ubuntu-24.04-arm64-wayland-tests'
Template: 'qtci-linux-Ubuntu-24.04-aarch64-52'
Compiler: 'GCC'
Features: ['TestOnly', 'InsignificantTests', 'VerboseCTestOutput']
Platform dependency: 'ubuntu-24.04-arm64'
# Test on Ubuntu 24.04 ARM64 offscreen
-
Id: 'ubuntu-24.04-arm64-offscreen-tests'
Template: 'qtci-linux-Ubuntu-24.04-aarch64-50'
Template: 'qtci-linux-Ubuntu-24.04-aarch64-52'
Compiler: 'GCC'
Features: ['TestOnly']
Environment variables: [
@@ -87,7 +100,7 @@ Configurations:
Id: 'ubuntu-24.04-x64'
Template: 'qtci-linux-Ubuntu-24.04-x86_64-50'
Compiler: 'GCC'
Features: ['Sccache', 'UseConfigure', 'DoNotRunTests']
Features: ['Sccache', 'UseConfigure', 'DoNotRunTests', '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',
@@ -99,13 +112,13 @@ Configurations:
Id: 'ubuntu-24.04-x64-developer-build-x11-tests'
Template: 'qtci-linux-Ubuntu-24.04-x86_64-51'
Compiler: 'GCC'
Features: ['Sccache', 'TestOnly']
Features: ['Sccache', 'TestOnly', 'InsignificantTests']
Platform dependency: 'ubuntu-24.04-x64-developer-build'
-
Id: 'ubuntu-24.04-x64-x11-tests'
Template: 'qtci-linux-Ubuntu-24.04-x86_64-51'
Compiler: 'GCC'
Features: ['Sccache', 'TestOnly']
Features: ['Sccache', 'TestOnly', 'InsignificantTests']
Platform dependency: 'ubuntu-24.04-x64'
-
Id: 'opensuse-15.6-developer-build'
@@ -118,19 +131,9 @@ Configurations:
'CMAKE_ARGS=-DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}',
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DQT_DEPLOY_FFMPEG=TRUE'
]
-
Id: 'sles-15_sp5-static'
Template: 'qtci-linux-SLES-15_SP5-x86_64-51'
Compiler: 'GCC'
Features: ['Sccache', 'DisableTests', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM']
Configure arguments: '-nomake examples -static -no-sql-db2 -no-sql-ibase -no-sql-mysql -no-sql-oci -no-sql-psql -no-sql-mimer'
Environment variables: [
'CMAKE_ARGS=-DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}',
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}}'
]
-
Id: 'sles-15_sp6-static'
Template: 'qtci-linux-SLES-15_SP6-x86_64-51'
Template: 'qtci-linux-SLES-15_SP6-x86_64-52'
Compiler: 'GCC'
Features: ['Sccache', 'DisableTests', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM']
Configure arguments: '-nomake examples -static -no-sql-db2 -no-sql-ibase -no-sql-mysql -no-sql-oci -no-sql-psql -no-sql-mimer'
@@ -149,30 +152,20 @@ Configurations:
'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}}',
'Protobuf_ROOT={{.Env.Protobuf_ROOT_msvc}}',
]
-
Id: 'windows-11_23H2-msvc2022'
Template: 'qtci-windows-11_23H2-x86_64-55'
Compiler: 'MSVC2022'
Features: ['Sccache', "DebugAndRelease", 'UseConfigure', 'Packaging', '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}}',
'Protobuf_ROOT={{.Env.Protobuf_ROOT_msvc}}',
'WEBVIEW2_SDK_ROOT={{.Env.WEBVIEW2_SDK_ROOT_PATH}}',
]
-
Id: 'windows-11_24H2-msvc2022'
Template: 'qtci-windows-11_24H2-x86_64-71'
Compiler: 'MSVC2022'
Features: ['Sccache', "DebugAndRelease", 'UseConfigure', 'GenerateSBOM', 'VerifySBOM', 'InsignificantTests']
Features: ['Sccache', 'Packaging', "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}}',
'Protobuf_ROOT={{.Env.Protobuf_ROOT_msvc}}',
'WEBVIEW2_SDK_ROOT={{.Env.WEBVIEW2_SDK_ROOT_PATH}}',
]
-
Id: 'windows-11_22h2-arm64-msvc2022'
@@ -184,64 +177,53 @@ Configurations:
'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',
'Protobuf_ROOT={{.Env.Protobuf_ROOT_msvc}}',
'WEBVIEW2_SDK_ROOT={{.Env.WEBVIEW2_SDK_ROOT_PATH}}',
]
-
Id: 'windows-11_23H2-msvc2022-arm64'
Template: 'qtci-windows-11_23H2-x86_64-55'
Id: 'windows-11_23h2-arm64-msvc2022'
Template: 'qtci-windows-11_23H2-aarch64-53'
Compiler: 'MSVC2022'
Target arch: 'arm64'
Features: ['Sccache', 'DoNotRunTests', 'TargetBuildOnly', 'Packaging', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM']
Platform dependency: 'windows-10_22h2-mingw13'
Features: ['Packaging', '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: [
'Path={{.Env.MINGW_PATH}}\bin;{{.Env.Path}}',
'TARGET_CONFIGURE_ARGS=-debug-and-release -force-debug-info -platform win32-arm64-msvc -no-sql-db2 -no-opengl -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}}',
'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}}',
'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',
'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-71'
Compiler: 'MSVC2022'
Target arch: 'arm64'
Features: ['Sccache', 'DisableTests', 'TargetBuildOnly', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM', 'InsignificantTests']
Platform dependency: 'windows-11_24H2-msvc2022'
Features: ['Sccache', 'Packaging', 'DoNotRunTests', 'TargetBuildOnly', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM']
Platform dependency: 'windows-11_24h2-mingw13'
Environment variables: [
'TARGET_CONFIGURE_ARGS=-debug-and-release -force-debug-info -platform win32-arm64-msvc -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}}',
'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_CONF_x64={{.Env.OPENSSL_CONF_x64_arm64}}',
'OPENSSL_INCLUDE_x64={{.Env.OPENSSL_INCLUDE_x64_arm64}}',
'OPENSSL_LIB_x64={{.Env.OPENSSL_LIB_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-tests'
Template: 'qtci-windows-11_22H2-aarch64-55'
Template: 'qtci-windows-11_23H2-aarch64-53'
Compiler: 'MSVC2022'
Features: ['TestOnly']
Configure arguments: '-no-opengl -cross-compiled'
Platform dependency: 'windows-11_23H2-msvc2022-arm64'
-
Id: 'windows-11_23H2-msvc2022-developer-build'
Template: 'qtci-windows-11_23H2-x86_64-55'
Compiler: 'MSVC2022'
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}}',
'gRPC_ROOT={{.Env.gRPC_ROOT_msvc}}',
]
Configure arguments: '-cross-compiled'
Platform dependency: 'windows-11_24H2-msvc2022-arm64'
-
Id: 'windows-11_24H2-msvc2022-developer-build'
Template: 'qtci-windows-11_24H2-x86_64-71'
Compiler: 'MSVC2022'
Features: ['Sccache', 'DebugAndRelease', 'WarningsAreErrors', 'UseConfigure', 'StandaloneExamples', 'InsignificantTests']
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}}',
@@ -295,8 +277,8 @@ Configurations:
'TARGET_CONFIGURE_ARGS=-developer-build -no-warnings-are-errors -nomake examples -nomake tests -platform macx-visionos-clang',
]
-
Id: 'windows-10_22h2-mingw13'
Template: 'qtci-windows-10_22H2-x86_64-53'
Id: 'windows-11_24h2-mingw13'
Template: 'qtci-windows-11_24H2-x86_64-71'
Compiler: 'Mingw'
Features: ['Packaging', 'Sccache', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM']
Configure arguments: '-release -force-debug-info -separate-debug-info -nomake examples'
@@ -307,24 +289,11 @@ Configurations:
'LLVM_INSTALL_DIR={{.Env.LLVM_INSTALL_DIR_mingw}}',
'Protobuf_ROOT={{.Env.Protobuf_ROOT_mingw}}',
]
-
Id: 'windows-11_23H2-llvm'
Template: 'qtci-windows-11_23H2-x86_64-55'
Compiler: 'Clang'
Features: ['Packaging','Sccache', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM']
Configure arguments: '-release -force-debug-info -separate-debug-info -nomake examples'
Environment variables: [
'Path=C:\llvm-mingw\bin;{{.Env.Path}}',
'CMAKE_ARGS=-DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x64}}\.. -DPostgreSQL_ROOT={{.Env.POSTGRESQL_LIB_x64}}\.. -DCMAKE_IGNORE_PREFIX_PATH=C:/strawberry/c',
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_LLVM_MINGW}} -DQT_DEPLOY_FFMPEG=TRUE -DCMAKE_IGNORE_PREFIX_PATH=C:/strawberry/c',
'LLVM_INSTALL_DIR={{.Env.LLVM_INSTALL_DIR_llvm_mingw}}',
'Protobuf_ROOT={{.Env.Protobuf_ROOT_llvm_mingw}}',
]
-
Id: 'windows-11_24H2-llvm'
Template: 'qtci-windows-11_24H2-x86_64-71'
Compiler: 'Clang'
Features: ['Sccache', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM', 'InsignificantTests']
Features: ['Sccache', 'Packaging', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM']
Configure arguments: '-release -force-debug-info -separate-debug-info -nomake examples'
Environment variables: [
'Path=C:\llvm-mingw\bin;{{.Env.Path}}',
@@ -333,24 +302,11 @@ Configurations:
'LLVM_INSTALL_DIR={{.Env.LLVM_INSTALL_DIR_llvm_mingw}}',
'Protobuf_ROOT={{.Env.Protobuf_ROOT_llvm_mingw}}',
]
-
Id: 'windows-11_23H2-mingw13-developer-build'
Template: 'qtci-windows-11_23H2-x86_64-55'
Compiler: 'Mingw'
Features: ['Sccache', 'WarningsAreErrors', 'UseConfigure', 'StandaloneExamples']
Configure arguments: '-developer-build -release -force-asserts -force-debug-info -separate-debug-info -make examples'
Environment variables: [
'Path={{.Env.MINGW_PATH}}\bin;{{.Env.Path}}',
'CMAKE_ARGS=-DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x64}}\.. -DCMAKE_IGNORE_PREFIX_PATH=C:/strawberry/c -DMySQL_ROOT={{.Env.ENV_MySQL_ROOT}} -DMySQL_LIBRARY_DIR={{.Env.ENV_MySQL_LIBRARY_DIR}}',
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_MINGW}} -DQT_DEPLOY_FFMPEG=TRUE -DCMAKE_IGNORE_PREFIX_PATH=C:/strawberry/c',
'LLVM_INSTALL_DIR={{.Env.LLVM_INSTALL_DIR_mingw}}',
'Protobuf_ROOT={{.Env.Protobuf_ROOT_mingw}}',
]
-
Id: 'windows-11_24H2-mingw13-developer-build'
Template: 'qtci-windows-11_24H2-x86_64-71'
Compiler: 'Mingw'
Features: ['Sccache', 'WarningsAreErrors', 'UseConfigure', 'StandaloneExamples', 'InsignificantTests']
Features: ['Sccache', 'WarningsAreErrors', 'UseConfigure', 'StandaloneExamples']
Configure arguments: '-developer-build -release -force-asserts -force-debug-info -separate-debug-info -make examples'
Environment variables: [
'Path={{.Env.MINGW_PATH}}\bin;{{.Env.Path}}',
@@ -365,7 +321,7 @@ Configurations:
Compiler: 'GCC'
Features: ['Packaging','DebianPackaging','DisableTests', 'Insignificant']
Environment variables: [
'DEBIAN_RULES_REF=6.9_dev',
'DEBIAN_RULES_REF=6.10_dev',
'COIN_TARGET_DIST=tqtc-jammy',
'COIN_EXTRA_DEBIAN_PACKAGES={{.Env.HOME}}/debian_packages/',
'COIN_SBUILD_CHROOT=jammy-arm64-sbuild',
@@ -378,7 +334,7 @@ Configurations:
Compiler: 'GCC'
Features: ['Packaging','DebianPackaging','DisableTests', 'Insignificant']
Environment variables: [
'DEBIAN_RULES_REF=6.9_dev',
'DEBIAN_RULES_REF=6.10_dev',
'COIN_TARGET_DIST=tqtc-jammy',
'COIN_EXTRA_DEBIAN_PACKAGES={{.Env.HOME}}/debian_packages/',
'COIN_SBUILD_CHROOT=jammy-amd64-sbuild',
@@ -391,10 +347,10 @@ Configurations:
Compiler: 'GCC'
Features: ['Packaging','DebianPackaging','DisableTests', 'Insignificant']
Environment variables: [
'DEBIAN_RULES_REF=6.9_gles',
'DEBIAN_RULES_REF=6.10_gles',
'COIN_TARGET_DIST=tqtc-bookworm',
'COIN_EXTRA_DEBIAN_PACKAGES={{.Env.HOME}}/debian_packages/',
'COIN_SBUILD_CHROOT=stable-arm64-sbuild',
'COIN_SBUILD_CHROOT=bookworm-arm64-sbuild',
'COIN_EXTRA_DEBIAN_REPO=deb http://deb.debian.org/debian/ bookworm main',
'COIN_SKIP_DEBIAN_MODULES=qt5 qtqa qtactiveqt qtdoc qtwebengine qtwebview',
]

View File

@@ -24,7 +24,7 @@ Configurations:
Platform dependency: 'ubuntu-22.04'
Features: ['VMSize8', 'UseConfigure', 'DoNotRunTests', 'DoNotUploadTests']
Environment variables: [
'WIND_CC_SYSROOT=/opt/nxp_imx8_1_0_6_3_VSB',
'WIND_CC_SYSROOT=/opt/nxp_imx8_1_0_7_0_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'
]

View File

@@ -1,23 +1,11 @@
Version: 2
Configurations:
-
Id: 'windows-11_23H2-msvc2022-minimal-static-test'
Template: 'qtci-windows-11_23H2-x86_64-55'
Compiler: 'MSVC2022'
Features: ['Sccache', 'UseConfigure', 'Packaging', 'MinimalStaticTests']
Configure arguments: '-static -release -headersclean -nomake examples -qt-libjpeg -no-icu -qt-doubleconversion -qt-zlib -c++std c++20 -no-feature-sql-psql'
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=-DCMAKE_BUILD_TYPE=Release -DFFMPEG_DIR={{.Env.FFMPEG_DIR_MSVC}} -DQT_DEPLOY_FFMPEG=TRUE -DFEATURE_native_grpc=OFF -DFEATURE_clangcpp=OFF -DINPUT_headersclean=ON',
'LLVM_INSTALL_DIR={{.Env.LLVM_INSTALL_DIR_msvc}}',
'Protobuf_ROOT={{.Env.Protobuf_ROOT_msvc}}',
]
-
Id: 'windows-11_24H2-msvc2022-minimal-static-test'
Template: 'qtci-windows-11_24H2-x86_64-71'
Compiler: 'MSVC2022'
Features: ['Sccache', 'UseConfigure', 'MinimalStaticTests', 'InsignificantTests']
Features: ['Sccache', 'Packaging', 'UseConfigure', 'MinimalStaticTests']
Configure arguments: '-static -release -headersclean -nomake examples -qt-libjpeg -no-icu -qt-doubleconversion -qt-zlib -c++std c++20 -no-feature-sql-psql'
Environment variables: [
'CMAKE_ARGS=-DFEATURE_msvc_obj_debug_info=ON -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x64}}\.. -DPostgreSQL_ROOT={{.Env.POSTGRESQL_LIB_x64}}\..',
@@ -36,6 +24,19 @@ Configurations:
'NON_QTBASE_CMAKE_ARGS=-DCMAKE_BUILD_TYPE=Release -DFEATURE_native_grpc=OFF -DFEATURE_clangcpp=OFF -DFEATURE_qdoc=OFF',
'Protobuf_ROOT={{.Env.Protobuf_ROOT_msvc}}',
]
-
Id: 'windows-11_23h2-arm64-msvc2022-minimal-static-test'
Template: 'qtci-windows-11_23H2-aarch64-53'
Compiler: 'MSVC2022'
Features: ['UseConfigure', 'InsignificantTests', 'Packaging', 'MinimalStaticTests']
Configure arguments: '-static -release -headersclean -nomake examples -qt-libjpeg -no-icu -qt-doubleconversion -qt-zlib -c++std c++17 -no-sql-psql'
Environment variables: [
'CMAKE_ARGS=-DFEATURE_msvc_obj_debug_info=ON -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_arm64}}\..',
'NON_QTBASE_CMAKE_ARGS=-DCMAKE_BUILD_TYPE=Release -DFEATURE_native_grpc=OFF -DFEATURE_clangcpp=OFF -DFEATURE_qdoc=OFF',
'VCPKG_HOST_TRIPLET=arm64-windows-qt',
'VCPKG_TARGET_TRIPLET=arm64-windows-qt',
'Protobuf_ROOT={{.Env.Protobuf_ROOT_msvc}}',
]
-
Id: 'rhel-8.10-minimal-static-test'
Template: 'qtci-linux-RHEL-8.10-x86_64-51'
@@ -48,7 +49,7 @@ Configurations:
]
-
Id: 'ubuntu-24.04-arm64'
Template: 'qtci-linux-Ubuntu-24.04-aarch64-50'
Template: 'qtci-linux-Ubuntu-24.04-aarch64-52'
Compiler: 'GCC'
Features: ['Packaging', 'UseConfigure', 'InstallQt5Dependencies', 'DoNotRunTests']
Configure arguments: '-static -nomake examples -release -qt-libjpeg -qt-libpng -qt-pcre -qt-harfbuzz -no-libudev -bundled-xcb-xinput -no-icu -qt-doubleconversion'

View File

@@ -1,40 +1,19 @@
Version: 2
Configurations:
-
Id: 'sles-15_sp5-minimal-static'
Template: 'qtci-linux-SLES-15_SP5-x86_64-51'
Compiler: 'GCC'
Features: ['Sccache', 'MinimalStaticTests', 'UseConfigure']
Configure arguments: '-nomake examples -static -no-sql-db2 -no-sql-ibase -no-sql-mysql -no-sql-oci -no-sql-psql -no-sql-mimer'
Environment variables: [
'CMAKE_ARGS=-DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
]
-
Id: 'sles-15_sp6-minimal-static'
Template: 'qtci-linux-SLES-15_SP6-x86_64-51'
Template: 'qtci-linux-SLES-15_SP6-x86_64-52'
Compiler: 'GCC'
Features: ['Sccache', 'MinimalStaticTests', 'UseConfigure', 'InsignificantTests']
Features: ['Sccache', 'MinimalStaticTests', 'UseConfigure']
Configure arguments: '-nomake examples -static -no-sql-db2 -no-sql-ibase -no-sql-mysql -no-sql-oci -no-sql-psql -no-sql-mimer'
Environment variables: [
'CMAKE_ARGS=-DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
]
-
Id: 'windows-11_23H2-minimal-static'
Template: 'qtci-windows-11_23H2-x86_64-55'
Compiler: 'MSVC2022'
Features: ['Sccache', 'MinimalStaticTests', 'UseConfigure']
Configure arguments: '-release -force-debug-info -static -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_x64}}\..',
'LLVM_INSTALL_DIR={{.Env.LLVM_INSTALL_DIR_msvc}}',
'Protobuf_ROOT={{.Env.Protobuf_ROOT_msvc}}',
'gRPC_ROOT={{.Env.gRPC_ROOT_msvc}}',
]
-
Id: 'windows-11_24H2-minimal-static'
Template: 'qtci-windows-11_24H2-x86_64-71'
Compiler: 'MSVC2022'
Features: ['Sccache', 'MinimalStaticTests', 'UseConfigure', 'InsignificantTests']
Features: ['Sccache', 'MinimalStaticTests', 'UseConfigure']
Configure arguments: '-release -force-debug-info -static -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_x64}}\..',

View File

@@ -10,72 +10,56 @@ Configurations:
Platform dependency: 'macos-universal-on-arm64'
Features: ['Packaging', 'Sccache', 'WarningsAreErrors', 'DisableTests', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM']
Environment variables: [
'TARGET_CONFIGURE_ARGS=-nomake examples -release -force-debug-info -android-ndk {{.Env.ANDROID_NDK_ROOT_DEFAULT}} -android-sdk {{.Env.ANDROID_SDK_ROOT}} -android-abis arm64-v8a',
'TARGET_CMAKE_ARGS=-DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME_DEFAULT}} -DQT_GENERATE_WRAPPER_SCRIPTS_FOR_ALL_HOSTS=ON',
'NON_QTBASE_TARGET_CMAKE_ARGS=-DQT_ADDITIONAL_HOST_PACKAGES_PREFIX_PATH=/usr/local -DFFMPEG_DIR={{.Env.FFMPEG_DIR_ANDROID_ARM64}} -DQT_DEPLOY_FFMPEG=TRUE -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include',
'ANDROID_NDK_ROOT={{.Env.ANDROID_NDK_ROOT_DEFAULT}}'
'TARGET_CONFIGURE_ARGS=-nomake examples -release -force-debug-info -android-ndk {{.Env.ANDROID_NDK_ROOT_LATEST}} -android-sdk {{.Env.ANDROID_SDK_ROOT}} -android-abis arm64-v8a',
'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=-DQT_ADDITIONAL_HOST_PACKAGES_PREFIX_PATH=/usr/local -DFFMPEG_DIR={{.Env.FFMPEG_DIR_ANDROID_ARM64_NDK_LATEST}} -DQT_DEPLOY_FFMPEG=TRUE -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include',
'ANDROID_NDK_ROOT={{.Env.ANDROID_NDK_ROOT_LATEST}}'
]
-
Id: 'android-armv7-on-windows'
Template: 'qtci-windows-10_22H2-x86_64-53'
Template: 'qtci-windows-11_24H2-x86_64-71'
Target os: 'Android_ANY'
Target arch: 'armv7'
Compiler: 'Mingw'
Target compiler: 'Clang'
Platform dependency: 'windows-10_22h2-mingw13'
Platform dependency: 'windows-11_24h2-mingw13'
Features: ['Packaging', 'Sccache', 'WarningsAreErrors', 'DisableTests', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM']
Environment variables: [
'Path={{.Env.MINGW_PATH}}\bin;{{.Env.Path}}',
'TARGET_CONFIGURE_ARGS=-nomake examples -release -force-debug-info -android-ndk {{.Env.ANDROID_NDK_ROOT_DEFAULT}} -android-sdk {{.Env.ANDROID_SDK_ROOT}} -android-abis armeabi-v7a -no-feature-pkg-config',
'TARGET_CMAKE_ARGS=-DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME_DEFAULT}} -DQT_GENERATE_WRAPPER_SCRIPTS_FOR_ALL_HOSTS=ON',
'NON_QTBASE_TARGET_CMAKE_ARGS=-DQT_ADDITIONAL_HOST_PACKAGES_PREFIX_PATH={{.Env.Protobuf_ROOT_mingw}} -DFFMPEG_DIR={{.Env.FFMPEG_DIR_ANDROID_ARMV7}} -DQT_DEPLOY_FFMPEG=TRUE -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR={{.Env.Protobuf_ROOT_msvc}}/include',
'ANDROID_NDK_ROOT={{.Env.ANDROID_NDK_ROOT_DEFAULT}}'
'TARGET_CONFIGURE_ARGS=-nomake examples -release -force-debug-info -android-ndk {{.Env.ANDROID_NDK_ROOT_LATEST}} -android-sdk {{.Env.ANDROID_SDK_ROOT}} -android-abis armeabi-v7a -no-feature-pkg-config',
'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=-DQT_ADDITIONAL_HOST_PACKAGES_PREFIX_PATH={{.Env.Protobuf_ROOT_mingw}} -DFFMPEG_DIR={{.Env.FFMPEG_DIR_ANDROID_ARMV7_NDK_LATEST}} -DQT_DEPLOY_FFMPEG=TRUE -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR={{.Env.Protobuf_ROOT_msvc}}/include',
'ANDROID_NDK_ROOT={{.Env.ANDROID_NDK_ROOT_LATEST}}'
]
-
Id: 'android-9-x86-on-linux'
Template: 'qtci-linux-RHEL-8.10-x86_64-51'
Template: 'qtci-linux-RHEL-9.4-x86_64-50'
Target os: 'Android_ANY'
Target arch: 'x86'
Compiler: 'GCC'
Target compiler: 'Clang'
Platform dependency: 'rhel-8.10'
Platform dependency: 'rhel-9.4'
Features: ['Packaging', 'Sccache', 'WarningsAreErrors', 'AndroidTestRun', 'VMSize8', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM']
Environment variables: [
'TARGET_CONFIGURE_ARGS=-nomake examples -release -force-debug-info -android-ndk {{.Env.ANDROID_NDK_ROOT_DEFAULT}} -android-sdk {{.Env.ANDROID_SDK_ROOT}} -android-abis x86',
'TARGET_CMAKE_ARGS=-DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME_DEFAULT}} -DQT_GENERATE_WRAPPER_SCRIPTS_FOR_ALL_HOSTS=ON',
'NON_QTBASE_TARGET_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_ANDROID_X86}} -DQT_DEPLOY_FFMPEG=TRUE -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include',
'ANDROID_NDK_ROOT={{.Env.ANDROID_NDK_ROOT_DEFAULT}}',
'TARGET_CONFIGURE_ARGS=-nomake examples -release -force-debug-info -android-ndk {{.Env.ANDROID_NDK_ROOT_LATEST}} -android-sdk {{.Env.ANDROID_SDK_ROOT}} -android-abis x86',
'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_NDK_LATEST}} -DQT_DEPLOY_FFMPEG=TRUE -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include',
'ANDROID_NDK_ROOT={{.Env.ANDROID_NDK_ROOT_LATEST}}',
'ANDROID_EMULATOR=emulator_x86_api_28'
]
-
Id: 'android-15-x86_64-on-linux'
Template: 'qtci-linux-RHEL-8.10-x86_64-51'
Id: 'android-16-x86_64-on-linux'
Template: 'qtci-linux-RHEL-9.4-x86_64-50'
Target os: 'Android_ANY'
Target arch: 'x86_64'
Compiler: 'GCC'
Target compiler: 'Clang'
Platform dependency: 'rhel-8.10'
Platform dependency: 'rhel-9.4'
Features: ['Packaging', 'Sccache', 'WarningsAreErrors', 'AndroidTestRun', 'VMSize8', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM']
Environment variables: [
'TARGET_CONFIGURE_ARGS=-nomake examples -release -force-debug-info -android-ndk {{.Env.ANDROID_NDK_ROOT_DEFAULT}} -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_DEFAULT}} -DQT_GENERATE_WRAPPER_SCRIPTS_FOR_ALL_HOSTS=ON',
'NON_QTBASE_TARGET_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_ANDROID_X86_64}} -DQT_DEPLOY_FFMPEG=TRUE -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include',
'ANDROID_NDK_ROOT={{.Env.ANDROID_NDK_ROOT_DEFAULT}}',
'ANDROID_EMULATOR=emulator_x86_64_api_35'
]
-
Id: 'android-16-x86_64-on-linux'
Template: 'qtci-linux-RHEL-8.10-x86_64-51'
Target os: 'Android_ANY'
Target arch: 'x86_64'
Compiler: 'GCC'
Target compiler: 'Clang'
Platform dependency: 'rhel-8.10'
Features: ['Packaging', 'Sccache', 'WarningsAreErrors', 'AndroidTestRun', 'VMSize8', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM', 'InsignificantTests']
Environment variables: [
'TARGET_CONFIGURE_ARGS=-nomake examples -release -force-debug-info -android-ndk {{.Env.ANDROID_NDK_ROOT_DEFAULT}} -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_DEFAULT}} -DQT_GENERATE_WRAPPER_SCRIPTS_FOR_ALL_HOSTS=ON',
'NON_QTBASE_TARGET_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_ANDROID_X86_64}} -DQT_DEPLOY_FFMPEG=TRUE -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include',
'ANDROID_NDK_ROOT={{.Env.ANDROID_NDK_ROOT_DEFAULT}}',
'TARGET_CONFIGURE_ARGS=-nomake examples -release -force-debug-info -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',
'ANDROID_NDK_ROOT={{.Env.ANDROID_NDK_ROOT_LATEST}}',
'ANDROID_EMULATOR=emulator_x86_64_api_36'
]

View File

@@ -15,11 +15,11 @@ Configurations:
]
-
Id: 'webassembly-windows'
Template: 'qtci-windows-10_22H2-x86_64-53'
Template: 'qtci-windows-11_24H2-x86_64-71'
Target os: 'WebAssembly'
Compiler: 'Mingw'
Target compiler: 'Clang'
Platform dependency: 'windows-10_22h2-mingw13'
Platform dependency: 'windows-11_24h2-mingw13'
Features: ['Packaging','DisableTests', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM']
Environment variables: [
'Path={{.Env.EMSDK_PATH}};{{.Env.MINGW_PATH}}\bin;{{.Env.Path}}',

View File

@@ -1,10 +1,5 @@
Version: 2
Configurations:
-
Id: 'ubuntu-22.04-license-check'
Template: 'qtci-linux-Ubuntu-22.04-x86_64-51'
Compiler: 'GCC'
Features: ['TestOnly', 'LicenseCheckV2']
-
Id: 'ubuntu-24.04-x64-license-check'
Template: 'qtci-linux-Ubuntu-24.04-x86_64-50'

View File

@@ -2,16 +2,16 @@ Version: 2
Configurations:
-
Id: 'android-x86-developer-build-testrun-on-linux'
Template: 'qtci-linux-RHEL-8.10-x86_64-51'
Template: 'qtci-linux-RHEL-9.4-x86_64-50'
Target os: 'Android_ANY'
Target arch: 'x86'
Compiler: 'GCC'
Target compiler: 'Clang'
Platform dependency: 'rhel-8.10'
Platform dependency: 'rhel-9.4'
Features: ['Packaging', 'Sccache', 'AndroidTestRun', 'UseConfigure']
Environment variables: [
'TARGET_CONFIGURE_ARGS=-nomake examples -debug -developer-build -android-ndk {{.Env.ANDROID_NDK_ROOT_DEFAULT}} -android-sdk {{.Env.ANDROID_SDK_ROOT}} -android-abis x86',
'TARGET_CMAKE_ARGS=-DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME_DEFAULT}}',
'TARGET_CONFIGURE_ARGS=-nomake examples -debug -developer-build -android-ndk {{.Env.ANDROID_NDK_ROOT_LATEST}} -android-sdk {{.Env.ANDROID_SDK_ROOT}} -android-abis x86',
'TARGET_CMAKE_ARGS=-DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME_LATEST}}',
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_ANDROID}}',
'NON_QTBASE_TARGET_CMAKE_ARGS=',
'ANDROID_EMULATOR=emulator_x86_api_28']

View File

@@ -2,15 +2,15 @@ Version: 2
Configurations:
-
Id: 'android-9-multi-abi'
Template: 'qtci-linux-RHEL-8.10-x86_64-51'
Template: 'qtci-linux-RHEL-9.4-x86_64-50'
Target os: 'Android_ANY'
Target arch: 'multi'
Compiler: 'GCC'
Target compiler: 'Clang'
Platform dependency: [
'rhel-8.10',
'rhel-9.4',
'android-9-x86-on-linux',
'android-15-x86_64-on-linux'
'android-16-x86_64-on-linux'
]
Features: [
'Sccache',
@@ -20,9 +20,9 @@ Configurations:
'InstallDepsPerPlatformSubdir'
]
Environment variables: [
'QT_CI_ARTIFACT_ID_PATH_Android-host=QT_CI_ARTIFACT_ID_PATH_rhel-8.10',
'QT_CI_ARTIFACT_ID_PATH_Android-host=QT_CI_ARTIFACT_ID_PATH_rhel-9.4',
'QT_CI_ARTIFACT_ID_PATH_Android-x86=QT_CI_ARTIFACT_ID_PATH_android-9-x86-on-linux',
'QT_CI_ARTIFACT_ID_PATH_Android-x86_64=QT_CI_ARTIFACT_ID_PATH_android-15-x86_64-on-linux',
'QT_CI_ARTIFACT_ID_PATH_Android-x86_64=QT_CI_ARTIFACT_ID_PATH_android-16-x86_64-on-linux',
'COMMON_TARGET_TEST_CMAKE_ARGS=-DQT_ANDROID_ABIS="x86;x86_64"',
'ANDROID_EMULATOR=emulator_x86_api_28'
]

View File

@@ -0,0 +1,33 @@
Version: 2
Include: [
cmake_platforms.yaml: [
'rhel-9.4'
],
cmake_platforms_target_android.yaml: [
'android-15-x86_64-on-linux',
'android-9-x86-on-linux'
]
]
Configurations: []
# Android nightly to check for -qtnamespace errors/issues
Overrides:
-
Id: 'android-15-x86_64-on-linux'
Features: ['Sccache', 'AndroidTestRun', 'VMSize8', 'UseConfigure']
Environment variables: [
'TARGET_CONFIGURE_ARGS=-qtnamespace TestNamespace -nomake examples -release -force-debug-info -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',
'ANDROID_NDK_ROOT={{.Env.ANDROID_NDK_ROOT_LATEST}}',
'ANDROID_EMULATOR=emulator_x86_64_api_35'
]
-
Id: 'android-9-x86-on-linux'
Features: ['Sccache', 'AndroidTestRun', 'VMSize8', 'UseConfigure']
Environment variables: [
'TARGET_CONFIGURE_ARGS=-qtnamespace TestNamespace -nomake examples -release -force-debug-info -android-ndk {{.Env.ANDROID_NDK_ROOT_LATEST}} -android-sdk {{.Env.ANDROID_SDK_ROOT}} -android-abis x86',
'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_NDK_LATEST}} -DQT_DEPLOY_FFMPEG=TRUE -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include',
'ANDROID_NDK_ROOT={{.Env.ANDROID_NDK_ROOT_LATEST}}',
'ANDROID_EMULATOR=emulator_x86_api_28'
]

View File

@@ -0,0 +1,58 @@
Version: 2
Include: [
cmake_platforms.yaml: [
'rhel-9.4',
'windows-11_24h2-mingw13'
],
cmake_platforms_target_android.yaml: [
'android-15-x86_64-on-linux',
'android-9-x86-on-linux',
'android-armv7-on-windows',
'android-arm64-on-macos'
],
macos.yaml: [
'macos-universal-on-arm64'
]
]
Configurations: []
# Android nightly to check for older (but still supported for the branch) NDKs
Overrides:
-
Id: 'android-15-x86_64-on-linux'
Features: ['Sccache', 'AndroidTestRun', 'VMSize8', 'UseConfigure', 'WarningsAreErrors']
Environment variables: [
'TARGET_CONFIGURE_ARGS=-nomake examples -release -force-debug-info -android-ndk {{.Env.ANDROID_NDK_ROOT_NIGHTLY1}} -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_NIGHTLY1}} -DQT_GENERATE_WRAPPER_SCRIPTS_FOR_ALL_HOSTS=ON',
'NON_QTBASE_TARGET_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_ANDROID_X86_64_NDK_NIGHTLY1}} -DQT_DEPLOY_FFMPEG=TRUE -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include',
'ANDROID_NDK_ROOT={{.Env.ANDROID_NDK_ROOT_NIGHTLY1}}',
'ANDROID_EMULATOR=emulator_x86_64_api_35'
]
-
Id: 'android-9-x86-on-linux'
Features: ['Sccache', 'AndroidTestRun', 'VMSize8', 'UseConfigure', 'WarningsAreErrors']
Environment variables: [
'TARGET_CONFIGURE_ARGS=-nomake examples -release -force-debug-info -android-ndk {{.Env.ANDROID_NDK_ROOT_NIGHTLY1}} -android-sdk {{.Env.ANDROID_SDK_ROOT}} -android-abis x86',
'TARGET_CMAKE_ARGS=-DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME_NIGHTLY1}} -DQT_GENERATE_WRAPPER_SCRIPTS_FOR_ALL_HOSTS=ON',
'NON_QTBASE_TARGET_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_ANDROID_X86_NDK_NIGHTLY1}} -DQT_DEPLOY_FFMPEG=TRUE -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include',
'ANDROID_NDK_ROOT={{.Env.ANDROID_NDK_ROOT_NIGHTLY1}}',
'ANDROID_EMULATOR=emulator_x86_api_28'
]
-
Id: 'android-armv7-on-windows'
Features: ['Sccache', 'WarningsAreErrors', 'DisableTests', 'UseConfigure']
Environment variables: [
'Path={{.Env.MINGW_PATH}}\bin;{{.Env.Path}}',
'TARGET_CONFIGURE_ARGS=-nomake examples -release -force-debug-info -android-ndk {{.Env.ANDROID_NDK_ROOT_NIGHTLY1}} -android-sdk {{.Env.ANDROID_SDK_ROOT}} -android-abis armeabi-v7a -no-feature-pkg-config',
'TARGET_CMAKE_ARGS=-DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME_NIGHTLY1}} -DQT_GENERATE_WRAPPER_SCRIPTS_FOR_ALL_HOSTS=ON',
'NON_QTBASE_TARGET_CMAKE_ARGS=-DQT_ADDITIONAL_HOST_PACKAGES_PREFIX_PATH={{.Env.Protobuf_ROOT_mingw}} -DFFMPEG_DIR={{.Env.FFMPEG_DIR_ANDROID_ARMV7_NDK_NIGHTLY1}} -DQT_DEPLOY_FFMPEG=TRUE -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR={{.Env.Protobuf_ROOT_msvc}}/include',
'ANDROID_NDK_ROOT={{.Env.ANDROID_NDK_ROOT_NIGHTLY1}}'
]
-
Id: 'android-arm64-on-macos'
Features: ['Sccache', 'WarningsAreErrors', 'DisableTests', 'UseConfigure']
Environment variables: [
'TARGET_CONFIGURE_ARGS=-nomake examples -release -force-debug-info -android-ndk {{.Env.ANDROID_NDK_ROOT_NIGHTLY1}} -android-sdk {{.Env.ANDROID_SDK_ROOT}} -android-abis arm64-v8a',
'TARGET_CMAKE_ARGS=-DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME_NIGHTLY1}} -DQT_GENERATE_WRAPPER_SCRIPTS_FOR_ALL_HOSTS=ON',
'NON_QTBASE_TARGET_CMAKE_ARGS=-DQT_ADDITIONAL_HOST_PACKAGES_PREFIX_PATH=/usr/local -DFFMPEG_DIR={{.Env.FFMPEG_DIR_ANDROID_ARM64_NDK_NIGHTLY1}} -DQT_DEPLOY_FFMPEG=TRUE -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include',
'ANDROID_NDK_ROOT={{.Env.ANDROID_NDK_ROOT_NIGHTLY1}}'
]

View File

@@ -0,0 +1,58 @@
Version: 2
Include: [
cmake_platforms.yaml: [
'rhel-9.4',
'windows-11_24h2-mingw13'
],
cmake_platforms_target_android.yaml: [
'android-15-x86_64-on-linux',
'android-9-x86-on-linux',
'android-armv7-on-windows',
'android-arm64-on-macos'
],
macos.yaml: [
'macos-universal-on-arm64'
]
]
Configurations: []
# Android nightly to check for older (but still supported for the branch) NDKs
Overrides:
-
Id: 'android-15-x86_64-on-linux'
Features: ['Sccache', 'AndroidTestRun', 'VMSize8', 'UseConfigure', 'WarningsAreErrors']
Environment variables: [
'TARGET_CONFIGURE_ARGS=-nomake examples -release -force-debug-info -android-ndk {{.Env.ANDROID_NDK_ROOT_NIGHTLY2}} -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_NIGHTLY2}} -DQT_GENERATE_WRAPPER_SCRIPTS_FOR_ALL_HOSTS=ON',
'NON_QTBASE_TARGET_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_ANDROID_X86_64_NDK_NIGHTLY2}} -DQT_DEPLOY_FFMPEG=TRUE -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include',
'ANDROID_NDK_ROOT={{.Env.ANDROID_NDK_ROOT_NIGHTLY2}}',
'ANDROID_EMULATOR=emulator_x86_64_api_35'
]
-
Id: 'android-9-x86-on-linux'
Features: ['Sccache', 'AndroidTestRun', 'VMSize8', 'UseConfigure', 'WarningsAreErrors']
Environment variables: [
'TARGET_CONFIGURE_ARGS=-nomake examples -release -force-debug-info -android-ndk {{.Env.ANDROID_NDK_ROOT_NIGHTLY2}} -android-sdk {{.Env.ANDROID_SDK_ROOT}} -android-abis x86',
'TARGET_CMAKE_ARGS=-DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME_NIGHTLY2}} -DQT_GENERATE_WRAPPER_SCRIPTS_FOR_ALL_HOSTS=ON',
'NON_QTBASE_TARGET_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_ANDROID_X86_NDK_NIGHTLY2}} -DQT_DEPLOY_FFMPEG=TRUE -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include',
'ANDROID_NDK_ROOT={{.Env.ANDROID_NDK_ROOT_NIGHTLY2}}',
'ANDROID_EMULATOR=emulator_x86_api_28'
]
-
Id: 'android-armv7-on-windows'
Features: ['Sccache', 'WarningsAreErrors', 'DisableTests', 'UseConfigure']
Environment variables: [
'Path={{.Env.MINGW_PATH}}\bin;{{.Env.Path}}',
'TARGET_CONFIGURE_ARGS=-nomake examples -release -force-debug-info -android-ndk {{.Env.ANDROID_NDK_ROOT_NIGHTLY2}} -android-sdk {{.Env.ANDROID_SDK_ROOT}} -android-abis armeabi-v7a -no-feature-pkg-config',
'TARGET_CMAKE_ARGS=-DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME_NIGHTLY2}} -DQT_GENERATE_WRAPPER_SCRIPTS_FOR_ALL_HOSTS=ON',
'NON_QTBASE_TARGET_CMAKE_ARGS=-DQT_ADDITIONAL_HOST_PACKAGES_PREFIX_PATH={{.Env.Protobuf_ROOT_mingw}} -DFFMPEG_DIR={{.Env.FFMPEG_DIR_ANDROID_ARMV7_NDK_NIGHTLY2}} -DQT_DEPLOY_FFMPEG=TRUE -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR={{.Env.Protobuf_ROOT_msvc}}/include',
'ANDROID_NDK_ROOT={{.Env.ANDROID_NDK_ROOT_NIGHTLY2}}'
]
-
Id: 'android-arm64-on-macos'
Features: ['Sccache', 'WarningsAreErrors', 'DisableTests', 'UseConfigure']
Environment variables: [
'TARGET_CONFIGURE_ARGS=-nomake examples -release -force-debug-info -android-ndk {{.Env.ANDROID_NDK_ROOT_NIGHTLY2}} -android-sdk {{.Env.ANDROID_SDK_ROOT}} -android-abis arm64-v8a',
'TARGET_CMAKE_ARGS=-DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME_NIGHTLY2}} -DQT_GENERATE_WRAPPER_SCRIPTS_FOR_ALL_HOSTS=ON',
'NON_QTBASE_TARGET_CMAKE_ARGS=-DQT_ADDITIONAL_HOST_PACKAGES_PREFIX_PATH=/usr/local -DFFMPEG_DIR={{.Env.FFMPEG_DIR_ANDROID_ARM64_NDK_NIGHTLY2}} -DQT_DEPLOY_FFMPEG=TRUE -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include',
'ANDROID_NDK_ROOT={{.Env.ANDROID_NDK_ROOT_NIGHTLY2}}'
]

View File

@@ -1,18 +1,18 @@
Version: 2
Include: [
cmake_platforms.yaml: [
windows-10_22h2-mingw13
'windows-11_24h2-mingw13'
]
]
Configurations:
-
Id: 'qnx-710-arm64-on-windows'
Template: 'qtci-windows-10_22H2-x86_64-53'
Template: 'qtci-windows-11_24H2-x86_64-71'
Target os: 'QNX_710'
Target arch: 'arm64'
Compiler: 'Mingw'
Target compiler: 'QCC'
Platform dependency: 'windows-10_22h2-mingw13'
Platform dependency: 'windows-11_24h2-mingw13'
Features: ['DisableTests', 'UseConfigure']
Environment variables: [
'Path={{.Env.MINGW_PATH}}\bin;{{.Env.Path}}',

View File

@@ -1,22 +1,10 @@
Version: 2
Configurations:
-
Id: 'windows-11_23H2-msvc2022-unity-build'
Template: 'qtci-windows-11_23H2-x86_64-55'
Compiler: 'MSVC2022'
Features: ['Sccache', 'Debug', 'UseConfigure', 'DoNotRunTests']
Configure arguments: '-debug -force-debug-info -headersclean -make 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}}\.. -DQT_UNITY_BUILD=ON',
'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}}',
'Protobuf_ROOT={{.Env.Protobuf_ROOT_msvc}}',
]
-
Id: 'windows-11_24H2-msvc2022-unity-build'
Template: 'qtci-windows-11_24H2-x86_64-71'
Compiler: 'MSVC2022'
Features: ['Sccache', 'Debug', 'UseConfigure', 'DoNotRunTests', 'InsignificantTests']
Features: ['Sccache', 'Debug', 'UseConfigure', 'DoNotRunTests']
Configure arguments: '-debug -force-debug-info -headersclean -make 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}}\.. -DQT_UNITY_BUILD=ON',
@@ -36,7 +24,7 @@ Configurations:
]
-
Id: 'ubuntu-24.04-arm64-unity-build'
Template: 'qtci-linux-Ubuntu-24.04-aarch64-50'
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'

View File

@@ -2,20 +2,20 @@ Version: 2
Configurations: []
Include: [
cmake_platforms.yaml: [
'windows-11_23H2-msvc2022-developer-build',
'windows-11_23H2-mingw13-developer-build',
'windows-11_23H2-llvm'
'windows-11_24H2-msvc2022-developer-build',
'windows-11_24H2-mingw13-developer-build',
'windows-11_24H2-llvm'
]
]
# Windows nightly to check for -qtnamespace errors/issues
Overrides:
-
Id: 'windows-11_23H2-msvc2022-developer-build'
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_23H2-mingw13-developer-build'
Id: 'windows-11_24H2-mingw13-developer-build'
Configure arguments: '-qtnamespace TestNamespace -developer-build -release -force-asserts -force-debug-info -separate-debug-info -make examples'
-
Id: 'windows-11_23H2-llvm'
Id: 'windows-11_24H2-llvm'
Features: ['Sccache', 'UseConfigure']
Configure arguments: '-qtnamespace TestNamespace -release -force-debug-info -separate-debug-info -nomake examples'

View File

@@ -5,7 +5,6 @@ Include: [
"ubuntu-22.04",
"ubuntu-22.04-developer-build",
"ubuntu-22.04-developer-build-x11-tests",
"windows-11_23H2-msvc2022-developer-build",
"windows-11_24H2-msvc2022-developer-build",
"ios-universal"
],

View File

@@ -1,46 +1,32 @@
Version: 2
Module only: True
Configurations:
-
Template: 'qtci-windows-11_23H2-x86_64-55'
Compiler: 'MSVC2022'
Features: ['Sccache', 'DebugAndRelease']
Configure arguments: ''
Environment variables: []
Environment script: ['%ProgramFiles%\Microsoft Visual Studio\2022\Professional\VC\Auxiliary\Build\vcvarsall.bat', 'amd64']
-
Template: 'qtci-windows-11_24H2-x86_64-71'
Compiler: 'MSVC2022'
Features: ['Sccache', 'DebugAndRelease', 'InsignificantTests']
Features: ['Sccache', 'DebugAndRelease']
Configure arguments: ''
Environment variables: []
Environment script: ['%ProgramFiles%\Microsoft Visual Studio\2022\Professional\VC\Auxiliary\Build\vcvarsall.bat', 'amd64']
-
Template: 'qtci-linux-RHEL-8.10-x86_64-51'
Template: 'qtci-linux-RHEL-9.4-x86_64-50'
Compiler: 'GCC'
Features: ['Sccache', 'DebugAndRelease']
Configure arguments: ''
Environment variables: []
-
Template: 'qtci-linux-Ubuntu-24.04-aarch64-50'
Template: 'qtci-linux-Ubuntu-24.04-aarch64-52'
Compiler: 'GCC'
Features: ['Sccache', 'DebugAndRelease']
Configure arguments: ''
Environment variables: []
-
Template: 'qtci-macos-14-arm-106'
Template: 'qtci-macos-15-arm-104'
Compiler: 'Clang'
Features: ['Sccache', 'DebugAndRelease']
Configure arguments: ''
Environment variables: []
# without tests
-
Template: 'qtci-windows-11_23H2-x86_64-55'
Compiler: 'MSVC2022'
Features: ['Sccache', 'DebugAndRelease', 'DisableTests']
Configure arguments: ''
Environment variables: []
Environment script: ['%ProgramFiles%\Microsoft Visual Studio\2022\Professional\VC\Auxiliary\Build\vcvarsall.bat', 'amd64']
-
Template: 'qtci-windows-11_24H2-x86_64-71'
Compiler: 'MSVC2022'
@@ -50,31 +36,37 @@ Configurations:
Environment script: ['%ProgramFiles%\Microsoft Visual Studio\2022\Professional\VC\Auxiliary\Build\vcvarsall.bat', 'amd64']
# oldest Qt version
-
Template: 'qtci-windows-11_23H2-x86_64-55'
Template: 'qtci-windows-11_24H2-x86_64-71'
Compiler: 'MSVC2022'
Features: ['Sccache', 'DebugAndRelease', 'OldestQt']
Configure arguments: ''
Environment variables: []
Environment script: ['%ProgramFiles%\Microsoft Visual Studio\2022\Professional\VC\Auxiliary\Build\vcvarsall.bat', 'amd64']
-
Template: 'qtci-windows-11_24H2-x86_64-71'
Compiler: 'MSVC2022'
Features: ['Sccache', 'DebugAndRelease', 'OldestQt', 'InsignificantTests']
Configure arguments: ''
Environment variables: []
Environment script: ['%ProgramFiles%\Microsoft Visual Studio\2022\Professional\VC\Auxiliary\Build\vcvarsall.bat', 'amd64']
-
Template: 'qtci-linux-RHEL-8.10-x86_64-51'
Template: 'qtci-linux-RHEL-9.4-x86_64-50'
Compiler: 'GCC'
Features: ['Sccache', 'DebugAndRelease', 'OldestQt']
Configure arguments: ''
Environment variables: []
-
Template: 'qtci-macos-14-arm-106'
Template: 'qtci-linux-RHEL-8.10-x86_64-51'
Compiler: 'GCC'
Features: ['Sccache', 'DebugAndRelease', 'OldestQt', 'QtC18AndEarlier']
Configure arguments: ''
Environment variables: []
-
Template: 'qtci-macos-15-arm-104'
Compiler: 'Clang'
Features: ['Sccache', 'DebugAndRelease', 'OldestQt']
Configure arguments: ''
Environment variables: []
# Tests GCC 11
-
Template: 'qtci-linux-Ubuntu-22.04-x86_64-51'
Compiler: 'GCC'
Features: ['Sccache', 'DebugAndRelease', 'OldestQt']
Configure arguments: ''
Environment variables: []
# license check
-
Template: 'qtci-linux-Ubuntu-22.04-x86_64-51'

View File

@@ -15,7 +15,7 @@ Configurations:
# Test gcc-14 on Ubuntu 24.04 ARM64 Wayland
-
Id: 'ubuntu-24.04-arm64-gcc14'
Template: 'qtci-linux-Ubuntu-24.04-aarch64-50'
Template: 'qtci-linux-Ubuntu-24.04-aarch64-52'
Compiler: 'GCC'
Features: ['Sccache', 'UseConfigure', 'DoNotRunTests']
Configure arguments: '-developer-build -nomake examples -release -force-debug-info -headersclean -separate-debug-info -qt-pcre -no-libudev -bundled-xcb-xinput'

View File

@@ -10,7 +10,8 @@ Include: [
cmake_platforms_qemu_vxworks_buildtest_static.yaml,
cmake_platforms_qemu_vxworks_tests_static.yaml,
qtlite.yaml,
qtbase-new-compiler-testing.yaml
qtbase-new-compiler-testing.yaml,
quick-bridges.yaml
]
Configurations: []
Overrides:

View File

@@ -7,7 +7,8 @@ Include: [
cmake_platforms_static_tests.yaml,
cmake_platforms_qemu_vxworks_buildtest_static.yaml,
cmake_platforms_qemu_vxworks_tests_static.yaml,
qtlite.yaml
qtlite.yaml,
quick-bridges.yaml
]
Configurations: []
Overrides:

View File

@@ -11,13 +11,8 @@ Configurations:
Template: 'qtci-macos-14-arm-106'
Compiler: 'Clang'
Features: ['TestOnly']
-
Id: 'qtgp-on-windows'
Template: 'qtci-windows-11_23H2-x86_64-55'
Compiler: 'MSVC2022'
Features: ['TestOnly']
-
Id: 'qtgp-on-windows-24h2'
Template: 'qtci-windows-11_24H2-x86_64-71'
Compiler: 'MSVC2022'
Features: ['TestOnly', 'InsignificantTests']
Features: ['TestOnly']

View File

@@ -4,7 +4,8 @@ Include: [
address_sanitizer_platforms.yaml,
integrity.yaml,
cmake_platforms_qemu_vxworks_buildtest_static.yaml,
cmake_platforms_qemu_vxworks_tests_static.yaml
cmake_platforms_qemu_vxworks_tests_static.yaml,
quick-bridges.yaml
]
Configurations: []
Overrides:

View File

@@ -4,6 +4,7 @@ Include: [
address_sanitizer_platforms.yaml,
integrity.yaml,
cmake_platforms_qemu_vxworks_buildtest_static.yaml,
cmake_platforms_qemu_vxworks_tests_static.yaml
cmake_platforms_qemu_vxworks_tests_static.yaml,
quick-bridges.yaml
]
Configurations: []

View File

@@ -9,18 +9,14 @@ Include: [
"ubuntu-22.04-developer-build",
"ubuntu-24.04-arm64",
"opensuse-15.6-developer-build",
"sles-15_sp5-static",
"sles-15_sp6-static",
"windows-10_22h2-msvc2022",
"rhel-8.10",
"windows-10_22h2-mingw13",
"windows-11_23H2-mingw13-developer-build",
"windows-11_23H2-llvm",
"windows-11_23H2-msvc2022",
"windows-11_24h2-mingw13",
"windows-11_24H2-mingw13-developer-build",
"windows-11_24H2-llvm",
"windows-11_24H2-msvc2022",
"windows-11_22h2-arm64-msvc2022"
"windows-11_23h2-arm64-msvc2022"
],
cmake_platforms_qemu_qnx710.yaml: [
"qnx-710-x86_64-developer-build-on-linux",

View File

@@ -10,18 +10,14 @@ Include: [
"ubuntu-22.04-developer-build",
"ubuntu-24.04-arm64",
"opensuse-15.6-developer-build",
"sles-15_sp5-static",
"sles-15_sp6-static",
"windows-10_22h2-msvc2022",
"rhel-8.10",
"windows-10_22h2-mingw13",
"windows-11_23H2-mingw13-developer-build",
"windows-11_23H2-llvm",
"windows-11_23H2-msvc2022",
"windows-11_24h2-mingw13",
"windows-11_24H2-mingw13-developer-build",
"windows-11_24H2-llvm",
"windows-11_24H2-msvc2022",
"windows-11_22h2-arm64-msvc2022"
"windows-11_23h2-arm64-msvc2022"
],
cmake_platforms_qemu_qnx710.yaml: [
"qnx-710-x86_64-developer-build-on-linux",
@@ -54,7 +50,7 @@ Configurations:
]
-
Id: 'Ubuntu-24.04-arm64_Static'
Template: 'qtci-linux-Ubuntu-24.04-aarch64-50'
Template: 'qtci-linux-Ubuntu-24.04-aarch64-52'
Compiler: 'GCC'
Features: ['Packaging', 'Sccache', 'UseConfigure', 'MinimalStaticTests']
Configure arguments: '-static -no-icu -nomake examples -release -headersclean -qt-libjpeg -qt-libpng -qt-pcre -qt-harfbuzz -qt-doubleconversion -no-libudev -bundled-xcb-xinput -no-sql-mysql'
@@ -65,7 +61,7 @@ Configurations:
]
-
Id: 'Windows-MSVC2022-arm64_Static'
Template: 'qtci-windows-11_22H2-aarch64-54'
Template: 'qtci-windows-11_23H2-aarch64-53'
Compiler: 'MSVC2022'
Features: ['Packaging', 'UseConfigure', 'MinimalStaticTests']
Configure arguments: '-release -headersclean -nomake examples -qt-zlib -static -no-icu -no-sql-psql -no-opengl'

View File

@@ -4,6 +4,7 @@ Include: [
address_sanitizer_platforms.yaml,
integrity.yaml,
cmake_platforms_qemu_vxworks_buildtest_static.yaml,
cmake_platforms_qemu_vxworks_tests_static.yaml
cmake_platforms_qemu_vxworks_tests_static.yaml,
quick-bridges.yaml
]
Configurations: []

View File

@@ -4,6 +4,7 @@ Include: [
address_sanitizer_platforms.yaml,
integrity.yaml,
cmake_platforms_qemu_vxworks_buildtest_static.yaml,
cmake_platforms_qemu_vxworks_tests_static.yaml
cmake_platforms_qemu_vxworks_tests_static.yaml,
quick-bridges.yaml
]
Configurations: []

View File

@@ -3,18 +3,4 @@ Include: [
cmake_platforms.yaml,
address_sanitizer_platforms.yaml
]
Configurations:
# Test on Ubuntu 24.04 ARM64 Wayland
-
Id: 'ubuntu-24.04-arm64-developer-build-wayland-tests'
Template: 'qtci-linux-Ubuntu-24.04-aarch64-50'
Compiler: 'GCC'
Features: ['TestOnly', 'RunDependencyTests', 'InsignificantTests']
Platform dependency: 'ubuntu-24.04-arm64-developer-build'
# Test on Ubuntu 24.04 x64 Wayland
-
Id: 'ubuntu-24.04-x64-wayland-tests'
Template: 'qtci-linux-Ubuntu-24.04-x86_64-50'
Compiler: 'GCC'
Features: ['TestOnly', 'RunDependencyTests', 'InsignificantTests']
Platform dependency: 'ubuntu-24.04-x64'
Configurations: []

View File

@@ -0,0 +1,70 @@
Version: 2
Configurations:
-
Id: 'macos-quick-bridges'
Template: 'qtci-macos-15-arm-104'
Compiler: 'Clang'
Features: ['Packaging', 'Sccache', 'UseConfigure', 'DisableTests', 'Insignificant']
Configure arguments: >
-nomake examples
-nomake tests
-release
-force-debug-info
-separate-debug-info
-optimize-size
-shared
-disable-deprecated-up-to 0x070000
-no-feature-widgets
-no-feature-sql
-no-feature-printsupport
-no-feature-dbus
-no-feature-vnc
-no-feature-picture
-no-feature-pdf
-no-feature-network
Environment variables: []
-
Id: 'linux-quick-bridges'
Template: 'qtci-linux-Ubuntu-24.04-x86_64-51'
Compiler: 'GCC'
Features: ['Packaging', 'Sccache', 'UseConfigure', 'DisableTests', 'Insignificant']
Configure arguments: >
-nomake examples
-nomake tests
-release
-force-debug-info
-separate-debug-info
-optimize-size
-shared
-disable-deprecated-up-to 0x070000
-no-feature-widgets
-no-feature-sql
-no-feature-printsupport
-no-feature-dbus
-no-feature-vnc
-no-feature-picture
-no-feature-pdf
Environment variables: []
-
Id: 'windows-quick-bridges'
Template: 'qtci-windows-11_24H2-x86_64-71'
Compiler: 'MSVC2022'
Features: ['Packaging', 'Sccache', "DebugAndRelease", 'UseConfigure', 'DisableTests', 'Insignificant']
Configure arguments: >
-nomake examples
-nomake tests
-debug-and-release
-force-debug-info
-optimize-size
-shared
-disable-deprecated-up-to 0x070000
-no-feature-widgets
-no-feature-sql
-no-feature-printsupport
-no-feature-dbus
-no-feature-vnc
-no-feature-picture
-no-feature-pdf
Environment variables: [
'CMAKE_ARGS=-DFEATURE_msvc_obj_debug_info=ON',
]

View File

@@ -2,10 +2,8 @@ Version: 2
Include: [
cmake_platforms.yaml: [
"documentation-warnings",
"rhel-8.10",
'windows-10_22h2-mingw13',
'ubuntu-22.04-developer-build',
'ubuntu-22.04-developer-build-x11-tests'
"rhel-9.4",
'windows-11_24h2-mingw13',
],
macos.yaml: [
'macos-universal-on-arm64'
@@ -14,39 +12,39 @@ Include: [
'android-arm64-on-macos',
'android-armv7-on-windows',
'android-9-x86-on-linux',
'android-15-x86_64-on-linux'
'android-16-x86_64-on-linux'
],
offline_documentation.yaml
]
Configurations:
-
Id: "automotive-android-14-x86_64-on-linux"
Template: 'qtci-linux-RHEL-8.10-x86_64-51'
Template: 'qtci-linux-RHEL-9.4-x86_64-50'
Target os: 'Android_ANY'
Target arch: 'x86_64'
Compiler: 'GCC'
Target compiler: 'Clang'
Platform dependency: 'rhel-8.10'
Platform dependency: 'rhel-9.4'
Features: ['Packaging', 'Sccache', 'WarningsAreErrors', 'AndroidTestRun', 'VMSize8', 'UseConfigure']
Environment variables: [
'TARGET_CONFIGURE_ARGS=-nomake examples -release -force-debug-info -android-ndk {{.Env.ANDROID_NDK_ROOT_DEFAULT}} -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_DEFAULT}}',
'TARGET_CONFIGURE_ARGS=-nomake examples -release -force-debug-info -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}}',
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_ANDROID}}',
'NON_QTBASE_TARGET_CMAKE_ARGS= -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include',
'ANDROID_EMULATOR=automotive_emulator_x86_64_api_34'
]
-
Id: "automotive-android-10-x86_64-on-linux"
Template: 'qtci-linux-RHEL-8.10-x86_64-51'
Template: 'qtci-linux-RHEL-9.4-x86_64-50'
Target os: 'Android_ANY'
Target arch: 'x86_64'
Compiler: 'GCC'
Target compiler: 'Clang'
Platform dependency: 'rhel-8.10'
Platform dependency: 'rhel-9.4'
Features: ['Packaging', 'Sccache', 'WarningsAreErrors', 'AndroidTestRun', 'VMSize8', 'UseConfigure']
Environment variables: [
'TARGET_CONFIGURE_ARGS=-nomake examples -release -force-debug-info -android-ndk {{.Env.ANDROID_NDK_ROOT_DEFAULT}} -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_DEFAULT}}',
'TARGET_CONFIGURE_ARGS=-nomake examples -release -force-debug-info -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}}',
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_ANDROID}}',
'NON_QTBASE_TARGET_CMAKE_ARGS= -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include',
'ANDROID_EMULATOR=automotive_emulator_x86_64_api_29'

View File

@@ -0,0 +1,64 @@
Version: 2
Include: [
quick-bridges.yaml: [
"macos-quick-bridges",
"linux-quick-bridges",
"windows-quick-bridges"
]
]
Configurations:
-
Id: 'windows-quick-bridges-dotnet'
Template: 'qtci-windows-11_24H2-x86_64-71'
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-71'
Compiler: 'MSVC2022'
Platform dependency: 'windows-quick-bridges'
Features: ['Packaging', 'Sccache', "DebugAndRelease", 'UseConfigure', 'DisableTests', 'RunAsPlatformDependency', 'QtBridgesRust']
-
Id: 'linux-quick-bridges-python'
Template: 'qtci-linux-Ubuntu-24.04-x86_64-51'
Compiler: 'GCC'
Platform dependency: 'linux-quick-bridges'
Features: ['Packaging', 'Sccache', 'UseConfigure', 'DisableTests', 'RunAsPlatformDependency', 'QtBridgesPython']
-
Id: 'linux-quick-bridges-java'
Template: 'qtci-linux-Ubuntu-24.04-x86_64-51'
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'
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-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-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-104'
Compiler: 'Clang'
Platform dependency: 'macos-quick-bridges'
Features: ['Packaging', 'Sccache', 'UseConfigure', 'DisableTests', 'RunAsPlatformDependency', 'QtBridgesSwift']

View File

@@ -80,3 +80,10 @@ chmod 755 ./coin-setup
run ./coin-setup
sudo reboot now
# Select login session type
After reboot into user qt:
- log out
- select session type "Gnome Classic" in session selector on the login sreen (gear wheel on bottom right)
- reboot again with sudo reboot now
- verify that auto login lands in normal desktop

View File

@@ -36,6 +36,8 @@ Connect Your Online Accounts: Skip
Software & Updates:
* Updates:
* Subscribed to: Security updates only
* With 24.04.2:
Security and recommended updates --> to pass provisioning
* Automatically check for updates: Never
* Notify me of a new Ubuntu version: Never

View File

@@ -0,0 +1,90 @@
# Follow manual pre-setup from intra to install Windows 11 ARM and virtio drivers:
# "How to create a Windows 11 ARM tier1 image using Qemu"
# Configure Windows after pre-setup
* Enable Remote Desktop:
- Settings - System - Remote Desktop - On
- Note: Display settings cannot be changed by remote
* Resolution set to 1280x800
- System > Display > Custom scaling > Advanced display
- 1024 x 768 is unchangable by default
* Coin-setup:
- Download from https://[Coin_IP_from_build_logs]/coin/setup --> Windows Setup ARM64 .exe
- Open PowerShell as Administrator
- Run Windows Setup ARM64 .exe
- Verify from output that all these are OK
- Installing Boostrap agent
- Disabling fast boot
- Disabling firewall
- Disabling UAC
- Enabling autologin
- Automatic login
- Disabling windows updates
* Turn off Windows defender:
- Microsoft Defender Antivirus turned off: Open 'gpedit.msc': 'Computer Configuration' - 'Administrative Templates' - 'Windows Components' - 'Microsoft Defender Antivirus'
- Edit 'Turn off Microsoft Defender Antivirus' > 'Enabled' > 'Apply'
- Reboot on Safe mode:
- Open msconfig - Boot tab - enable “Safe boot“ - apply - restart
- In Safe mode:
- Take Ownership of Defender:
- Open properties - Right click "C:\Program Files\Windows Defender\Platform" and select 'Properties'
- Open Security tab - Advanced - Owner: Change - Advanced - Find now - Select Administrators - Ok - Ok - Apply
- Close 'Platform Properties' window for actions to take effect and open 'Properties' again
- This should get 'Disable inheritance' available for the next step
- Remove all Permissions: Permissions tab - Select 'Disable inheritance'
- Remove all entries
-Select 'Remove all inherited permissions from this object'
-Select 'Replace all child object permi…' - Apply
- Disable Windows defender also from RegEdit:
- Open regedit - Navigate to 'HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services'
- Change the following folders the key Start to 4
- Sense (Windows defender advanced threat protection)
- WdBoot (Windows defender boot)
- WdFilter (Microsoft antimalware file system filter driver)
- WdNisDrv (Windows Defender Network Inspection Driver)
- WdNisSvc (Windows Defender Network Inspection Service)
- WinDefend (Windows Defender Antivirus Service)
- mpssvc (Windows Defender Firewall)
- NOTE! Without these step windows defender can't be disabled!
- Reboot back to normal mode
* Background defrag disabled: 'Defragment And Optimize Drives' - 'change settings' - unchecked "run on a schedule"
- Run in terminal: 'schtasks /Delete /TN "Microsoft\Windows\Defrag\ScheduledDefrag"'
- (Running optimize drivers doesn't seem to fix the status, if there's a 10% space optimization recommended)
* Time:
- Settings - System - Date & time - Time zone: '(UTC) Coordinated Universal Time'
- Settings - System - Date & time - "Set the time automatically: Off"
* Regional format:
- Settings - Time & language - Language and region - regional format - English (United States)
* Power saver:
- Settings - System - Power - Screen and sleep: set 'When plugged in, turn off my screen after' to 'never'
* Windows search disabled:
- 'C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Administrative Tools\Services' - 'Windows search' - stop & disable
* Sysmain disabled:
- 'C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Administrative Tools\Services' - 'SysMain' - stop & disable
* Windows update:
- Settings - Windows Update - run available updates
- (Windows update2025-06 Cumulative Update for Windows 11 Version 23H2 for arm64-based Systems (KB5060999))
- After reboot disable windows updates:
- 'C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Administrative Tools\Services' - 'Windows update' - stop & disable
* Turn windows features on or off -> Check the "SMB 1.0/CIFS File Sharing Support"
* Disable Windows Restore Points: Search 'Create a restore point' -> 'System Protection' tab -> Configure C: drive -> Disable & Delete restore points.
* Disable widgets: Right click the task bar -> 'Taskbar settings' -> toggle off anything related to widgets.
* (Restart Windows: shutdown /r)
* Google Chrome installed for RTA
* Virus & threat protection settings:
* Check that there's no active antivirus providers
* Run .NET runtime optimization service: open terminal and run:
Start-Process -NoNewWindow -FilePath "C:\WINDOWS\Microsoft.NET\Framework64\v4.0.30319\ngen.exe" -ArgumentList ExecuteQueuedItems -Wait
- It may be needed to rerun after installing Visual Studio. Just run it until it prints:
"All compilation targets are up to date."
* Activate Windows
# Next
Install Visual Studio 2022 by following msvc2022.txt
Proceed to install pre-provisioning scripts manually to Tier1 image
* Copying scripts happens easiest via Remote Desktop
* Ensure to have sourced scripts e.g. helpers.ps1 included
* If running scripts is restricted: Use these to allow scripts in Tier1
* Get-ExecutionPolicy -List # To check the status
* Set-ExecutionPolicy RemoteSigned -Scope CurrentUser -Force

View File

@@ -0,0 +1,8 @@
# This script will disable automatic disk cleanup
. "$PSScriptRoot\..\..\provisioning\common\windows\helpers.ps1"
Run-Executable "reg.exe" "ADD `"HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\StorageSense\Parameters\StoragePolicy`" /V 04 /T REG_dWORD /D 0 /F"
# Maintenance task used by the system to launch a silent auto disk cleanup when running low on free disk space.
DisableSchedulerTask "DiskCleanup\SilentCleanup"

View File

@@ -0,0 +1,42 @@
# Copyright (C) 2025 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
# Windows 7 does not have Get-ScheduledTask and Unregister-ScheduledTask
# thus needing its own version.
Write-Host "Disabling defragmentation"
$version = Get-CimInstance Win32_OperatingSystem | Select-Object -ExpandProperty Caption
if ($version -like '*Windows 7*'){
$pi = New-Object System.Diagnostics.ProcessStartInfo
$pi.FileName = "C:\Windows\System32\schtasks.exe"
$pi.RedirectStandardError = $true
$pi.UseShellExecute = $false
$pi.Arguments = "/Delete /TN `"\Microsoft\Windows\Defrag\ScheduledDefrag`" /F"
$prog = New-Object System.Diagnostics.Process
$prog.StartInfo = $pi
$prog.Start() | Out-Null
$err = $prog.StandardError.ReadToEnd()
$prog.WaitForExit()
if ($prog.ExitCode -eq 0){
Write-Host "Scheduled defragmentation removed"
} else {
if ($err -like '*cannot find the file*'){
Write-Host "No scheduled defragmentation task found"
exit 0
} else {
Write-Host "Error while deleting scheduled defragmentation task: $err"
}
}
}
else {
try {
$state = (Get-ScheduledTask -ErrorAction Stop -TaskName "ScheduledDefrag").State
Write-Host "Scheduled defragmentation task found in state: $state"
}
catch {
Write-Host "No scheduled defragmentation task found"
exit 0
}
Write-Host "Unregistering scheduled defragmentation task"
Unregister-ScheduledTask -ErrorAction Stop -Confirm:$false -TaskName ScheduledDefrag
Write-Host "Scheduled Defragmentation task was cancelled"
}

View File

@@ -0,0 +1,4 @@
. "$PSScriptRoot\..\..\provisioning\common\windows\helpers.ps1"
# Disable the NTP from syncing
Run-Executable "w32tm.exe" "/config /syncfromflags:NO"

View File

@@ -0,0 +1,72 @@
. "$PSScriptRoot\..\..\provisioning\common\windows\helpers.ps1"
# This script will remove unneeded Tasks from Task Scheduler
# Application Experience 'Microsoft Compatibility Appraiser' - "Collects program telemetry information if opted-in to the Microsoft Customer Experience Improvement Program."
DisableSchedulerTask "Application Experience\Microsoft Compatibility Appraiser"
# Application Experience 'ProgramDataUpdater' - "Collects program telemetry information if opted-in to the Microsoft Customer Experience Improvement Program"
DisableSchedulerTask "Application Experience\ProgramDataUpdater"
# Autochk 'Proxy' - "This task collects and uploads autochk SQM data if opted-in to the Microsoft Customer Experience Improvement Program."
DisableSchedulerTask "Autochk\Proxy"
# Chkdsk 'ProactiveScan' - "NTFS Volume Health Scan"
DisableSchedulerTask "Chkdsk\ProactiveScan"
# Chkdsk 'SyspartRepair'
DeleteSchedulerTask "Chkdsk\SyspartRepair"
# Customer Experience Improvement Program 'Consolidator' - "If the user has consented to participate in the Windows Customer Experience Improvement Program, this job collects and sends usage data to Microsoft."
DisableSchedulerTask "Customer Experience Improvement Program\Consolidator"
# Customer Experience Improvement Program 'sbCeip' - "The USB CEIP (Customer Experience Improvement Program) task collects Universal Serial Bus related statistics and information about your machine and sends it to the Windows Device Connectivity engineering group at Microsoft. The information received is used to help improve the reliability, stability, and overall functionality of USB in Windows. If the user has not consented to participate in Windows CEIP, this task does not do anything."
DisableSchedulerTask "Customer Experience Improvement Program\UsbCeip"
# Device Information 'Device'
DisableSchedulerTask "Device Information\Device"
# Diagnosis 'Scheduled' - "The Windows Scheduled Maintenance Task performs periodic maintenance of the computer system by fixing problems automatically or reporting them through Security and Maintenance."
DisableSchedulerTask "Diagnosis\Scheduled"
# DiskDiagnostic 'Microsoft-Windows-DiskDiagnosticDataCollector' - "The Windows Disk Diagnostic reports general disk and system information to Microsoft for users participating in the Customer Experience Program."
DisableSchedulerTask "DiskDiagnostic\Microsoft-Windows-DiskDiagnosticDataCollector"
# ExploitGuard 'ExploitGuard MDM policy Refresh' - "Task for applying changes to the machine's Exploit Protection settings."
DisableSchedulerTask "ExploitGuard\ExploitGuard MDM policy Refresh"
# Feedback/Siuf 'DmClient'
DisableSchedulerTask "Feedback\Siuf\DmClient"
# Feedback/Siuf 'DmClient'OnScenarioDownload'
DisableSchedulerTask "Feedback\Siuf\DmClientOnScenarioDownload"
# File Classification Infrastructure 'Property Definition Sync'
DisableSchedulerTask "File Classification Infrastructure\Property Definition Sync"
# InstallService 'ScanForUpdates'
DisableSchedulerTask "InstallService\ScanForUpdates"
# InstallService 'ScanForUpdatesAsUser'
DisableSchedulerTask "InstallService\ScanForUpdatesAsUser"
# LanguageComponentsInstaller 'Installation' - "Install language components that match the user's language list."
DisableSchedulerTask "LanguageComponentsInstaller\Installation"
# LanguageComponentsInstaller 'ReconcileLanguageResources' - "Install language components that match the user's language list."
DisableSchedulerTask "LanguageComponentsInstaller\ReconcileLanguageResources"
# PI 'Secure-Boot-Update' - "This task updates the Secure Boot variables."
DisableSchedulerTask "PI\Secure-Boot-Update"
# PI 'Sqm-Tasks' - "This task gathers information about the Trusted Platform Module (TPM), Secure Boot, and Measured Boot."
DisableSchedulerTask "PI\Sqm-Tasks"
# Power Efficiency Diagnotics 'AnalyzeSystem' - "This task analyzes the system looking for conditions that may cause high energy use."
DisableSchedulerTask "PushToInstall\Registration"
# Servicing 'StartComponentCleanup'
DisableSchedulerTask "Servicing\StartComponentCleanup"
# SoftwareProtectionPlatform 'SvcRestartTaskNetwork' - "This task restarts the Software Protection Platform service when a new network is detected"
DisableSchedulerTask "SoftwareProtectionPlatform\SvcRestartTaskNetwork"

View File

@@ -0,0 +1,4 @@
# Disable Smart app control
# Smart app control makes installations extremely slow after defender is disabled.
reg.exe ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CI\Policy" /V VerifiedAndReputablePolicyState /T REG_dWORD /D 0 /F
# Verify: Settings -> Privacy & security -> Windows security -> App & browser control -> Smart App Control settings -> Off

View File

@@ -0,0 +1,13 @@
# Disable UpdateOrchestrator
$name = "UpdateOrchestrator"
$path = "C:\Windows\System32\Tasks\Microsoft\Windows\$name"
takeown /F $path /A /R
icacls $path /grant Administrators:F /T
del "$path\Schedule Scan"
del "$path\Schedule Scan Static Task"
del "$path\USO_UxBroker"
# Disable Update orchestrator service
reg.exe ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\UsoSvc" /V Start /T REG_dWORD /D 4 /F

View File

@@ -0,0 +1,21 @@
# Copyright (C) 2025 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
# Turning off win defender.
#
# If disabled manually, windows will automatically enable it after
# some period of time. Disabling it speeds up the builds.
# NOTE! Windows Defender Antivirus needs to be turned off!
# Open 'gpedit.msc': 'Computer Configuration' - 'Administrative Templates' - 'Windows Components' - 'Windows Defender Antivirus'
# Edit 'Turn off Windows Defender Antivirus' > 'Enabled' > 'Apply'
. "$PSScriptRoot\..\..\provisioning\common\windows\helpers.ps1"
Run-Executable "reg.exe" "ADD `"HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows Defender`" /V DisableAntiSpyware /T REG_dWORD /D 1 /F"
Run-Executable "reg.exe" "ADD `"HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows Defender`" /V DisableRoutinelyTakingAction /T REG_dWORD /D 1 /F"
# Disable 'QueueReporting' - "Windows Error Reporting task to process queued reports."
DisableSchedulerTask "Windows Error Reporting\QueueReporting"
# Disable WindowsUpdate from Task Scheduler
DisableSchedulerTask "WindowsUpdate\Scheduled Start"

View File

@@ -0,0 +1,4 @@
# Disable Windows File Protection
# Windows File Protection feature in Microsoft Windows prevents programs from replacing critical Windows system files.
reg.exe ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /V SFCDisable /T REG_dWORD /D 0xffffff9d /F

View File

@@ -0,0 +1,25 @@
# Windows Update Medic Service (WaaSMedicSvc)'PerformRemediation' helps recover update-related services to the supported configuration.
# WaasMedicSvc keeps re-starting Windows Update, even if it disabled manually.
# Even Admin user don't have privileged to disable PerformRemediation from Task Scheduler which means that WaaSMedicSvc.dll need's to be removed from the system
$limit = (Get-Date).AddMinutes(20)
$path = "C:\Windows\System32\WaaSMedicSvc.dll"
DO {
takeown /F $path
icacls $path /grant Administrators:f
Write-host "Deleting $path"
Try {
del $path
}
Catch [System.UnauthorizedAccessException] {
Write-host "Access to the path '$path' is denied."
Continue
}
if ((Get-Date) -gt $limit) {
exit 1
}
}while (Test-Path -Path "$path")

View File

@@ -0,0 +1,24 @@
# Copyright (C) 2017 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
# This script disables the automatic Windows updates
$service = get-service wuauserv
if (-not $service) {
Write-Host "Windows Update service not found."
exit 0
}
if ($service.Status -eq "Stopped") {
Write-Host "Windows Update service already stopped."
} else {
Write-Host "Stopping Windows Update service."
Stop-Service -Name "wuauserv" -Force
}
$startup = Get-WmiObject Win32_Service | Where-Object {$_.Name -eq "wuauserv"} | Select -ExpandProperty "StartMode"
if ($startup -ne "Disabled") {
set-service wuauserv -startup disabled
} else {
Write-Host "Windows Update service startup already disabled."
}

View File

@@ -0,0 +1,81 @@
### Visual Studio Professional 2022 Official release ###
Visual Studio Professional 2022 version 17.14.7 was installed manually using installer: http://ci-files01-hki.ci.qt.io/input/windows/vs_professional__msvc2022_1339502178.1525841376.exe
This VS installer 17.14.7 version sets (Latest) MSVC version as: 14.44.35207
Installed MSVC-2022 Components:
.NET Framework 4.8.1 targeting pack
.NET Framework 4.8.1 SDK
.NET Framework 4.8 targeting pack
.NET Framework 4.8 SDK
.NET Native
.NET Portable Library targeting pack
CLR data types for SQL Server
Data sources for SQL Server support
SQL Server Command Linne 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# and Visual Basic Roslyn compilers
C++ 2022 Redistributable Update
C++ Cmake tools for Windows
C++/CLI support for v143 build tools (14.44-17.14)
C++/CLI support for v143 build tools (Latest)
MSBuild
MSVC v143 - VS 2022 C++ ARM64/ARM64EC build tools (Latest)
MSVC v143 - VS 2022 C++ ARM64/ARM64EC build tools (v14.44-17.14)
.NET profiling tools
C++ profiling tools
JavaScript diagnostics
Just-In-Time debugger
C# and Visual Basic
C++ core features
JavaScript and TypeScript language support
Razor Language Services
Image and 3D model editors
C++ ATL for latest v143 build tools (ARM)
C++ ATL for latest v143 build tools (ARM64/ARM64EC)
TypeScript Server
Windows 10 SDK (10.0.18362.0)
Windows 10 SDK (10.0.19041.0)
Windows 10 SDK (10.0.20348.0)
Windows 11 SDK (10.0.22000.0)
Windows 11 SDK (10.0.22621.0)
Windows 11 SDK (10.0.26100.3916) # This was available --> installed for COIN-1206 (see later comment)
Windows Universal C Runtime
Windows SDK (10.0.26100.1742) has been earlier downloaded for WoA 22h2 and installed from:
https://developer.microsoft.com/en-us/windows/downloads/windows-sdk/
# COIN-1206
These Components were not found for WoA:
Connectivity and publishing tools
Graphics debugger and GPU profiler for DirectX
TypeScript 4.7 SDK
# NOTE! Workloads were added during installation!
############################################################
### Visual Studio 2022 build tools ###
Visual studio 2022 build tools version 17.14.7 was installed manually using installer: "http://ci-files01-hki.ci.qt.io/input/windows/vs_BuildTools_msvc2022.exe"
* Only default installation, no additional selections
# NOTE! Installing Visual Studio on ARM-powered device is not supported
* Otherwise Visual Studio might be slow or unusable
* Installer recommends "remote targeting" which is suitable for cross-platform development
* VS 2022 build tools has been installed as it is - VS has ARM support since 17.4, but not full support with some workloads
* https://learn.microsoft.com/en-us/visualstudio/install/visual-studio-on-arm-devices?view=vs-2022#supported-workloads
############################################################
### Debugging tools ###
* Check that debugging tools are installed in all installed Windows SDK versions
* Modify 'Windows Software Development Kit - Windows <version number>' from 'Add or remove programs'
- Add feature 'Debugging Tools for Windows'
############################################################

View File

@@ -4,12 +4,12 @@ plugins {
android {
namespace 'com.example.gradle_project'
compileSdk 35
compileSdk 36
defaultConfig {
applicationId "com.example.gradle_project"
minSdk 28
targetSdk 35
targetSdk 36
versionCode 1
versionName "1.0"
}

View File

@@ -6,7 +6,7 @@
android:allowBackup="true"
android:label="gradle_project"
android:supportsRtl="true"
tools:targetApi="34">
tools:targetApi="35">
<activity
android:name=".MainActivity"
android:exported="true">

View File

@@ -1,9 +1,9 @@
[versions]
agp = "8.8.0"
core = "1.13.1"
appcompat = "1.6.1"
material = "1.11.0"
constraintlayout = "2.1.4"
agp = "8.10.1"
core = "1.16.0"
appcompat = "1.7.1"
material = "1.12.0"
constraintlayout = "2.2.1"
[libraries]
core = { group = 'androidx.core', name = "core", version.ref = "core" }

View File

@@ -7,15 +7,65 @@
set -e
function print_help {
echo "Usage: [ANDROID_EMULATOR=<name>] $0 [--avd <name>] [--window] [--help]"
echo ""
echo "This script launches the Android emulator on Qt CI."
echo ""
echo "Options:"
echo " --avd <name> Set the AVD name to launch (overrides ANDROID_EMULATOR env var)"
echo " --window Show the emulator window (default is headless via -no-window)"
echo " --help Show this help message"
echo ""
}
WINDOW_ARG="-no-window"
AVD_NAME_ARG=""
while [ $# -gt 0 ]; do
arg="$1"
case "$arg" in
--help)
print_help
exit 0
;;
--window)
WINDOW_ARG=""
shift
;;
--avd)
if [ -n "$2" ]; then
AVD_NAME_ARG="$2"
shift 2
else
echo "Error: --avd requires an argument"
exit 1
fi
;;
esac
done
EMULATOR_MAX_RETRIES=3
ADB_MAX_TIMEOUT=180
EMULATOR_EXEC="$ANDROID_SDK_ROOT/emulator/emulator"
ADB_EXEC="$ANDROID_SDK_ROOT/platform-tools/adb"
if [ -z "$COIN_CTEST_RESULTSDIR" ]; then
COIN_CTEST_RESULTSDIR="$(pwd)"
fi
LOGCAT_PATH="$COIN_CTEST_RESULTSDIR/emulator_logcat_%iter.txt"
EMULATOR_RUN_LOG_PATH="$COIN_CTEST_RESULTSDIR/emulator_run_log_%iter.txt"
if [ -z "${ANDROID_EMULATOR}" ]; then
echo "No AVD name provided via ANDROID_EMULATOR env variable. Aborting!"
if [ -n "$AVD_NAME_ARG" ]; then
AVD_NAME="$AVD_NAME_ARG"
else
AVD_NAME="$ANDROID_EMULATOR"
fi
if [ -z "${AVD_NAME}" ]; then
echo "No AVD name provided via --avd option or ANDROID_EMULATOR env variable. Aborting!"
echo "Available AVDs names:"
$EMULATOR_EXEC -list-avds | sed 's/^/ /'
exit 1
fi
@@ -25,13 +75,12 @@ function check_for_android_device
}
# WARNING: On the very first boot of the emulator it happens that the device
# "finishes" booting and getprop shows bootanim=stopped and
# boot_completed=1. But sometimes not all packages have been installed (`pm
# list packages` shows only 16 packages installed), and after around half a
# minute the boot animation starts spinning (bootanim=running) again despite
# boot_completed=1 all the time. After some minutes the boot animation stops
# again and the list of packages contains 80 packages. Only then the device is
# fully booted, and only then is dev.bootcomplete=1.
# "finishes" booting and getprop shows boot_completed=1. But sometimes not all
# packages have been installed (`pm list packages` shows only 16 packages
# installed), and after around half a minute the boot animation starts spinning
# again despite boot_completed=1 all the time. After some minutes the boot
# animation stops again and the list of packages contains 80 packages.
# Only then the device is fully booted, and only then is dev.bootcomplete=1.
#
# To reproduce the emulator booting as the first time, you have to delete the
# cached images found inside $HOME/.android/avd/{avd_name}.avd/ especially the
@@ -39,11 +88,10 @@ function check_for_android_device
function check_if_fully_booted
{
# The "getprop" command separates lines with \r\n so we trim them
bootanim=$( timeout 1 "$ADB_EXEC" shell getprop init.svc.bootanim | tr -d '\r\n')
boot_completed=$(timeout 1 "$ADB_EXEC" shell getprop sys.boot_completed | tr -d '\r\n')
bootcomplete=$( timeout 1 "$ADB_EXEC" shell getprop dev.bootcomplete | tr -d '\r\n')
echo "bootanim=$bootanim boot_completed=$boot_completed bootcomplete=$bootcomplete"
[ "$bootanim" = stopped ] && [ "$boot_completed" = 1 ] && [ "$bootcomplete" = 1 ]
echo "boot_completed=$boot_completed bootcomplete=$bootcomplete"
[ "$boot_completed" = 1 ] && [ "$bootcomplete" = 1 ]
}
for counter in $(seq ${EMULATOR_MAX_RETRIES})
@@ -61,10 +109,10 @@ do
LOGCAT_PATH=${LOGCAT_PATH//%iter/${counter}}
EMULATOR_RUN_LOG_PATH=${EMULATOR_RUN_LOG_PATH//%iter/${counter}}
echo "Starting emulator ${ANDROID_EMULATOR}, try ${counter}/${EMULATOR_MAX_RETRIES}" \
echo "Starting emulator ${AVD_NAME}, try ${counter}/${EMULATOR_MAX_RETRIES}" \
| tee "${EMULATOR_RUN_LOG_PATH}"
$EMULATOR_EXEC -avd "$ANDROID_EMULATOR" \
-gpu swiftshader_indirect -no-audio -no-window -no-boot-anim \
$EMULATOR_EXEC -avd "$AVD_NAME" \
-gpu swiftshader_indirect -no-audio $WINDOW_ARG -no-boot-anim \
-cores 4 -memory 16000 -partition-size 4096 \
-detect-image-hang -restart-when-stalled -no-snapshot-save \
-no-nested-warnings -logcat '*:v' -logcat-output "${LOGCAT_PATH}" \
@@ -72,7 +120,7 @@ do
emulator_pid=$!
disown $emulator_pid
echo "Waiting ${ADB_MAX_TIMEOUT} seconds for emulated device to appear..."
echo "Waiting ${ADB_MAX_TIMEOUT} seconds for emulated device to start..."
timeout ${ADB_MAX_TIMEOUT} "$ADB_EXEC" wait-for-device
# Due to some bug in Coin/Go, we can't have the emulator command stream

View File

@@ -1,5 +1,5 @@
#!/usr/bin/env bash
# Copyright (C) 2022 The Qt Company Ltd.
# Copyright (C) 2025 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
# This script install Android sdk and ndk.
@@ -24,14 +24,21 @@ basePath="http://ci-files01-hki.ci.qt.io/input/android"
toolsVersion="2.1"
toolsFile="commandlinetools-linux-6609375_latest.zip"
ndkVersionLatest="r27c"
ndkVersionDefault=$ndkVersionLatest
sdkBuildToolsVersion="35.0.1"
sdkApiLevel="android-35"
sdkBuildToolsVersion="36.0.0"
sdkApiLevel="android-36"
toolsSha1="9172381ff070ee2a416723c1989770cf4b0d1076"
ndkVersionLatest="r27c"
ndkSha1Latest="090e8083a715fdb1a3e402d0763c388abb03fb4e"
ndkSha1Default=$ndkSha1Latest
# Non-latest (but still supported by the qt/qt5 branch) NDKs are installed for nightly targets in:
# coin/platform_configs/nightly_android.yaml
ndkVersionNightly1=$ndkVersionLatest # Same version = skip NDK install for nightly
ndkSha1Nightly1=$ndkSha1Latest
ndkVersionNightly2=$ndkVersionLatest
ndkSha1Nightly2=$ndkSha1Latest
# Android Automotive max SDK level image
sdkApiLevelAutomotiveMax="android-34"
@@ -69,17 +76,22 @@ function InstallNdk() {
androidNdkRoot="${targetFolder}/${zipBase}"
}
InstallNdk $ndkVersionDefault $ndkSha1Default
SetEnvVar "ANDROID_NDK_ROOT_DEFAULT" "$androidNdkRoot"
if [ "$ndkVersionDefault" != "$ndkVersionLatest" ]; then
InstallNdk $ndkVersionLatest $ndkSha1Latest
fi
InstallNdk $ndkVersionLatest $ndkSha1Latest
SetEnvVar "ANDROID_NDK_ROOT_LATEST" "$androidNdkRoot"
if [ "$ndkVersionNightly1" != "$ndkVersionLatest" ]; then
InstallNdk $ndkVersionNightly1 $ndkSha1Nightly1
SetEnvVar "ANDROID_NDK_ROOT_NIGHTLY1" "$androidNdkRoot"
fi
if [ "$ndkVersionNightly2" != "$ndkVersionLatest" ]; then
InstallNdk $ndkVersionNightly2 $ndkSha1Nightly2
SetEnvVar "ANDROID_NDK_ROOT_NIGHTLY2" "$androidNdkRoot"
fi
# To be used by vcpkg
SetEnvVar "ANDROID_NDK_HOME" "$targetFolder/android-ndk-$ndkVersionDefault"
export ANDROID_NDK_HOME="$targetFolder/android-ndk-$ndkVersionDefault"
SetEnvVar "ANDROID_NDK_HOME" "$targetFolder/android-ndk-$ndkVersionLatest"
export ANDROID_NDK_HOME="$targetFolder/android-ndk-$ndkVersionLatest"
echo "Changing ownership of Android files."
if uname -a |grep -q "el7"; then
@@ -146,7 +158,7 @@ echo "Download and unzip Android 9 System Image"
minVersionFileName="x86-28_r08.zip"
minVersionDestination="$sdkTargetFolder/system-images/android-28/google_apis/"
minVersionFilePath="$minVersionDestination/$minVersionFileName"
minVersionCiUrl="$basePath/system-images/google_apis/$minVersionFileName"
minVersionCiUrl="$basePath/system_images/google_apis/$minVersionFileName"
minVersionUrl="https://dl.google.com/android/repository/sys-img/google_apis/$minVersionFileName"
minVersionSha1="41e3b854d7987a3d8b7500631dae1f1d32d3db4e"
@@ -157,45 +169,27 @@ echo "Unzipping the Android 9 to $minVersionDestination"
sudo unzip -o -q "$minVersionFilePath" -d "$minVersionDestination"
rm "$minVersionFilePath"
echo "Download and unzip Android 15 System Image"
maxVersionFileName="x86_64-35_r08.zip"
maxVersionDestination="$sdkTargetFolder/system-images/android-35/google_apis/"
echo "Download and unzip Android 16 System Image"
maxVersionFileName="x86_64-36_r07.zip"
maxVersionDestination="$sdkTargetFolder/system-images/android-36/google_apis/"
maxVersionFilePath="$maxVersionDestination/$maxVersionFileName"
maxVersionCiUrl="$basePath/system-images/google_apis/$maxVersionFileName"
maxVersionCiUrl="$basePath/system_images/google_apis/$maxVersionFileName"
maxVersionUrl="https://dl.google.com/android/repository/sys-img/google_apis/$maxVersionFileName"
maxVersionSha1="d79169884cabc6680cb29d32c2112ad46c858c1b"
maxVersionSha1="c6bf44bdcd885bb902b4ba752d111a073ad7a817"
mkdir -p "$maxVersionDestination"
DownloadURL "$maxVersionCiUrl" "$maxVersionUrl" "$maxVersionSha1" "$maxVersionFilePath"
echo "Unzipping the Android 15 to $maxVersionDestination"
echo "Unzipping the Android 16 to $maxVersionDestination"
sudo unzip -o -q "$maxVersionFilePath" -d "$maxVersionDestination"
rm "$maxVersionFilePath"
echo "Download and unzip Android 16 System Image for insignificant"
insignificantMaxVersionFileName="x86_64-36_r06.zip"
insignificantMaxVersionDestination="$sdkTargetFolder/system-images/android-36/google_apis/"
insignificantMaxVersionFilePath="$insignificantMaxVersionDestination/$insignificantMaxVersionFileName"
insignificantMaxVersionCiUrl="$basePath/system-images/google_apis/$insignificantMaxVersionFileName"
insignificantMaxVersionUrl="https://dl.google.com/android/repository/sys-img/google_apis/$insignificantMaxVersionFileName"
insignificantMaxVersionSha1="a9b0b4a0488e0c6c380f5485507950f011388511"
mkdir -p "$insignificantMaxVersionDestination"
DownloadURL "$insignificantMaxVersionCiUrl" "$insignificantMaxVersionUrl" "$insignificantMaxVersionSha1" "$insignificantMaxVersionFilePath"
echo "Unzipping the Android 16 insignicant to $insignificantMaxVersionDestination"
sudo unzip -o -q "$insignificantMaxVersionFilePath" -d "$insignificantMaxVersionDestination"
rm "$insignificantMaxVersionFilePath"
echo "Checking the contents of Android SDK again..."
ls -l "$sdkTargetFolder"
echo "no" | ./avdmanager create avd -n emulator_x86_api_28 -c 2048M -f \
-k "system-images;android-28;google_apis;x86"
echo "no" | ./avdmanager create avd -n emulator_x86_64_api_35 -c 2048M -f \
-k "system-images;android-35;google_apis;x86_64"
echo "no" | ./avdmanager create avd -n emulator_x86_64_api_36 -c 2048M -f \
-k "system-images;android-36;google_apis;x86_64"
@@ -228,7 +222,7 @@ 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="e5f79573fe2f21cf7bea8f63386f39bb18b351f0"
commit_sha="5bc160bc8385f6a2e590ffb964d1d390c1ab4ce6"
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

View File

@@ -5,9 +5,13 @@
set -ex
function waitLoop {
while sudo fuser /var/lib/dpkg/lock >/dev/null 2>&1; do
echo "Waiting for other software managers to finish... 1/2"
sleep 0.5
done
while sudo fuser /var/lib/dpkg/lock >/dev/null 2>&1 ; do
echo "Waiting for other software managers to finish..."
sleep 0.5
done
while sudo fuser /var/lib/apt/lists/lock >/dev/null 2>&1; do
echo "Waiting for other software managers to finish... 2/2"
sleep 0.5
done
}

View File

@@ -1,5 +1,23 @@
{
"Analysis": {
"CWE-119": {
"_active": true
},
"CWE-125": {
"_active": true
},
"CWE-190": {
"_active": true
},
"CWE-416": {
"_active": true
},
"CWE-476": {
"_active": true
},
"CWE-787": {
"_active": true
},
"CloneDetection": {
"_active": true,
"excludes": [
@@ -203,8 +221,8 @@
"_Format": "1.0",
"_VersionNum": [
7,
8,
0,
15004
10,
4,
17655
]
}

View File

@@ -13,21 +13,21 @@ source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
######### VXworks libs #########
# Installs to /opt/vxworks
PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/vxworks/vxworks_libs_2403.tar.gz"
PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/vxworks/vxworks_libs_2503.tar.gz"
AltUrl=""
sha1="8152c527ca489b1e51f2954e6e88c6daa22d88f6"
sha1="96db52d86c2138a1ca31212372f48838ec08013e"
targetFolder="/opt"
InstallFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$sha1" "$targetFolder" ""
SetEnvVar "VXWORKS_HOME" "/opt/vxworks"
SetEnvVar "VXWORKS_SSH" "WindRiver@172.31.1.10"
# IMX 6
VXWORKS_BUILD_VER="07-11-2024"
VXWORKS_BUILD_VER="16-04-2025"
######### VXworks toolchain #########
# Installs to /opt/fsl_imx6_2_0_6_2_VSB
PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/vxworks/vxworks_arm_vsb_${VXWORKS_BUILD_VER}.tar.gz"
AltUrl=""
sha1="f4745e9b84a781fe2c0a44abee189fcdf1c2c100"
sha1="88f0f139ac62e8c0a4c5477d880a1ff345826479"
targetFolder="/opt/"
InstallFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$sha1" "$targetFolder" ""
SetEnvVar "WIND_CC_SYSROOT" "/opt/fsl_imx6_2_0_6_2_VSB"
@@ -36,30 +36,28 @@ SetEnvVar "WIND_CC_SYSROOT" "/opt/fsl_imx6_2_0_6_2_VSB"
# Installs to /opt/fsl_imx6_2_0_6_2_VIP_QEMU
PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/vxworks/vxworks_arm_vip_${VXWORKS_BUILD_VER}.tar.gz"
AltUrl=""
sha1="186d7da071005d67d898a56cf57b7bec664bb89e"
sha1="96056c0f9b1234160db2d9038a9e6fc24a2bbbd7"
targetFolder="/opt/"
InstallFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$sha1" "$targetFolder" ""
# IMX 8
VXWORKS_BUILD_VER="03-03-2025"
# Installs to /opt/nxp_imx8_1_0_6_3_VSB
PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/vxworks/vxworks_arm_imx8_vsb_${VXWORKS_BUILD_VER}.tar.gz"
AltUrl=""
sha1="d7afe3f57748b87f6ea8932f079c18e67a58f30e"
sha1="cf6194b78bf08b894397fd5ce2a57abd25cf497b"
targetFolder="/opt/"
InstallFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$sha1" "$targetFolder" ""
VXWORKS_BUILD_VER="18-12-2024"
# Installs to /opt/itl_generic_skylake_VSB
PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/vxworks/vxworks_intel_vsb_${VXWORKS_BUILD_VER}.tar.gz"
AltUrl=""
sha1="c1b2f2e2903540e8005237ce3641fc043ced0ddf"
sha1="4c75222364d3907db9fb1605cabe0c92616d9ec9"
targetFolder="/opt/"
InstallFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$sha1" "$targetFolder" ""
# Installs to /opt/itl_generic_skylake_VIP_QEMU
PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/vxworks/vxworks_intel_vip_${VXWORKS_BUILD_VER}.tar.gz"
AltUrl=""
sha1="2fa12dac1f1460019a418da49b095c743a9fe282"
sha1="c3af7da92832ea71201dcf1022d7404966291f5c"
targetFolder="/opt/"
InstallFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$sha1" "$targetFolder" ""

View File

@@ -35,6 +35,7 @@ elif [ "$TYPE" = "intel" ]; then
-smp 8 \
-m 16G \
-cpu "Skylake-Client" \
-enable-kvm \
-monitor none \
-nographic \
-serial null \

View File

@@ -20,11 +20,16 @@ toolsVersion="2.1"
# toolsFile dertermines tools version
toolsFile="commandlinetools-mac-6609375_latest.zip"
# Non-latest (but still supported by the qt/qt5 branch) NDKs are installed for nightly targets in:
# coin/platform_configs/nightly_android.yaml
ndkVersionLatest="r27c"
ndkVersionDefault="$ndkVersionLatest"
sdkBuildToolsVersion="35.0.1"
ndkVersionNightly1="$ndkVersionLatest" # If same version as latest = skip NDK install for nightly
ndkVersionNightly2="$ndkVersionLatest"
sdkBuildToolsVersion="36.0.0"
# this is compile sdk version
sdkApiLevel="android-35"
sdkApiLevel="android-36"
toolsSourceFile="$basePath/$toolsFile"
@@ -40,8 +45,18 @@ function InstallNdk() {
}
InstallNdk $ndkVersionDefault
InstallNdk $ndkVersionLatest
SetEnvVar "ANDROID_NDK_ROOT_LATEST" "$targetFolder/android-ndk-$ndkVersionLatest"
if [ "$ndkVersionNightly1" != "$ndkVersionLatest" ]; then
InstallNdk $ndkVersionNightly1
SetEnvVar "ANDROID_NDK_ROOT_NIGHTLY1" "$targetFolder/android-ndk-$ndkVersionNightly1"
fi
if [ "$ndkVersionNightly2" != "$ndkVersionLatest" ]; then
InstallNdk $ndkVersionNightly2
SetEnvVar "ANDROID_NDK_ROOT_NIGHTLY2" "$targetFolder/android-ndk-$ndkVersionNightly2"
fi
echo "Unzipping Android Tools to '$sdkTargetFolder'"
sudo unzip -q "$toolsSourceFile" -d "$sdkTargetFolder"
@@ -65,8 +80,6 @@ echo "Checking the contents of Android SDK..."
ls -l "$sdkTargetFolder"
SetEnvVar "ANDROID_SDK_ROOT" "$sdkTargetFolder"
SetEnvVar "ANDROID_NDK_ROOT_DEFAULT" "$targetFolder/android-ndk-$ndkVersionDefault"
SetEnvVar "ANDROID_NDK_ROOT_LATEST" "$targetFolder/android-ndk-$ndkVersionLatest"
SetEnvVar "ANDROID_NDK_HOST" "darwin-x86_64"
SetEnvVar "ANDROID_API_VERSION" "$sdkApiLevel"
@@ -74,5 +87,7 @@ cat << EOT >>~/versions.txt
Android SDK tools = $toolsVersion
Android SDK Build Tools = $sdkBuildToolsVersion
Android SDK API level = $sdkApiLevel
Android NDK = $ndkVersionDefault
Android NDK latest = $ndkVersionLatest
Android NDK nightly1 = $ndkVersionNightly1
Android NDK nightly2 = $ndkVersionNightly2
EOT

View File

@@ -0,0 +1,9 @@
#!/bin/bash
# Copyright (C) 2025 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
# Delete GCA plists and leases plist to force their regeneration after next reboot
# This avoids IPv6 link-local address collision that would happen with
# multiple VMs from same image.
sudo rm -rf /var/db/dhcpclient

View File

@@ -15,6 +15,13 @@ disableSpotlight() {
sudo mdutil -E / || return 1
}
fixUnknownIndexingState() {
echo "Fix unknown indexing state by enabling indexing back one by one"
sudo mdutil -i on / || return 1
sudo mdutil -i on /System/Volumes/Preboot || return 1
sudo mdutil -i on /System/Volumes/Data || return 1
}
# Disabling spotlight tends to be flaky, add some retry
for i in $(seq 1 5)
do
@@ -25,7 +32,8 @@ do
echo "Spotlight disabled"
break
else
echo "Failed to disable spotlight, $i retry..."
echo "Failed to disable spotlight, $i run fix and retry..."
fixUnknownIndexingState
sleep 2
fi
done

View File

@@ -23,7 +23,7 @@ DownloadURL "$urlCache" "$urlOccifical" "$sha" "/tmp/Docker_${chip}.dmg"
sudo hdiutil attach "/tmp/Docker_${chip}.dmg"
sudo /Volumes/Docker/Docker.app/Contents/MacOS/install --accept-license --user qt
sudo hdiutil detach /Volumes/Docker
sudo hdiutil detach /Volumes/Docker -force
# Add registry mirror for docker images
mkdir "$HOME/.docker"

View File

@@ -12,10 +12,10 @@ INSTALLTYPE="$1"
VERSION="$2"
CHECKSUM="$3"
DEFAULT_PKG_VERSION="4.4.21"
DEFAULT_PKG_VERSION_CHECKSUM="cd83c4123d5db7d07eb3042f1c785ed7f599183c5c542040bc6abfa722583861"
DEFAULT_GIT_VERSION="deb02e27d99fd2cb27ae16760e3a5272b612fded"
DEFAULT_GIT_VERSION_CHECKSUM="a30b9fbf0d5c2cff3eb1d0643cceee30d8ba6ea1bb7bcabf60d3188bd62e6ba6"
DEFAULT_PKG_VERSION="4.6.8"
DEFAULT_PKG_VERSION_CHECKSUM="91157b34fcc58eeaf4149f2f2b3063f2904a3d5e5cc3bf84d3c79627ba26afd9"
DEFAULT_GIT_VERSION="bce07c53def3dbe54aa14a88adfc63eb7ba91f48"
DEFAULT_GIT_VERSION_CHECKSUM="c95d3a95a38f9c2cb122335a2101d49af196a1c5"
source "$(dirname "$0")"/../../common/unix/DownloadURL.sh
source "$(dirname "$0")"/../../common/unix/SetEnvVar.sh
@@ -32,8 +32,6 @@ installPkg() {
"/tmp/Homebrew-$VERSION.pkg"
sudo installer -pkg "/tmp/Homebrew-$VERSION.pkg" -target /
# Add homebrew to PATH
SetEnvVar "PATH" "/opt/homebrew/bin:\$PATH"
echo "Homebrew = $VERSION" >> ~/versions.txt
}
@@ -55,7 +53,7 @@ installGit() {
DownloadURL "http://ci-files01-hki.ci.qt.io/input/semisecure/sign/pw" "http://ci-files01-hki.ci.qt.io/input/semisecure/sign/pw" "aae58d00d0a1b179a09f21cfc67f9d16fb95ff36" "/Users/qt/pw"
{ pw=$(cat "/Users/qt/pw"); } 2> /dev/null
sudo chmod 755 /tmp/homebrew_install.sh
{ (echo "$pw" | /tmp/homebrew_install.sh); } 2> /dev/null
{ (echo "$pw" | CI=1 /tmp/homebrew_install.sh); } 2> /dev/null
rm -f "/Users/qt/pw"
}
@@ -65,7 +63,20 @@ else
installPkg
fi
ARCH_TYPE=$(arch)
# Add homebrew to PATH
if [ "$ARCH_TYPE" == "arm64" ]; then
SetEnvVar "PATH" "/opt/homebrew/bin:\$PATH"
else
SetEnvVar "PATH" "/usr/local/bin:\$PATH"
fi
# Disable non-ascii output for homebrew to make logs more readable
SetEnvVar "HOMEBREW_NO_COLOR" "1"
SetEnvVar "HOMEBREW_NO_EMOJI" "1"
SetEnvVar "HOMEBREW_NO_ENV_HINTS" "1"
# Update homebrew to make sure we are compatible with homebrew servers
source ~/.zshrc
brew update
brew upgrade

View File

@@ -3,6 +3,7 @@
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
# This script builds and installs FFmpeg shared libs
# Can take an optional final parameter to control installation directory
set -ex
@@ -18,7 +19,8 @@ source "${BASH_SOURCE%/*}/../unix/ffmpeg-installation-utils.sh"
ffmpeg_source_dir=$(download_ffmpeg)
ffmpeg_name=$(basename "$ffmpeg_source_dir")
ffmpeg_config_options=$(get_ffmpeg_config_options "shared")
prefix="/usr/local/$ffmpeg_name"
default_prefix="/usr/local/$ffmpeg_name"
prefix="${2:-$default_prefix}"
build_ffmpeg() {
local arch="$1"

View File

@@ -0,0 +1,23 @@
#!/usr/bin/env bash
#Copyright (C) 2025 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 -ex
# shellcheck source=../common/unix/SetEnvVar.sh
source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
# shellcheck source=./DownloadURL.sh
source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh"
installerFile="pyenv-installer"
sha="1c2f20c26dc8bb7409a6031e8777c0c1b2aae9da"
cacheUrl="https://ci-files01-hki.ci.qt.io/input/python/pyenv/${installerFile}"
target="${installerFile}"
DownloadURL "$cacheUrl" "" "$sha" "$target"
chmod +x "$target"
"./$target"
SetEnvVar "PYENV_ROOT" "/Users/qt/.pyenv"
SetEnvVar "PATH" "\$PYENV_ROOT/bin:\$PATH"
rm -f "$target"

View File

@@ -9,7 +9,17 @@ set -ex
# shellcheck source=../unix/SetEnvVar.sh
source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
brew install --formula "${BASH_SOURCE%/*}/libiodbc.rb" "$@"
# HOMEBREW_DIR depends on acrhitecture
ARCH_TYPE=$(arch)
if [ "$ARCH_TYPE" == "arm64" ]; then
HOMEBREW_DIR="/opt/homebrew/Library/Taps/local/homebrew-libiodbc/Formula"
else
HOMEBREW_DIR="/usr/local/Homebrew/Library/Taps/local/homebrew-libiodbc/Formula"
fi
brew tap-new local/libiodbc
cp "${BASH_SOURCE%/*}/libiodbc.rb" "$HOMEBREW_DIR/"
brew install local/libiodbc/libiodbc "$@"
read -r -a arr <<< "$(brew list --versions libiodbc)"
version=${arr[1]}

View File

@@ -0,0 +1,8 @@
#!/usr/bin/env bash
#Copyright (C) 2025 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
# Install 7z to be used from command line
set -ex
brew install p7zip

View File

@@ -41,6 +41,9 @@ SERVICES+=("kTCCServiceBluetoothAlways|$HOME")
# a test fails.
SERVICES+=("kTCCServiceScreenCapture|/")
# Squish requires kTCCServiceAccessibility
SERVICES+=("kTCCServiceAccessibility|/")
# ------ Implementation ------
function add_permission_for_client() {

View File

@@ -2,16 +2,39 @@
# Copyright (C) 2024 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 -x
set -euox pipefail
lib_dir="$1/lib"
additional_suffix="${2:-}"
set_rpath="${3:-yes}"
# readelf and patchelf are prerequisite tools for this script. Check
# that they are available.
if [ "$(uname -s)" = "Darwin" ]; then
# Under Homebrew, binutils package is not symlinked into PATH.
# This lets us use readelf provided by Homebrew.
readelf() { "$(brew --prefix binutils)/bin/readelf" "$@"; }
readelf_homebrew_path="$(brew --prefix binutils)/bin/readelf"
if [[ ! -x "$readelf_homebrew_path" ]]; then
echo "Found no valid readelf executable. It is possible it was not correctly installed through Homebrew."
exit 1
fi
readelf() { "$readelf_homebrew_path" "$@"; }
fi
if ! command -v readelf; then
echo "Found no valid readelf command. It is possible it was not correctly installed."
exit 1
fi
if ! command -v patchelf; then
echo "Found no valid patchelf command. It is possible it was not correctly installed."
exit 1
fi
# Get patchelf version
patchelf_version=$(patchelf --version 2>/dev/null | awk '{print $2}')
if [[ "$patchelf_version" == "0.18.0" ]]; then
echo "WARNING: patchelf version 0.18.0 is known to have issues with Android." >&2
fi
ffmpeg_libs=("avcodec" "avdevice" "avfilter" "avformat" "avutil" "swresample" "swscale")

View File

@@ -3,4 +3,5 @@ spdx-tools>=0.8.0 ; python_version >= '3.9'
ntia-conformance-checker ; python_version >= '3.9'
sbomaudit ; python_version >= '3.9'
sbom2doc ; python_version >= '3.9'
reuse ; python_version >= '3.9'
reuse<=5.1.1 ; python_version >= '3.9'
cyclonedx-python-lib==11.0.0 ; python_version >= '3.9'

View File

@@ -4,12 +4,13 @@ RUN apt-get update && apt-get -y install $packages
# Get californium-based CoAP test server
WORKDIR /root/src
ADD californium-*.tar.gz .
ADD californium-3.8.0.tar.gz .
RUN mv californium-* californium
WORKDIR /root/src/californium
ADD qt_changes.patch ./
RUN patch -p1 < qt_changes.patch
RUN mvn clean install -q -DskipTests
ADD californium-m2deps-3.8.0.tar.gz /root
RUN mvn clean install -o -q -DskipTests
WORKDIR /
EXPOSE 5683/udp 5684/udp

View File

@@ -60,6 +60,16 @@ DownloadURL \
24f8ca393f26c922739462e4586b8ced1ff75f99bfa795defa34a967b5a4a5a0 \
californium-3.8.0.tar.gz
mv californium-3.8.0.tar.gz "$SERVER_PATH/californium/"
# Download cached maven dependencies for californium.
# The dependency archive is built by
# "mvn dependency:go-offline -DskipTests -Dos.detected.classifier=linux-x86_64"
# and archived from /root/.m2
DownloadURL \
http://ci-files01-hki.ci.qt.io/input/docker/californium-m2deps-3.8.0.tar.gz \
http://ci-files01-hki.ci.qt.io/input/docker/californium-m2deps-3.8.0.tar.gz \
e2fade7dde3cca02bb910eed99a5d8b5cb8ff945240c65bf06ce50411d70d3f2 \
californium-m2deps-3.8.0.tar.gz
mv californium-m2deps-3.8.0.tar.gz "$SERVER_PATH/californium/"
echo 'Building the docker images...'

View File

@@ -8,15 +8,15 @@ source "${BASH_SOURCE%/*}/SetEnvVar.sh"
# shellcheck source=./DownloadURL.sh
source "${BASH_SOURCE%/*}/DownloadURL.sh"
version="3.1.70"
versionNode="v16.20.0"
version="4.0.7"
versionNode="v20.18.0"
tarBallVersion="${version//./_}"
if uname -a | grep -q Darwin; then
tarBallPackage="emsdk_macos_${tarBallVersion}.tar.gz"
sha="eafd7b96ab12d84183d2eaa62e8d39bb12c252bf"
sha="c3d2df45685b68e5d69e09017084d26783eda2dd"
else
tarBallPackage="emsdk_linux_${tarBallVersion}.tar.gz"
sha="047a3da9048edc71fb56af544c4bb2448d6c0644"
sha="20f7782ca4a9088fe91405b16c6fed630e91dcd6"
fi
cacheUrl="https://ci-files01-hki.ci.qt.io/input/emsdk/${tarBallPackage}"
target="/tmp/${tarBallPackage}"
@@ -53,5 +53,6 @@ SetEnvVar "PATH" "\"\$PATH:${emscriptenPath}\""
SetEnvVar "EMSCRIPTEN" "${emscriptenPath}"
SetEnvVar "EMSDK" "${emsdkPath}"
SetEnvVar "EMSDK_NODE" "${emsdkPath}${pathNodeExecutable}"
SetEnvVar "EMSDK_PYTHON" "$PYTHON3_EXECUTABLE"
echo "Emsdk = $version" >> ~/versions.txt

View File

@@ -2,9 +2,13 @@
# Copyright (C) 2024 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
ffmpeg_version_default() {
echo "n7.1.2"
}
download_ffmpeg() {
local version="${1:-n7.1.1}"
local sha1="${2:-479291e8555fe036ca760f95cea829a21e9b8365}"
local version="${1:-$(ffmpeg_version_default)}"
local sha1="${2:-1e4e937facdbde15943dd093121836bf69f27c7c}"
local ffmpeg_name="FFmpeg-$version"
local target_dir="$HOME"
@@ -65,3 +69,11 @@ set_ffmpeg_dir_env_var() {
source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
SetEnvVar "$envvar" "$dir"
}
set_ffmpeg_env_var() {
local envvar="$1"
local value="$2"
source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
SetEnvVar "$envvar" "$value"
}

View File

@@ -9,17 +9,29 @@ source "${BASH_SOURCE%/*}/../unix/ffmpeg-installation-utils.sh"
os="$1"
# Optional parameter to set output installation directory. Useful for local builds.
target_install_dir_param="$2"
page_size="$2"
target_install_dir_param="$3"
build_type=$(get_ffmpeg_build_type)
ffmpeg_source_dir=$(download_ffmpeg)
assert_envvar_is_populated_dir() {
local envvar="$1"
local value="${!envvar}"
if [ -z "$value" ] || [ ! -d "$value" ] || [ -z "$(find "$value" -mindepth 1 -type f | head -n 1)" ]; then
echo "Environment variable '$envvar' is unset, not a directory, or the directory is empty."
exit 1
fi
}
build_ffmpeg_android() {
local target_arch=$1
local target_dir=$2
local ndk_root=$3
local openssl_android_path=$4
sudo mkdir -p "$target_dir"
local openssl_include="$OPENSSL_ANDROID_HOME_DEFAULT/include"
local openssl_include="$openssl_android_path/include"
local openssl_libs
local libs_prefix
local target_cpu
@@ -29,19 +41,25 @@ build_ffmpeg_android() {
target_toolchain_arch="x86_64-linux-android"
target_arch=x86_64
target_cpu=x86-64
openssl_libs="$OPENSSL_ANDROID_HOME_DEFAULT/x86_64"
openssl_libs="$openssl_android_path/x86_64"
libs_prefix="_x86_64"
elif [ "$target_arch" == "x86" ]; then
target_toolchain_arch="i686-linux-android"
target_arch=x86
target_cpu=i686
openssl_libs="$OPENSSL_ANDROID_HOME_DEFAULT/x86"
openssl_libs="$openssl_android_path/x86"
libs_prefix="_x86"
elif [ "$target_arch" == "arm32" ]; then
target_toolchain_arch="armv7a-linux-androideabi"
target_arch=arm
target_cpu=armv7-a
openssl_libs="$openssl_android_path/armeabi-v7a"
libs_prefix="_arm32-v7a"
elif [ "$target_arch" == "arm64" ]; then
target_toolchain_arch="aarch64-linux-android"
target_arch=aarch64
target_cpu=armv8-a
openssl_libs="$OPENSSL_ANDROID_HOME_DEFAULT/arm64-v8a"
openssl_libs="$openssl_android_path/arm64-v8a"
libs_prefix="_arm64-v8a"
fi
@@ -50,7 +68,6 @@ build_ffmpeg_android() {
local api_version=24
local ndk_root=$ANDROID_NDK_ROOT_DEFAULT
local ndk_host
if uname -a |grep -q "Darwin"; then
ndk_host=darwin-x86_64
@@ -72,7 +89,15 @@ build_ffmpeg_android() {
ffmpeg_config_options+=" --arch=$target_arch --cpu=${target_cpu} --sysroot=${sysroot} --sysinclude=${sysroot}/usr/include/"
ffmpeg_config_options+=" --cc=${cc} --cxx=${cxx} --ar=${ar} --ranlib=${ranlib}"
ffmpeg_config_options+=" --extra-cflags=-I${openssl_include} --extra-ldflags=-L${openssl_libs}"
if [ $page_size == "use_16kb_page_size" ]; then
ffmpeg_config_options+=" --extra-ldflags=-Wl,-z,max-page-size=16384"
echo "FFmpeg Android using 16KB page sizes"
elif [ $page_size == "use_4kb_page_size" ]; then
echo "FFmpeg Android using 4KB page sizes"
else
echo "Error: FFmpeg Android page_size must be: use_16kb_page_size or: use_4kb_page_size got: $page_size" >&2
exit 1
fi
local build_dir="$ffmpeg_source_dir/build_android/$target_arch"
mkdir -p "$build_dir"
pushd "$build_dir"
@@ -97,15 +122,27 @@ build_ffmpeg_android() {
if [ "$os" == "android-x86" ]; then
target_arch=x86
target_dir="/usr/local/android/ffmpeg-x86"
envvar="FFMPEG_DIR_ANDROID_X86"
envvar_latest="FFMPEG_DIR_ANDROID_X86_NDK_LATEST"
envvar_nightly1="FFMPEG_DIR_ANDROID_X86_NDK_NIGHTLY1"
envvar_nightly2="FFMPEG_DIR_ANDROID_X86_NDK_NIGHTLY2"
elif [ "$os" == "android-x86_64" ]; then
target_arch=x86_64
target_dir="/usr/local/android/ffmpeg-x86_64"
envvar="FFMPEG_DIR_ANDROID_X86_64"
envvar_latest="FFMPEG_DIR_ANDROID_X86_64_NDK_LATEST"
envvar_nightly1="FFMPEG_DIR_ANDROID_X86_64_NDK_NIGHTLY1"
envvar_nightly2="FFMPEG_DIR_ANDROID_X86_64_NDK_NIGHTLY2"
elif [ "$os" == "android-arm32" ]; then
target_arch=arm32
target_dir="/usr/local/android/ffmpeg-arm32"
envvar_latest="FFMPEG_DIR_ANDROID_ARM32_NDK_LATEST"
envvar_nightly1="FFMPEG_DIR_ANDROID_ARM32_NDK_NIGHTLY1"
envvar_nightly2="FFMPEG_DIR_ANDROID_ARM32_NDK_NIGHTLY2"
elif [ "$os" == "android-arm64" ]; then
target_arch=arm64
target_dir="/usr/local/android/ffmpeg-arm64"
envvar="FFMPEG_DIR_ANDROID_ARM64"
envvar_latest="FFMPEG_DIR_ANDROID_ARM64_NDK_LATEST"
envvar_nightly1="FFMPEG_DIR_ANDROID_ARM64_NDK_NIGHTLY1"
envvar_nightly2="FFMPEG_DIR_ANDROID_ARM64_NDK_NIGHTLY2"
else
>&2 echo "Unhandled android os param: $os"
exit 1
@@ -113,8 +150,24 @@ fi
# If parameter is set, use it as the target output directory.
if [ ! -z $target_install_dir_param ]; then
target_dir=$target_install_dir_param
target_dir=$target_install_dir_param
fi
build_ffmpeg_android "$target_arch" "$target_dir"
set_ffmpeg_dir_env_var "$envvar" "$target_dir"
assert_envvar_is_populated_dir "ANDROID_NDK_ROOT_LATEST"
assert_envvar_is_populated_dir "OPENSSL_ANDROID_HOME_LATEST"
build_ffmpeg_android "$target_arch" "$target_dir/latest" "$ANDROID_NDK_ROOT_LATEST" "$OPENSSL_ANDROID_HOME_LATEST"
set_ffmpeg_dir_env_var "$envvar_latest" "$target_dir/latest"
if [ "${ANDROID_NDK_ROOT_NIGHTLY1}" ]; then
assert_envvar_is_populated_dir "ANDROID_NDK_ROOT_NIGHTLY1"
assert_envvar_is_populated_dir "OPENSSL_ANDROID_HOME_NIGHTLY1"
build_ffmpeg_android "$target_arch" "$target_dir/nightly1" "$ANDROID_NDK_ROOT_NIGHTLY1" "$OPENSSL_ANDROID_HOME_NIGHTLY1"
set_ffmpeg_dir_env_var "$envvar_nightly1" "$target_dir/nightly1"
fi
if [ "${ANDROID_NDK_ROOT_NIGHTLY2}" ]; then
assert_envvar_is_populated_dir "ANDROID_NDK_ROOT_NIGHTLY2"
assert_envvar_is_populated_dir "OPENSSL_ANDROID_HOME_NIGHTLY2"
build_ffmpeg_android "$target_arch" "$target_dir/nightly2" "$ANDROID_NDK_ROOT_NIGHTLY2" "$OPENSSL_ANDROID_HOME_NIGHTLY2"
set_ffmpeg_dir_env_var "$envvar_nightly2" "$target_dir/nightly2"
fi

View File

@@ -3,6 +3,7 @@
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
# This script will build and install FFmpeg static libs
# Can take an optional final parameter to control installation directory
set -ex
# Must match or be lower than the minimum iOS version supported by the version of Qt that is
@@ -11,9 +12,11 @@ readonly MINIMUM_IOS_VERSION="16.0"
source "${BASH_SOURCE%/*}/../unix/ffmpeg-installation-utils.sh"
ffmpeg_version=$(ffmpeg_version_default)
ffmpeg_source_dir=$(download_ffmpeg)
ffmpeg_config_options=$(get_ffmpeg_config_options "shared")
prefix="/usr/local/ios/ffmpeg"
default_prefix="/usr/local/ios/ffmpeg"
prefix="${1:-$default_prefix}"
dylib_regex="^@rpath/.*\.dylib$"
build_ffmpeg_ios() {
@@ -65,11 +68,23 @@ build_info_plist() {
local framework_name="$2"
local framework_id="$3"
# Apple plist format has a strict requirement that the version string
# contains up to 3 numerics separated by a dot. Meanwhile, FFmpeg versioning
# tends to use an 'n' prefix in their versioning. We use a regex to convert
# and verify the version string.
#
# https://developer.apple.com/documentation/bundleresources/information-property-list/cfbundleversion
local formatted_ffmpeg_version
if [[ $ffmpeg_version =~ ([0-9]+(\.[0-9]+){0,2}) ]]; then
formatted_ffmpeg_version="${BASH_REMATCH[1]}"
else
echo "Unable to format FFmpeg version string '$ffmpeg_version' into corresponding Apple Info.plist format"
exit 1
fi
local minimum_version_key="MinimumOSVersion"
local supported_platforms="iPhoneOS"
# TODO: This should be filled out with the actual version of FFmpeg that we are
# deploying.
info_plist="<?xml version=\"1.0\" encoding=\"UTF-8\"?>
<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
<plist version=\"1.0\">
@@ -87,9 +102,9 @@ build_info_plist() {
<key>CFBundlePackageType</key>
<string>FMWK</string>
<key>CFBundleShortVersionString</key>
<string>7.0.2</string>
<string>${formatted_ffmpeg_version}</string>
<key>CFBundleVersion</key>
<string>7.0.2</string>
<string>${formatted_ffmpeg_version}</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>${minimum_version_key}</key>
@@ -109,8 +124,8 @@ build_info_plist() {
create_framework() {
# Create a 'traditional' framework from the corresponding dylib.
local framework_name="$1"
local platform="$2" # For now it's either arm64 or arm64-simulator, see below.
local ffmpeg_library_path="$ffmpeg_source_dir/build_ios/${platform}/installed/usr/local/ios/ffmpeg"
local platform="$2" # For now it's either arm64, x86_64-simulator, see below.
local ffmpeg_library_path="$ffmpeg_source_dir/build_ios/${platform}/installed$prefix"
local framework_complete_path="${ffmpeg_library_path}/framework/${framework_name}.framework/${framework_name}"
sudo mkdir -p "${ffmpeg_library_path}/framework/${framework_name}.framework"
@@ -140,8 +155,8 @@ create_xcframework() {
local target_platform_a="$2"
local target_platform_b="$3"
local fw_a="$ffmpeg_source_dir/build_ios/${target_platform_a}/installed/usr/local/ios/ffmpeg/framework/${framework_name}.framework"
local fw_b="$ffmpeg_source_dir/build_ios/${target_platform_b}/installed/usr/local/ios/ffmpeg/framework/${framework_name}.framework"
local fw_a="$ffmpeg_source_dir/build_ios/${target_platform_a}/installed$prefix/framework/${framework_name}.framework"
local fw_b="$ffmpeg_source_dir/build_ios/${target_platform_b}/installed$prefix/framework/${framework_name}.framework"
sudo mkdir -p "$prefix/framework/"
sudo xcodebuild -create-xcframework -framework $fw_a -framework $fw_b -output "${prefix}/framework/${framework_name}.xcframework"
@@ -164,7 +179,7 @@ done
# xcframeworks are already installed directly into the target output directory.
# We need to install headers
sudo cp -r "$ffmpeg_source_dir/build_ios/arm64-iphoneos/installed/usr/local/ios/ffmpeg/include" $prefix
sudo cp -r "$ffmpeg_source_dir/build_ios/arm64-iphoneos/installed$prefix/include" $prefix
# The set_ffmpeg_dir_env_var requires the presence of the "lib" subfolder in order to validate
# our FFmpeg install. On iOS we don't use this subfolder, we only rely on the "framework" subfolder.
# So we create a dummy "lib" folder to pass the check.

View File

@@ -5,6 +5,7 @@
source "${BASH_SOURCE%/*}/../unix/InstallFromCompressedFileFromURL.sh"
# version 0.18.0 doesn't work correctly for Android binaries, so we use 0.17.2
# See patchelf bugreport: https://github.com/NixOS/patchelf/issues/576.
patchelf_version="0.17.2"
url_cached="https://ci-files01-hki.ci.qt.io/input/android/patchelf/$patchelf_version.tar.gz"
@@ -14,14 +15,21 @@ sha1="ddd46a2e2a16a308245c008721d877455b23bba8"
target_source_dir="$HOME/patchelf-$patchelf_version"
if [ ! -d "$target_source_dir" ]; then
InstallFromCompressedFileFromURL "$url_cached" "$url_public" "$sha1" "$HOME" ""
InstallFromCompressedFileFromURL "$url_cached" "$url_public" "$sha1" "$HOME" ""
fi
pushd "$target_source_dir"
pushd "$target_source_dir" || exit
./bootstrap.sh
./configure
make
sudo make install
popd
popd || exit
if [[ "$(uname -s)" = "Linux" && -f /etc/redhat-release ]]; then
# RHEL-9 with sudo or non-interactive shells do not include /usr/local/bin/ in PATH
# Add a symlink so patchelf is found in later scripts
echo "Creating symlink for patchelf in /usr/bin"
sudo ln -sf /usr/local/bin/patchelf /usr/bin/patchelf
fi

View File

@@ -1,76 +0,0 @@
#!/usr/bin/env bash
# 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
# This script install prebuilt OpenSSL which was built against Android NDK 25.
# OpenSSL build will fail with Android NDK 22, because it's missing platforms and sysroot directories
set -ex
# shellcheck source=../unix/DownloadURL.sh
source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh"
# shellcheck source=../unix/SetEnvVar.sh
source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
version="3.0.7"
ndkVersionLatest="r27c"
ndkVersionDefault=$ndkVersionLatest
prebuiltOpensslNdkShaLatest="733cff853b6ee7738e78b90f46b5f028c8490e1e"
prebuiltOpensslNdkShaDefault=$prebuiltOpensslNdkShaLatest
: <<'EOB' SOURCE BUILD INSTRUCTIONS - Openssl prebuilt was made using Android NDK r27c
# Source built requires GCC and Perl to be in PATH. Rhel "requires yum install perl-IPC-Cmd"
exports_file="/tmp/export.sh"
# source previously made environmental variables.
if uname -a |grep -q "Ubuntu"; then
# shellcheck disable=SC1090
grep -e "^export" "$HOME/.profile" > $exports_file && source $exports_file
rm -rf "$exports_file"
else
# shellcheck disable=SC1090
grep -e "^export" "$HOME/.bashrc" > $exports_file && source $exports_file
rm -rf "$exports_file"
fi
# ANDROID_NDK_ROOT is required during Configure
export ANDROID_NDK_ROOT=/opt/android/android-ndk-r27c
officialUrl="https://www.openssl.org/source/openssl-$version.tar.gz"
cachedUrl="http://ci-files01-hki.ci.qt.io/input/openssl/openssl-$version.tar.gz"
targetFile="/tmp/openssl-$version.tar.gz"
sha="f20736d6aae36bcbfa9aba0d358c71601833bf27"
opensslHome="${HOME}/openssl/android/openssl-${version}"
DownloadURL "$cachedUrl" "$officialUrl" "$sha" "$targetFile"
mkdir -p "${HOME}/openssl/android/"
tar -xzf "$targetFile" -C "${HOME}/openssl/android/"
if uname -a |grep -q "Darwin"; then
TOOLCHAIN=${ANDROID_NDK_ROOT}/toolchains/llvm/prebuilt/darwin-x86_64/bin
else
TOOLCHAIN=${ANDROID_NDK_ROOT}/toolchains/llvm/prebuilt/linux-x86_64/bin
fi
cd "$opensslHome"
PATH=$TOOLCHAIN:$PATH CC=clang ./Configure android-arm
PATH=$TOOLCHAIN:$PATH CC=clang make build_generated
EOB
function InstallPrebuiltOpenssl() {
ndkVersion=$1
sha=$2
opensslHome="${HOME}/prebuilt-openssl-${version}-for-android-ndk-${ndkVersion}"
if [[ ! -d ${opensslHome} ]]; then
prebuiltUrl="http://ci-files01-hki.ci.qt.io/input/openssl/prebuilt-openssl-${version}-for-android-ndk-${ndkVersion}.zip"
targetFile="/tmp/prebuilt-openssl-${version}-for-android-ndk-${ndkVersion}.zip"
DownloadURL "$prebuiltUrl" "$prebuiltUrl" "$sha" "$targetFile"
unzip -o "$targetFile" -d "${HOME}"
sudo rm -f "$targetFile"
fi
}
InstallPrebuiltOpenssl $ndkVersionDefault $prebuiltOpensslNdkShaDefault
SetEnvVar "OPENSSL_ANDROID_HOME_DEFAULT" "$opensslHome"
InstallPrebuiltOpenssl $ndkVersionLatest $prebuiltOpensslNdkShaLatest
SetEnvVar "OPENSSL_ANDROID_HOME_LATEST" "$opensslHome"
echo "OpenSSL for Android = $version" >> ~/versions.txt

View File

@@ -1,5 +1,5 @@
#!/usr/bin/env bash
# Copyright (C) 2023 The Qt Company Ltd.
# Copyright (C) 2025 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
# This script install prebuilt OpenSSL which was built against Android NDK 25.
@@ -11,11 +11,17 @@ source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh"
# shellcheck source=../unix/SetEnvVar.sh
source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
version="3.0.7"
sslVersionForLatest="3.0.7"
ndkVersionLatest="r27c"
ndkVersionDefault=$ndkVersionLatest
prebuiltOpensslNdkShaLatest="733cff853b6ee7738e78b90f46b5f028c8490e1e"
prebuiltOpensslNdkShaDefault=$prebuiltOpensslNdkShaLatest
prebuiltOpensslShaLatest="2cc15dd990460c2c7157ab257a47071fbd9e0ac8"
ndkVersionNightly1=$ndkVersionLatest
sslVersionForNightly1=$sslVersionForLatest
prebuiltOpensslShaNightly1=$prebuiltOpensslShaLatest
ndkVersionNightly2=$ndkVersionLatest
sslVersionForNightly2=$sslVersionForLatest
prebuiltOpensslShaNightly2=$prebuiltOpensslShaLatest
: <<'EOB' SOURCE BUILD INSTRUCTIONS - Openssl prebuilt was made using Android NDK r27c
# Source built requires GCC and Perl to be in PATH. Rhel "requires yum install perl-IPC-Cmd"
@@ -31,11 +37,11 @@ else
rm -rf "$exports_file"
fi
officialUrl="https://www.openssl.org/source/openssl-$version.tar.gz"
cachedUrl="http://ci-files01-hki.ci.qt.io/input/openssl/openssl-$version.tar.gz"
targetFile="/tmp/openssl-$version.tar.gz"
officialUrl="https://www.openssl.org/source/openssl-$sslVersionForLatest.tar.gz"
cachedUrl="http://ci-files01-hki.ci.qt.io/input/openssl/openssl-$sslVersionForLatest.tar.gz"
targetFile="/tmp/openssl-$sslVersionForLatest.tar.gz"
sha="f20736d6aae36bcbfa9aba0d358c71601833bf27"
opensslHome="${HOME}/openssl/android/openssl-${version}"
opensslHome="${HOME}/openssl/android/openssl-${sslVersionForLatest}"
DownloadURL "$cachedUrl" "$officialUrl" "$sha" "$targetFile"
mkdir -p "${HOME}/openssl/android/"
tar -xzf "$targetFile" -C "${HOME}/openssl/android/"
@@ -53,11 +59,12 @@ function InstallPrebuiltOpenssl() {
ndkVersion=$1
sha=$2
sslVersion=$3
opensslHome="${HOME}/prebuilt-openssl-${version}-for-android-ndk-${ndkVersion}"
opensslHome="${HOME}/prebuilt-openssl-${sslVersion}-for-android-ndk-${ndkVersion}_16kb"
if [[ ! -d ${opensslHome} ]]; then
prebuiltUrl="http://ci-files01-hki.ci.qt.io/input/openssl/prebuilt-openssl-${version}-for-android-ndk-${ndkVersion}.zip"
targetFile="/tmp/prebuilt-openssl-${version}-for-android-ndk-${ndkVersion}.zip"
prebuiltUrl="http://ci-files01-hki.ci.qt.io/input/openssl/prebuilt-openssl-${sslVersion}-for-android-ndk-${ndkVersion}_16kb.zip"
targetFile="/tmp/prebuilt-openssl-${sslVersion}-for-android-ndk-${ndkVersion}_16kb.zip"
DownloadURL "$prebuiltUrl" "$prebuiltUrl" "$sha" "$targetFile"
unzip -o "$targetFile" -d "${HOME}"
@@ -65,9 +72,18 @@ function InstallPrebuiltOpenssl() {
fi
}
InstallPrebuiltOpenssl $ndkVersionDefault $prebuiltOpensslNdkShaDefault
SetEnvVar "OPENSSL_ANDROID_HOME_DEFAULT" "$opensslHome"
InstallPrebuiltOpenssl $ndkVersionLatest $prebuiltOpensslNdkShaLatest
SetEnvVar "OPENSSL_ANDROID_HOME_LATEST" "$opensslHome"
if [ "$ndkVersionNightly1" != "$ndkVersionLatest" ]; then
InstallPrebuiltOpenssl $ndkVersionNightly1 $prebuiltOpensslShaNightly1 $sslVersionForNightly1
SetEnvVar "OPENSSL_ANDROID_HOME_NIGHTLY1" "$opensslHome"
echo "OpenSSL for Android $ndkVersionNightly1 = $sslVersionForNightly1" >> ~/versions.txt
fi
echo "OpenSSL for Android = $version" >> ~/versions.txt
if [ "$ndkVersionNightly2" != "$ndkVersionLatest" ]; then
InstallPrebuiltOpenssl $ndkVersionNightly2 $prebuiltOpensslShaNightly2 $sslVersionForNightly2
SetEnvVar "OPENSSL_ANDROID_HOME_NIGHTLY2" "$opensslHome"
echo "OpenSSL for Android $ndkVersionNightly2 = $sslVersionForNightly2" >> ~/versions.txt
fi
InstallPrebuiltOpenssl $ndkVersionLatest $prebuiltOpensslShaLatest $sslVersionForLatest
SetEnvVar "OPENSSL_ANDROID_HOME_LATEST" "$opensslHome"
echo "OpenSSL for Android $ndkVersionLatest = $sslVersionForLatest" >> ~/versions.txt

View File

@@ -1,4 +1,4 @@
# Copyright (C) 2023 The Qt Company Ltd.
# Copyright (C) 2025 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
# Requires: 7z, perl and msys
@@ -15,26 +15,38 @@ if (Is64BitWinHost) {
# Msys need to be installed to target machine
# More info and building instructions can be found from http://doc.qt.io/qt-5/opensslsupport.html
$openssl_version = "3.0.7"
$openssl_version_latest = "3.0.7"
$ndk_version_latest = "r27c"
$ndk_version_default = "$ndk_version_latest"
$openssl_compressed = Get-DownloadLocation ("openssl-${openssl_version}.tar.gz")
$openssl_sha1 = "f20736d6aae36bcbfa9aba0d358c71601833bf27"
$prebuilt_sha1_ndk_latest = "733cff853b6ee7738e78b90f46b5f028c8490e1e"
$prebuilt_sha1_ndk_default = "$prebuilt_sha1_ndk_latest"
$destination_prefix = "C:\Utils\prebuilt-openssl-${openssl_version}-for-android-ndk"
$prebuilt_ssl_sha1_latest = "733cff853b6ee7738e78b90f46b5f028c8490e1e"
$openssl_sha1_latest = "f20736d6aae36bcbfa9aba0d358c71601833bf27"
function Install($1, $2) {
$ndk_version = $1
$prebuilt_sha1 = $2
$openssl_version_nightly1 = $openssl_version_latest
$ndk_version_nightly1 = $ndk_version_latest
$prebuilt_ssl_sha1_nightly1 = $prebuilt_ssl_sha1_latest
$openssl_sha1_nightly1 = $openssl_sha1_latest
# msys unix style paths
$openssl_path = "/c/Utils/openssl-android-master"
$ndk_path = "/c/Utils/Android/android-ndk-${ndk_version}"
$cc_path = "$ndk_path/toolchains/llvm/prebuilt/windows-x86_64/bin"
$openssl_version_nightly2 = $openssl_version_latest
$ndk_version_nightly2 = $ndk_version_latest
$prebuilt_ssl_sha1_nightly2 = $prebuilt_ssl_sha1_latest
$openssl_sha1_nightly2 = $openssl_sha1_latest
$prebuilt_url_openssl = "\\ci-files01-hki.ci.qt.io\provisioning\openssl\prebuilt-openssl-${openssl_version}-for-android-ndk-${ndk_version}.zip"
$prebuilt_zip_openssl = Get-DownloadLocation ("prebuilt-openssl-${openssl_version}-for-android-ndk-${ndk_version}.zip")
function Install($1, $2, $3, $4) {
$openssl_version = $1
$ndk_version = $2
$prebuilt_sha1 = $3
$openssl_sha1 = $4
Write-Host "Installing OpenSSL ${openssl_version} for Android NDK ${ndk_version}"
$openssl_compressed = Get-DownloadLocation ("openssl-${openssl_version}.tar.gz")
# msys unix style paths
$openssl_path = "/c/Utils/openssl-android-master"
$ndk_path = "/c/Utils/Android/android-ndk-${ndk_version}"
$cc_path = "$ndk_path/toolchains/llvm/prebuilt/windows-x86_64/bin"
$prebuilt_url_openssl = "\\ci-files01-hki.ci.qt.io\provisioning\openssl\prebuilt-openssl-${openssl_version}-for-android-ndk-${ndk_version}.zip"
$prebuilt_zip_openssl = Get-DownloadLocation ("prebuilt-openssl-${openssl_version}-for-android-ndk-${ndk_version}.zip")
if ((Test-Path $prebuilt_url_openssl)) {
Write-Host "Install prebuilt OpenSSL for Android"
@@ -69,34 +81,36 @@ function Install($1, $2) {
}
}
# ANDROID_NDK_ROOT needs to be in environment variables before running this script
# Set-EnvironmentVariable "ANDROID_NDK_ROOT" "C:\Utils\Android\android-ndk-r27c"
$make_install = Start-Process -NoNewWindow -Wait -PassThru -ErrorAction Stop -FilePath "$msys_bash" -ArgumentList ("-lc", "`"yes | pacman -S make`"")
CheckExitCode $make_install
$make_install = Start-Process -NoNewWindow -Wait -PassThru -ErrorAction Stop -FilePath "$msys_bash" -ArgumentList ("-lc", "`"yes | pacman -S make`"")
CheckExitCode $make_install
$configure = Start-Process -NoNewWindow -Wait -PassThru -ErrorAction Stop -FilePath "$msys_bash" -ArgumentList ("-lc", "`"pushd $openssl_path; ANDROID_NDK_ROOT=$ndk_path PATH=${cc_path}:`$PATH CC=clang $openssl_path/Configure shared android-arm`"")
CheckExitCode $configure
$configure = Start-Process -NoNewWindow -Wait -PassThru -ErrorAction Stop -FilePath "$msys_bash" -ArgumentList ("-lc", "`"pushd $openssl_path; ANDROID_NDK_ROOT=$ndk_path PATH=${cc_path}:`$PATH CC=clang $openssl_path/Configure shared android-arm`"")
CheckExitCode $configure
$make = Start-Process -NoNewWindow -Wait -PassThru -ErrorAction Stop -FilePath "$msys_bash" -ArgumentList ("-lc", "`"pushd $openssl_path; ANDROID_NDK_ROOT=$ndk_path PATH=${cc_path}:`$PATH CC=clang make -f $openssl_path/Makefile build_generated`"")
CheckExitCode $make
$make = Start-Process -NoNewWindow -Wait -PassThru -ErrorAction Stop -FilePath "$msys_bash" -ArgumentList ("-lc", "`"pushd $openssl_path; ANDROID_NDK_ROOT=$ndk_path PATH=${cc_path}:`$PATH CC=clang make -f $openssl_path/Makefile build_generated`"")
CheckExitCode $make
Pop-Location
Remove-item C:\Utils\tmp -Recurse -Confirm:$false
Pop-Location
Remove-item C:\Utils\tmp -Recurse -Confirm:$false
}
return "C:\Utils\prebuilt-openssl-${openssl_version}-for-android-ndk-${ndk_version}"
}
# Install NDK Default version
Install $ndk_version_default $prebuilt_sha1_ndk_default
$ndk_ssl_path = Install $openssl_version_latest $ndk_version_latest $prebuilt_ssl_sha1_latest $openssl_sha1_latest
Set-EnvironmentVariable "OPENSSL_ANDROID_HOME_LATEST" "$ndk_ssl_path"
Write-Output "Android OpenSSL $openssl_version_latest for NDK $ndk_version_latest" >> ~/versions.txt
if (Test-Path -Path ${destination_prefix}-${ndk_version_latest}) {
Write-Host "OpenSSL for Android Latest version is the same than Default. Installation done."
} else {
# Install NDK Latest version
Install $ndk_version_latest $prebuilt_sha1_ndk_latest
if ($ndk_version_nightly1 -ne $ndk_version_latest) {
$ndk_ssl_path = Install $openssl_version_nightly1 $ndk_version_nightly1 $prebuilt_ssl_sha1_nightly1 $openssl_sha1_nightly1
Set-EnvironmentVariable "OPENSSL_ANDROID_HOME_NIGHTLY1" "$ndk_ssl_path"
Write-Output "Android OpenSSL $openssl_version_nightly1 for NDK $ndk_version_nightly1" >> ~/versions.txt
}
Set-EnvironmentVariable "OPENSSL_ANDROID_HOME_DEFAULT" "${destination_prefix}-${ndk_version_default}"
Set-EnvironmentVariable "OPENSSL_ANDROID_HOME_LATEST" "${destination_prefix}-${ndk_version_latest}"
Write-Output "Android OpenSSL = $openssl_version" >> ~/versions.txt
if ($ndk_version_nightly2 -ne $ndk_version_latest) {
$ndk_ssl_path = Install $openssl_version_nightly2 $ndk_version_nightly2 $prebuilt_ssl_sha1_nightly2 $openssl_sha1_nightly2
Set-EnvironmentVariable "OPENSSL_ANDROID_HOME_NIGHTLY2" "$ndk_ssl_path"
Write-Output "Android OpenSSL $openssl_version_nightly2 for NDK $ndk_version_nightly2" >> ~/versions.txt
}

View File

@@ -1,4 +1,4 @@
# Copyright (C) 2022 The Qt Company Ltd.
# Copyright (C) 2025 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
. "$PSScriptRoot\helpers.ps1"
@@ -10,28 +10,40 @@
# That's why we need to use Andoid-21 API version in Qt 5.9.
# NDK
$ndkZip = "C:\Windows\Temp\android_ndk.zip"
$ndkVersionLatest = "r27c"
$ndkVersionDefault = $ndkVersionLatest
$ndkChecksumLatest = "ac5f7762764b1f15341094e148ad4f847d050c38"
$ndkChecksumDefault = $ndkChecksumLatest
$ndkCachedUrlLatest = "\\ci-files01-hki.ci.qt.io\provisioning\android\android-ndk-$ndkVersionLatest-windows.zip"
$ndkOfficialUrlLatest = "https://dl.google.com/android/repository/android-ndk-$ndkVersionLatest-windows.zip"
$ndkCachedUrlDefault = "\\ci-files01-hki.ci.qt.io\provisioning\android\android-ndk-$ndkVersionDefault-windows.zip"
$ndkOfficialUrlDefault = "https://dl.google.com/android/repository/android-ndk-$ndkVersionDefault-windows.zip"
$ndkZip = "C:\Windows\Temp\android_ndk.zip"
# Non-latest (but still supported by the qt/qt5 branch) NDKs are installed for nightly targets in:
# coin/platform_configs/nightly_android.yaml
$ndkVersionNightly1 = $ndkVersionLatest # Same version = skip NDK install for nightly
$ndkChecksumNightly1 = $ndkChecksumLatest
$ndkCachedUrlNightly1 = "\\ci-files01-hki.ci.qt.io\provisioning\android\android-ndk-$ndkVersionNightly1-windows.zip"
$ndkOfficialUrlNightly1 = "https://dl.google.com/android/repository/android-ndk-$ndkVersionNightly1-windows.zip"
$ndkVersionNightly2 = $ndkVersionLatest
$ndkChecksumNightly2 = $ndkChecksumLatest
$ndkCachedUrlNightly2 = "\\ci-files01-hki.ci.qt.io\provisioning\android\android-ndk-$ndkVersionNightly2-windows.zip"
$ndkOfficialUrlNightly2 = "https://dl.google.com/android/repository/android-ndk-$ndkVersionNightly2-windows.zip"
# SDK
$toolsVersion = "2.1"
$toolsFile = "commandlinetools-win-6609375_latest.zip"
$sdkApi = "ANDROID_API_VERSION"
$sdkApiLevel = "android-35"
$sdkBuildToolsVersion = "35.0.1"
$sdkApiLevel = "android-36"
$sdkBuildToolsVersion = "36.0.0"
$toolsCachedUrl= "\\ci-files01-hki.ci.qt.io\provisioning\android\$toolsFile"
$toolsOfficialUrl = "https://dl.google.com/android/repository/$toolsFile"
$toolsChecksum = "e2e19c2ff584efa87ef0cfdd1987f92881323208"
$cmdFolder = "c:\Utils\Android\cmdline-tools"
$sdkZip = "c:\Windows\Temp\$toolsFile"
New-Item -ItemType Directory -Path C:\Utils\Android\
New-Item -ItemType Directory -Path C:\Windows\Temp\android_extract
function Install($1, $2, $3, $4) {
$cacheUrl = $1
@@ -50,21 +62,24 @@ function Install($1, $2, $3, $4) {
return "C:\Utils\Android\$baseDirectory"
}
New-Item -ItemType Directory -Path C:\Utils\Android\
New-Item -ItemType Directory -Path C:\Windows\Temp\android_extract
Write-Host "Installing Android NDK $ndkVersionDefault"
$ndkFolderDefault = Install $ndkCachedUrlDefault $ndkZip $ndkChecksumDefault $ndkOfficialUrlDefault
Set-EnvironmentVariable "ANDROID_NDK_ROOT_DEFAULT" $ndkFolderDefault
Write-Host "Installing Android NDK $nkdVersionLatest"
$ndkFolderLatest = Install $ndkCachedUrlLatest $ndkZip $ndkChecksumLatest $ndkOfficialUrlLatest
Set-EnvironmentVariable "ANDROID_NDK_ROOT_LATEST" $ndkFolderLatest
# To be used by vcpkg
Set-EnvironmentVariable "ANDROID_NDK_HOME" $ndkFolderDefault
$env:ANDROID_NDK_HOME = "$ndkFolderDefault"
Set-EnvironmentVariable "ANDROID_NDK_HOME" $ndkFolderLatest
if ($ndkVersionDefault -eq $ndkVersionLatest) {
Write-Host "Android Latest version is the same than Default. NDK installation done."
} else {
Write-Host "Installing Android NDK $nkdVersionLatest"
$ndkFolderLatest = Install $ndkCachedUrlLatest $ndkZip $ndkChecksumLatest $ndkOfficialUrlLatest
Set-EnvironmentVariable "ANDROID_NDK_ROOT_LATEST" $ndkFolderLatest
if ($ndkVersionNightly1 -ne $ndkVersionLatest) {
Write-Host "Installing Android NDK $ndkVersionNightly1"
$ndkFolderNightly = Install $ndkCachedUrlNightly1 $ndkZip $ndkChecksumNightly1 $ndkOfficialUrlNightly1
Set-EnvironmentVariable "ANDROID_NDK_ROOT_NIGHTLY1" $ndkFolderNightly
Write-Output "Android NDK = $ndkVersionNightly1" >> ~/versions.txt
}
if ($ndkVersionNightly2 -ne $ndkVersionLatest) {
Write-Host "Installing Android NDK $ndkVersionNightly2"
$ndkFolderNightly = Install $ndkCachedUrlNightly2 $ndkZip $ndkChecksumNightly2 $ndkOfficialUrlNightly2
Set-EnvironmentVariable "ANDROID_NDK_ROOT_NIGHTLY2" $ndkFolderNightly
Write-Output "Android NDK = $ndkVersionNightly2" >> ~/versions.txt
}
$toolsFolder = Install $toolsCachedUrl $sdkZip $toolsChecksum $toolsOfficialUrl
@@ -103,4 +118,4 @@ cmd /c "dir C:\Utils\android"
Write-Output "Android SDK tools= $toolsVersion" >> ~/versions.txt
Write-Output "Android SDK Build Tools = $sdkBuildToolsVersion" >> ~/versions.txt
Write-Output "Android SDK Api Level = $sdkApiLevel" >> ~/versions.txt
Write-Output "Android NDK = $ndkVersionDefault" >> ~/versions.txt
Write-Output "Android NDK = $ndkVersionLatest" >> ~/versions.txt

View File

@@ -1,3 +0,0 @@
Get-NetAdapter | Disable-NetAdapterLso
Start-Sleep -s 15 # Give windows some time to adjust network settings
Get-NetAdapter

View File

@@ -0,0 +1,27 @@
# Copyright (C) 2025 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
# This script disables device discovery services related to Windows mDNS multicast
. "$PSScriptRoot\helpers.ps1"
# Miracast / Wireless Display
$regPath2 = "HKLM:\Software\Policies\Microsoft\Windows\Connect"
New-Item -Path $regPath2 -Force | Out-Null
Set-ItemProperty -Path $regPath2 -Name "DisableWirelessDisplay" -Type DWord -Value 1
# Function Discovery Resource Publication, printer/service publisher
Stop-Service -Name FDResPub
Set-Service -Name FDResPub -StartupType Disabled
# Windows Media Player Network Sharing Service
Stop-Service -Name WMPNetworkSvc -Force
Set-Service -Name WMPNetworkSvc -StartupType Disabled
# Function Discovery Provider Host
Stop-Service -Name fdPHost
Set-Service -Name fdPHost -StartupType Disabled
# Windows Connect Now
Stop-Service -Name wcncsvc
Set-Service -Name wcncsvc -StartupType Disabled

View File

@@ -0,0 +1,21 @@
# Copyright (C) 2025 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
# This script will output usable drivers' versions in provision log
function LogDriverVersion
{
Param (
[string]$Name = $(BadParam("a name of the driver"))
)
$version = (Get-WmiObject Win32_PnPSignedDriver -Filter "DeviceName = '$Name'" | Format-Table Driverversion -HideTableHeaders | Out-String).Trim()
if ([string]::IsNullOrEmpty($version) -eq $true) {
Write-Host "No driver version found: '$Name'"
return
}
Write-Host "$Name = $version"
}
LogDriverVersion "VirtIO Serial Driver"

View File

@@ -5,11 +5,11 @@
# This script will install emscripten needed by WebAssembly
$version = "3.1.70"
$version = "4.0.7"
$zipVersion = $version -replace '\.', "_"
$temp = "$env:tmp"
$cacheUrl = "https://ci-files01-hki.ci.qt.io/input/emsdk/emsdk_windows_${zipVersion}.zip"
$sha = "4d05e378575cb3d74e2740b121730ba1f5822f27"
$sha = "d433b8353df4a75ba035fc618f520790b4fb7ee2"
# Python used for '.\emsdk install'
$pythonPath = [System.Environment]::GetEnvironmentVariable("PYTHON3_PATH", "Machine")

View File

@@ -189,6 +189,8 @@ function Set-EnvironmentVariable
Write-Host "Setting environment variable `"$($Key)`" to `"$($Value)`""
[Environment]::SetEnvironmentVariable($Key, $Value, [EnvironmentVariableTarget]::Machine)
# Make the envvar immediately available to subsequent scripts run in the same session.
[Environment]::SetEnvironmentVariable($Key, $Value, [EnvironmentVariableTarget]::Process)
}
function Is64BitWinHost
@@ -358,7 +360,7 @@ function EnterVSDevShell {
Write-Host "Enter VisualStudio developer shell (-host_arch=$HostArch -arch=$Arch -VsInstallPath='$VSPath')"
try {
Import-Module "$VSPath\Common7\Tools\Microsoft.VisualStudio.DevShell.dll"
Enter-VsDevShell -VsInstallPath $VSPath -DevCmdArguments "-host_arch=$HostArch -arch=$Arch -no_logo"
Enter-VsDevShell -SkipAutomaticLocation -VsInstallPath $VSPath -DevCmdArguments "-host_arch=$HostArch -arch=$Arch -no_logo"
} catch {
Write-Host "Failed to enter VisualStudio DevShell"
return $false
@@ -380,3 +382,22 @@ function Invoke-MtCommand {
& $Env:SystemRoot\system32\cmd.exe /c $cmdLine | Write-Output
Remove-Item $tempFile
}
function Invoke-NMake {
param([string[]]$NmakeArgs)
# Temporarily remove MAKE flags for NMAKE process
$old = @{
MAKEFLAGS = (Get-Item Env:MAKEFLAGS -ErrorAction Ignore).Value
MFLAGS = (Get-Item Env:MFLAGS -ErrorAction Ignore).Value
MAKE = (Get-Item Env:MAKE -ErrorAction Ignore).Value
NMAKEFLAGS = (Get-Item Env:NMAKEFLAGS -ErrorAction Ignore).Value
}
foreach ($n in $old.Keys) {Remove-Item "Env:$n" -ErrorAction SilentlyContinue}
try {& nmake @NmakeArgs}
finally {
foreach ($n in $old.Keys) {
if ($old[$n]) {Set-EnvironmentVariable -Key "$n" -Value $old[$n]}
else {Remove-Item "Env:$n" -ErrorAction SilentlyContinue}
}
}
}

View File

@@ -2,13 +2,14 @@
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
. "$PSScriptRoot\helpers.ps1"
. "$PSScriptRoot\zlib-helpers.ps1"
# This script will install FFmpeg
$msys = "C:\Utils\msys64\usr\bin\bash"
$version="n7.1.1"
$version="n7.1.2"
$url_public="https://github.com/FFmpeg/FFmpeg/archive/refs/tags/$version.tar.gz"
$sha1="479291e8555fe036ca760f95cea829a21e9b8365"
$sha1="1e4e937facdbde15943dd093121836bf69f27c7c"
$url_cached="http://ci-files01-hki.ci.qt.io/input/ffmpeg/$version.tar.gz"
$ffmpeg_name="FFmpeg-$version"
@@ -29,6 +30,52 @@ function GetFfmpegDefaultConfiguration {
return $defaultConfiguration
}
# Returns the absolute installation path of FFmpeg for this build
# variant.
function ResolveFFmpegInstallDir {
param(
[Parameter(Mandatory = $true)]
[ValidateNotNullOrEmpty()]
[string]$buildSystem,
[Parameter(Mandatory = $false)]
[ValidateNotNullOrEmpty()]
[string]$ndkVer
)
if ($ndkVer) {
$prefix = "installed-ndk-$ndkVer"
} else {
$prefix = "installed"
}
return "C:\$ffmpeg_name\build\$buildSystem\$prefix"
}
# Returns the absolute installation path of FFmpeg for this build
# variant. Returns a path that is compatible with MSYS.
#
# TODO: There is some code duplications here. Make a helper function
# that translates native Windows paths into MSYS compatible paths.
function ResolveFFmpegInstallDirMsys {
param(
[Parameter(Mandatory = $true)]
[ValidateNotNullOrEmpty()]
[string]$buildSystem,
[Parameter(Mandatory = $false)]
[ValidateNotNullOrEmpty()]
[string]$ndkVer
)
if ($ndkVer) {
$prefix = "installed-ndk-$ndkVer"
} else {
$prefix = "installed"
}
return "/c/$ffmpeg_name/build/$buildSystem/$prefix"
}
function InstallFfmpeg {
Param (
[string]$config,
@@ -37,7 +84,8 @@ function InstallFfmpeg {
[string]$additionalPath,
[string]$ffmpegDirEnvVar,
[string]$toolchain,
[bool]$shared
[bool]$shared,
[string]$ndk_ver # Optional param for installing each ffmpeg build with different Android NDK
)
Write-Host "Configure and compile FFmpeg for $buildSystem with configuration: $config"
@@ -50,9 +98,17 @@ function InstallFfmpeg {
$env:MSYS2_PATH_TYPE = "inherit"
$env:MSYSTEM = $msystem
if ($ndk_ver) {
$installDir = ResolveFFmpegInstallDir -buildSystem $buildSystem -ndkVer $ndk_ver
$installDirForMsys = ResolveFFmpegInstallDirMsys -buildSystem $buildSystem -ndkVer $ndk_ver
} else {
$installDir = ResolveFFmpegInstallDir -buildSystem $buildSystem
$installDirForMsys = ResolveFFmpegInstallDirMsys -buildSystem $buildSystem
}
$cmd = "cd /c/$ffmpeg_name"
$cmd += " && mkdir -p build/$buildSystem && cd build/$buildSystem"
$cmd += " && ../../configure --prefix=installed $config"
$cmd += " && ../../configure --prefix=$installDirForMsys $config"
if ($toolchain) {
$cmd += " --toolchain=$toolchain"
}
@@ -72,7 +128,7 @@ function InstallFfmpeg {
return $false
}
Set-EnvironmentVariable $ffmpegDirEnvVar "C:\$ffmpeg_name\build\$buildSystem\installed"
Set-EnvironmentVariable $ffmpegDirEnvVar $installDir
return $true
}
@@ -105,6 +161,13 @@ function InstallMsvcFfmpeg {
}
}
$zlibPath = GetZlibPathByString -TargetArchitecture $arch
$zlibPath = $zlibPath -replace '\\', '/'
$config += " --enable-zlib"
$config += " --extra-cflags=`"-I$zlibPath`""
$config += " --extra-ldflags=`"-LIBPATH:$zlibPath`""
$result = EnterVSDevShell -HostArch $hostArch -Arch $arch
if (-Not $result) {
return $false
@@ -138,16 +201,22 @@ function InstallLlvmMingwFfmpeg {
}
function InstallAndroidArmv7 {
param (
[string]$ndk_root,
[string]$ffmpeg_dir_android_envvar_name,
[string]$ndk_version,
[string]$android_openssl_path, # OpenSSL is built for Android using NDK, NDK versions for OpenSSL+FFmpeg should match
[string]$android_page_size
)
$shared=$true
$target_toolchain_arch="armv7a-linux-androideabi"
$target_arch="armv7-a"
$target_cpu="armv7-a"
$api_version="24"
$ndkVersionLatest = "r27c"
$ndkFolderLatest = "/c/Utils/Android/android-ndk-$ndkVersionLatest"
$ndk_dir = $ndk_root -replace '\\', '/' -replace '^C:', '/c'
$toolchain="${ndkFolderLatest}/toolchains/llvm/prebuilt/windows-x86_64"
$toolchain="${ndk_dir}/toolchains/llvm/prebuilt/windows-x86_64"
$toolchain_bin="${toolchain}/bin"
$sysroot="${toolchain}/sysroot"
$cxx="${toolchain_bin}/${target_toolchain_arch}${api_version}-clang++"
@@ -157,22 +226,33 @@ function InstallAndroidArmv7 {
$ranlib="${toolchain_bin}/llvm-ranlib.exe"
$nm="${toolchain_bin}/llvm-nm.exe"
$strip="${toolchain_bin}/llvm-strip.exe"
$openssl_path = [System.Environment]::GetEnvironmentVariable("OPENSSL_ANDROID_HOME_DEFAULT", [System.EnvironmentVariableTarget]::Machine)
$openssl_path = $openssl_path.Replace("\", "/")
$openssl_path = $android_openssl_path.Replace("\", "/")
Write-Host "Copying _3.so's to .so's"
Copy-Item -Path ${openssl_path}/armeabi-v7a/libcrypto_3.so -Destination ${openssl_path}/armeabi-v7a/libcrypto.so
Copy-Item -Path ${openssl_path}/armeabi-v7a/libssl_3.so -Destination ${openssl_path}/armeabi-v7a/libssl.so
New-Item -ItemType SymbolicLink -Path ${openssl_path}/armeabi-v7a/libcrypto.so -Target ${openssl_path}/armeabi-v7a/libcrypto_3.so
New-Item -ItemType SymbolicLink -Path ${openssl_path}/armeabi-v7a/libssl.so -Target ${openssl_path}/armeabi-v7a/libssl_3.so
$config = GetFfmpegDefaultConfiguration
$config += " --enable-cross-compile --target-os=android --enable-jni --enable-mediacodec --enable-openssl --enable-pthreads --enable-neon --disable-asm --disable-indev=android_camera"
$config += " --arch=$target_arch --cpu=${target_cpu} --sysroot=${sysroot} --sysinclude=${sysroot}/usr/include/"
$config += " --cc=${cc} --cxx=${cxx} --ar=${ar} --ranlib=${ranlib}"
$config += " --extra-cflags=-I$envOPENSSL_ANDROID_HOME_DEFAULT/include --extra-ldflags=-L$env:OPENSSL_ANDROID_HOME_DEFAULT/armeabi-v7a"
$config += " --extra-cflags=-I${android_openssl_path}/include --extra-ldflags=-L${android_openssl_path}/armeabi-v7a"
$config += " --extra-cflags=-I${openssl_path}/include --extra-ldflags=-L${openssl_path}/armeabi-v7a"
if ($android_page_size -eq "use_16kb_page_size"){
$config += " --extra-ldflags=-Wl,-z,max-page-size=16384"
Write-Host "FFmpeg Android using 16KB page sizes"
} elseif ($android_page_size -eq "use_4kb_page_size") {
Write-Host "FFmpeg Android using 4KB page sizes"
} else {
Write-Host "Error: FFmpeg Android page_size must be: use_16kb_page_size or: use_16kb_page_size got: $android_page_size"
return false
}
$config += " --strip=$strip"
$result= InstallFfmpeg -config $config -buildSystem "android-arm" -msystem "ANDROID_CLANG" -ffmpegDirEnvVar "FFMPEG_DIR_ANDROID_ARMV7" -shared $shared
$buildSystem = "android-arm"
$result= InstallFfmpeg -config $config -buildSystem $buildSystem -msystem "ANDROID_CLANG" -ffmpegDirEnvVar $ffmpeg_dir_android_envvar_name -shared $shared -ndk_ver $ndk_version
Remove-Item -Path ${openssl_path}/armeabi-v7a/libcrypto.so
Remove-Item -Path ${openssl_path}/armeabi-v7a/libssl.so
@@ -198,9 +278,14 @@ function InstallAndroidArmv7 {
Start-Process -NoNewWindow -Wait -PassThru -ErrorAction Stop -FilePath $msys -ArgumentList ("-lc", "`"cd C:/patchelf-0.17.2 && ./bootstrap.sh && ./configure && make install`"")
$command = "${PSScriptRoot}/../shared/fix_ffmpeg_dependencies.sh C:/${ffmpeg_name}/build/android-arm/installed/ _armeabi-v7a no"
$installDirForMsys = ResolveFFmpegInstallDirMsys -buildSystem $buildSystem -ndkVer $ndk_version
$command = "${PSScriptRoot}/../shared/fix_ffmpeg_dependencies.sh ${installDirForMsys} _armeabi-v7a no"
$command = $command.Replace("\", "/")
Start-Process -NoNewWindow -Wait -PassThru -ErrorAction Stop -FilePath $msys -ArgumentList ("-lc", "`"$command`"")
$patchResult = Start-Process -NoNewWindow -Wait -PassThru -ErrorAction Stop -FilePath $msys -ArgumentList ("-lc", "`"$command`"")
if ($patchResult.ExitCode) {
Write-Host "fix_ffmpeg_dependencies.sh did not finish successfully"
return $false
}
return $result
}
@@ -209,7 +294,20 @@ function InstallFfmpegsAMD64 {
$hostArch = "amd64"
$mingwRes = InstallMingwFfmpeg
$llvmMingwRes = InstallLlvmMingwFfmpeg
$androidArmV7Res = InstallAndroidArmv7
if ($env:ANDROID_NDK_ROOT_LATEST) {
Write-Host "Install ffmpeg using latest supported Android NDK"
$androidArmV7Res = InstallAndroidArmv7 -ndk_root $env:ANDROID_NDK_ROOT_LATEST -ffmpeg_dir_android_envvar_name "FFMPEG_DIR_ANDROID_ARMV7_NDK_LATEST" -ndk_version "latest" -android_openssl_path $env:OPENSSL_ANDROID_HOME_LATEST -android_page_size "use_4kb_page_size"
} else {
throw "Error: env.var ANDROID_NDK_ROOT_LATEST is not set for FFmpeg"
}
if ($env:ANDROID_NDK_ROOT_NIGHTLY1) {
Write-Host "Install ffmpeg using older Android NDK for nightly1"
InstallAndroidArmv7 -ndk_root $env:ANDROID_NDK_ROOT_NIGHTLY1 -ffmpeg_dir_android_envvar_name "FFMPEG_DIR_ANDROID_ARMV7_NDK_NIGHTLY1" -ndk_version "nightly1" -android_openssl_path $env:OPENSSL_ANDROID_HOME_NIGHTLY1
}
if ($env:ANDROID_NDK_ROOT_NIGHTLY2) {
Write-Host "Install ffmpeg using older Android NDK for nightly2"
InstallAndroidArmv7 -ndk_root $env:ANDROID_NDK_ROOT_NIGHTLY2 -ffmpeg_dir_android_envvar_name "FFMPEG_DIR_ANDROID_ARMV7_NDK_NIGHTLY2" -ndk_version "nightly2" -android_openssl_path $env:OPENSSL_ANDROID_HOME_NIGHTLY2
}
$msvcRes = InstallMsvcFfmpeg -hostArch $hostArch -isArm64 $false
$msvcArm64Res = InstallMsvcFfmpeg -hostArch $hostArch -isArm64 $true

View File

@@ -6,7 +6,6 @@
# This script will install Java SE
# https://www.oracle.com/java/technologies/javase/jdk17-archive-downloads.html
$version_major = "17"
$installdir = "C:\Program Files\Java\jdk-$version_major"
$cpu_arch = Get-CpuArchitecture
switch ($cpu_arch) {
@@ -19,6 +18,9 @@ switch ($cpu_arch) {
$url_official = "https://aka.ms/download-jdk/microsoft-jdk-${version}-windows-${arch}.msi"
$url_cache = "\\ci-files01-hki.ci.qt.io\provisioning\windows\microsoft-jdk-${version}-windows-${arch}.msi"
$javaPackage = "C:\Windows\Temp\jdk-$version.msi"
# Microsoft installer does not allow to override the installation path using the regular
# TARGETDIR or INSTALLDIR properties, so just hardcode the path that it uses
$installdir = "C:\Program Files\Microsoft\jdk-17.0.11.9-hotspot"
Break
}
x64 {
@@ -28,6 +30,7 @@ switch ($cpu_arch) {
$url_official = "https://download.oracle.com/java/17/archive/jdk-${version}_windows-${arch}_bin.exe"
$url_cache = "\\ci-files01-hki.ci.qt.io\provisioning\windows\jdk-$version-windows-$arch.exe"
$javaPackage = "C:\Windows\Temp\jdk-$version.exe"
$installdir = "C:\Program Files\Java\jdk-$version_major"
Break
}
default {

View File

@@ -75,11 +75,7 @@ Set-Content -Value "" -Path "$vcpkgRoot\vcpkg.disable-metrics" -Force
Set-Location -Path "$vcpkgRoot"
cmd.exe /c "$vcpkgRoot\bootstrap-vcpkg.bat"
# Setting VCPKG_ROOT using Set-EnvironmentVariable makes the variable only
# available during build time. In order to make it available during the
# provisioning, we need to directly set it via $env:VCPKG_ROOT as well.
Set-EnvironmentVariable "VCPKG_ROOT" "$vcpkgRoot"
$env:VCPKG_ROOT = "$vcpkgRoot"
# Set a source for vcpkg Binary and Asset Cache
# The `coin/provisioning/common/windows/mount-vcpkg-cache-drive.ps1` script is

View File

@@ -1,7 +1,8 @@
param(
[string]$archVer="32",
[string]$toolchain="vs2022",
[bool]$setDefault=$true
[bool]$setDefault=$true,
[bool]$useArchInToolchainSuffix=$false
)
. "$PSScriptRoot\helpers.ps1"
@@ -71,6 +72,9 @@ if ( $toolchain -eq "llvm-mingw" ) {
$toolchainSuffix = "llvm_mingw"
}
if ( $useArchInToolchainSuffix ) {
$toolchainSuffix += "_$archVer"
}
install $sha1 $baseDestination-$archVer

View File

@@ -0,0 +1,40 @@
. "$PSScriptRoot\helpers.ps1"
# This script installs Windows App SDK
$script:nugetVersion = "v6.11.0"
$script:nugetPackage = "nuget_$nugetVersion.exe"
$script:packageRoot = "C:\Utils\WindowsAppSdk\"
$script:cachedUrl = "\\ci-files01-hki.ci.qt.io\provisioning\windows\nuget\$nugetPackage"
$script:officialUrl = "https://dist.nuget.org/win-x86-commandline/$nugetVersion/nuget.exe"
$script:sdkChecksumSha1 = "5443887cfb5283da5021388d146ebb5febdc82e9"
$script:package_path = "$packageRoot\\$nugetPackage"
New-Item -ItemType Directory -Path "$packageRoot"
Download $officialUrl $cachedUrl $package_path
Verify-Checksum $package_path $sdkChecksumSha1 sha1
Write-Host "Installing Nuget"
Run-Executable "$package_path" "install Microsoft.WindowsAppSDK -OutputDirectory $packageRoot"
$script:cpuarch = Get-CpuArchitecture
$script:cppWinRt_path = "C:\Program Files*\Windows Kits\*\bin\*\$cpuarch\cppwinrt.exe"
if (Resolve-Path -Path $cppWinRt_path) {
$cppWinRt_path = $(Resolve-Path -Path $cppWinRt_path).Path
}
else {
Run-Executable "$package_path" "install Microsoft.Windows.CppWinRT -OutputDirectory $packageRoot"
$cppWinRt_path = $(Resolve-Path -Path "$packageRoot\\Microsoft.Windows.CppWinRT.*\\bin\\cppwinrt.exe").Path
}
$script:winAppSDK_path = $(Resolve-Path -Path "$packageRoot\Microsoft.WindowsAppSDK.*").Path
$script:webview2_path = $(Resolve-Path -Path "$packageRoot\Microsoft.Web.WebView*").Path
Write-Output "CppWinRT Path = $cppWinRt_path"
Write-Output "WindowsAppSdk Path = $winAppSDK_path"
Write-Output "WebView2 Path = $webview2_path"
Set-EnvironmentVariable "WIN_APP_SDK_ROOT_PATH" "$winAppSDK_path"
Set-EnvironmentVariable "WEBVIEW2_SDK_ROOT_PATH" "$webview2_path"
Set-EnvironmentVariable "CPP_WIN_RT_PATH_$cpuarch" "$cppWinRt_path"

View File

@@ -0,0 +1,80 @@
# Copyright (C) 2025 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
. "$PSScriptRoot\helpers.ps1"
function CpuArchToString {
param (
[Parameter(Mandatory)]
[CpuArch] $Architecture
)
$arhitecture = switch ($Architecture) {
([CpuArch]::arm64) {
'arm64'
}
([CpuArch]::x64) {
'amd64'
}
default {
throw "Unsupported architecture: '$Architecture'"
}
}
return $arhitecture
}
function StringToCpuArch {
param (
[Parameter(Mandatory)]
[string] $Architecture
)
$arhitecture = switch ($Architecture) {
'arm64' {
[CpuArch]::arm64
}
'amd64' {
[CpuArch]::x64
}
default {
throw "Unsupported architecture: '$Architecture'"
}
}
return $arhitecture
}
function GetZlibEnvironmentVariableName {
param (
[Parameter(Mandatory)]
[CpuArch] $TargetArchitecture
)
$architecture = CpuArchToString -Architecture $TargetArchitecture
$environmentVariableName = "ZLIB_PATH_$architecture".ToUpper()
return $environmentVariableName
}
function GetZlibPathByCpuArch {
param (
[Parameter(Mandatory)]
[CpuArch] $TargetArchitecture
)
$environmentVariableName = GetZlibEnvironmentVariableName -TargetArchitecture $TargetArchitecture
return [System.Environment]::GetEnvironmentVariable($environmentVariableName, [System.EnvironmentVariableTarget]::Machine)
}
function GetZlibPathByString {
param (
[Parameter(Mandatory)]
[string] $TargetArchitecture
)
$targetArchitecture = StringToCpuArch -Architecture $TargetArchitecture
return GetZlibPathByCpuArch -TargetArchitecture $targetArchitecture
}

View File

@@ -0,0 +1,203 @@
# Copyright (C) 2025 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
# This script performs manual copying and patching of the zlib source to support
# multi-architecture builds on Windows using Microsoft's nmake and Makefile.msc.
#
# Reasons for this approach:
#
# 1. In-source build system:
# zlib's build system (Makefile.msc) writes all build artifacts directly into the source
# directory. To allow concurrent builds for different architectures (e.g., x64 and arm64),
# we copy the relevant source files into per-architecture build directories to isolate artifacts.
#
# 2. Incompatible linker base address:
# The default Makefile.msc contains a hardcoded image base address ('-base:0x5A4C0000') for the
# linker. This is invalid for ARM64 targets, which require base addresses above 4 GB. The script
# patches this line out to prevent linker errors.
#
# 3. Broken #include in zconf.h:
# Based on FFmpeg documentation (https://ffmpeg.org/platform.html#Microsoft-Visual-C_002b_002b-or-Intel-C_002b_002b-Compiler-for-Windows),
# zconf.h may erroneously include '<unistd.h>', which doesn't exist on Windows. While Visual Studio 2022
# builds tolerate this, we patch it out to ensure compatibility with older toolchains.
#
# These workarounds allow us to run reproducible, architecture-specific builds in CI without modifying
# the original source tree or requiring upstream changes.
. "$PSScriptRoot\helpers.ps1"
. "$PSScriptRoot\zlib-helpers.ps1"
$VERSION='1.3.1'
$SHA1='f535367b1a11e2f9ac3bec723fb007fbc0d189e5'
$WIN32_DIRECTORY='win32'
$MAKEFILE="$WIN32_DIRECTORY\Makefile.msc"
function BuildZlib {
param (
[Parameter(Mandatory)]
[CpuArch] $HostArchitecture,
[Parameter(Mandatory)]
[CpuArch] $TargetArchitecture
)
PrepareBuildEnvironment -HostArchitecture $HostArchitecture -TargetArchitecture $TargetArchitecture
Invoke-NMake -NmakeArgs @('/f', "$MAKEFILE")
}
function CopySource {
param (
[Parameter(Mandatory)]
[CpuArch] $TargetArchitecture
)
$testDirectory='test'
$buildDirectory = GetBuildDirectory -TargetArchitecture $TargetArchitecture
$win32BuildDirectory = "$buildDirectory\$WIN32_DIRECTORY"
$testBuildDirectory = "$buildDirectory\$testDirectory"
New-Item -Path $buildDirectory -ItemType 'Directory'
New-Item -Path $win32BuildDirectory -ItemType 'Directory'
New-Item -Path $testBuildDirectory -ItemType 'Directory'
Copy-Item '*' -Include '*.c','*.h' -Destination $buildDirectory
Copy-Item "$WIN32_DIRECTORY\*" -Include '*.def','*.msc','*.rc' -Destination $win32BuildDirectory
Copy-Item "$testDirectory\*" -Include '*.c' -Destination $testBuildDirectory
}
function GetBuildDirectory {
param (
[Parameter(Mandatory)]
[CpuArch] $TargetArchitecture
)
$architectureDirectory = CpuArchToString -Architecture $TargetArchitecture
return "build\$architectureDirectory"
}
function GetSource {
$unzipDirectory = "C:\"
$zlibName="zlib-$VERSION"
$zlibDirectory = "$unzipDirectory$zlibName"
$urlCached="http://ci-files01-hki.ci.qt.io/input/zlib/zlib-$VERSION.tar.gz"
$urlPublic="https://github.com/madler/zlib/releases/download/v$VERSION/zlib-$VERSION.tar.gz"
$downloadPath = "C:\Windows\Temp\$zlibName.tar.gz"
Write-Host "Fetching zlib $VERSION..."
Download $urlPublic $urlCached $downloadPath
Verify-Checksum $downloadPath $SHA1
Extract-tar_gz $downloadPath $unzipDirectory
Remove $downloadPath
return $zlibDirectory
}
function GetTargetArchitectures {
param (
[Parameter(Mandatory)]
[CpuArch] $HostArchitecture
)
$targetArhitectures = @([CpuArch]::arm64)
if ($HostArchitecture -eq [CpuArch]::x64) {
$targetArhitectures += [CpuArch]::x64
}
return $targetArhitectures
}
function PatchMakefile {
$pattern = '-base:\s*0x[0-9A-Fa-f]+'
(Get-Content $MAKEFILE) | ForEach-Object {
$_ -replace $pattern, ''
} | Set-Content $MAKEFILE
}
function PatchSource {
PatchZconf
PatchMakefile
}
function PatchZconf {
$zconf = 'zconf.h'
$pattern = '#\s*include\s*<unistd\.h>'
(Get-Content $zconf) | Where-Object {
$_ -notmatch $pattern
} | Set-Content $zconf
}
function PrepareBuild {
param (
[Parameter(Mandatory)]
[CpuArch] $TargetArchitecture
)
CopySource -TargetArchitecture $TargetArchitecture
}
function PrepareBuildEnvironment {
param (
[Parameter(Mandatory)]
[CpuArch] $HostArchitecture,
[Parameter(Mandatory)]
[CpuArch] $TargetArchitecture
)
$hostArhitecture = CpuArchToString -Architecture $HostArchitecture
$targetArhitecture = CpuArchToString -Architecture $TargetArchitecture
if (-not $(EnterVSDevShell -HostArch $hostArhitecture -Arch $targetArhitecture)) {
throw "Failed to prepare build environment for ${hostArhitecture}_${targetArhitecture}"
}
}
function SetZlibEnvironmentVariable {
param (
[Parameter(Mandatory)]
[CpuArch] $TargetArchitecture,
[Parameter(Mandatory)]
[string] $ZlibDirectory
)
$buildDirectory = GetBuildDirectory -TargetArchitecture $TargetArchitecture
$environmentVariableName = GetZlibEnvironmentVariableName -TargetArchitecture $TargetArchitecture
$environmentVariableValue = "$ZlibDirectory\$buildDirectory"
Set-EnvironmentVariable $environmentVariableName $environmentVariableValue
}
$zlibDirectory = GetSource
$hostArchitecture = Get-CpuArchitecture
$targetArchitectures = GetTargetArchitectures -HostArchitecture $hostArchitecture
Push-Location $zlibDirectory
try {
foreach ($targetArchitecture in $targetArchitectures) {
PrepareBuild -TargetArchitecture $targetArchitecture
$buildDirectory = GetBuildDirectory -TargetArchitecture $targetArchitecture
Push-Location $buildDirectory
try {
PatchSource
BuildZlib -HostArchitecture $hostArchitecture -TargetArchitecture $targetArchitecture
SetZlibEnvironmentVariable -TargetArchitecture $targetArchitecture -ZlibDirectory $zlibDirectory
}
finally {
Pop-Location
}
}
}
finally {
Pop-Location
}

View File

@@ -21,9 +21,9 @@ done
echo "Using public repositories for now. Repo-clones isn't set yet for Debian use"
# (ping -c 3 repo-clones.ci.qt.io && set_internal_repo) || echo "Internal package repository not found. Using public repositories."
echo "deb http://deb.debian.org/debian bullseye-backports main" | sudo tee -a /etc/apt/sources.list
echo "deb-src http://deb.debian.org/debian bullseye-backports main" | sudo tee -a /etc/apt/sources.list
echo "deb https://archive.debian.org/debian bullseye-backports main" | sudo tee -a /etc/apt/sources.list
echo "deb-src https://archive.debian.org/debian bullseye-backports main" | sudo tee -a /etc/apt/sources.list
# Make sure needed ca-certificates are available
installPackages+=(ca-certificates)
# Git is not needed by builds themselves, but is nice to have
@@ -145,6 +145,7 @@ installPackages+=(libbluetooth-dev)
installPackages+=(dkms)
# Needed for qtspeech
installPackages+=(libspeechd-dev)
installPackages+=(flite1-dev)
#Pypdf for PDF reading in RTA tests
installPackages+=(python3-pypdf2)
# Needed for b2qt
@@ -248,6 +249,8 @@ installPackages+=(zlib1g-dev)
installPackages+=(libusb-1.0-0-dev)
# password management support for Qt Creator
installPackages+=(libsecret-1-dev)
installPackages+=(debian-archive-keyring)
echo "Running update for apt"
waitLoop

View File

@@ -41,8 +41,8 @@ EOF
sudo sbuild-adduser "$LOGNAME"
newgrp sbuild
# Create chroot for debian stable
sudo sbuild-createchroot --include=eatmydata,ccache,gnupg,ca-certificates stable /srv/chroot/stable-arm64
# Create chroot for debian bookworm
sudo sbuild-createchroot --include=eatmydata,ccache,gnupg,ca-certificates bookworm /srv/chroot/stable-arm64
echo "Create chroot for Ubuntu Jammy"
# First we need update the deboostrap scripts
@@ -60,5 +60,5 @@ sudo sbuild-createchroot --include=gnupg,ca-certificates jammy /srv/chroot/jammy
echo "Done creating chroot for Ubuntu Jammy"
# Update chroot.
sudo sbuild-update -udcar stable
sudo sbuild-update -udcar bookworm
sudo sbuild-update -udcar jammy

View File

@@ -69,8 +69,9 @@ installPackages+=(libva-devel)
installPackages+=(gtk3-devel)
# libusb1 for tqtc-boot2qt/qdb
installPackages+=(libusbx-devel)
# speech-dispatcher-devel for QtSpeech, otherwise it has no backend on Linux
# speech-dispatcher-devel / flite-devel for QtSpeech
installPackages+=(speech-dispatcher-devel)
installPackages+=(flite-devel)
# Python for pyside
installPackages+=(python3.11)
installPackages+=(python3.11-pip)
@@ -118,6 +119,7 @@ installPackages+=(libxkbcommon-devel)
installPackages+=(libxkbcommon-x11-devel)
# xcb-util-* libraries
installPackages+=(xcb-util)
installPackages+=(xcb-util-devel)
installPackages+=(xcb-util-image-devel)
installPackages+=(xcb-util-keysyms-devel)
installPackages+=(xcb-util-wm-devel)
@@ -179,6 +181,9 @@ sudo /usr/bin/pip3 install dataclasses
gccVersion="$(gcc --version |grep -Eo '[0-9]+\.[0-9]+(\.[0-9]+)?' |head -n 1)"
echo "GCC = $gccVersion" >> versions.txt
glibcVersion="$(ldd --version |grep -Eo '[0-9]+\.[0-9]+(\.[0-9]+)?' |head -n 1)"
echo "glibc = $glibcVersion" >> versions.txt
OpenSSLVersion="$(openssl3 version |cut -b 9-14)"
echo "System's OpenSSL = $OpenSSLVersion" >> ~/versions.txt

View File

@@ -3,5 +3,5 @@
#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
source "${BASH_SOURCE%/*}/../common/linux/install-ffmpeg-linux.sh"
source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg-android.sh" "android-x86_64"
source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg-android.sh" "android-x86"
source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg-android.sh" "android-x86_64" "use_16kb_page_size"
source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg-android.sh" "android-x86" "use_4kb_page_size"

View File

@@ -145,5 +145,8 @@ sudo /usr/bin/pip3 install wheel
gccVersion="$(gcc --version |grep -Eo '[0-9]+\.[0-9]+(\.[0-9]+)?' |head -n 1)"
echo "GCC = $gccVersion" >> versions.txt
glibcVersion="$(ldd --version |grep -Eo '[0-9]+\.[0-9]+(\.[0-9]+)?' |head -n 1)"
echo "glibc = $glibcVersion" >> versions.txt
OpenSSLVersion="$(openssl version |cut -b 9-14)"
echo "OpenSSL = $OpenSSLVersion" >> ~/versions.txt

View File

@@ -157,5 +157,8 @@ sudo /usr/bin/pip3 install wheel
gccVersion="$(gcc --version |grep -Eo '[0-9]+\.[0-9]+(\.[0-9]+)?' |head -n 1)"
echo "GCC = $gccVersion" >> versions.txt
glibcVersion="$(ldd --version |grep -Eo '[0-9]+\.[0-9]+(\.[0-9]+)?' |head -n 1)"
echo "glibc = $glibcVersion" >> versions.txt
OpenSSLVersion="$(openssl3 version |cut -b 9-14)"
echo "OpenSSL = $OpenSSLVersion" >> ~/versions.txt

View File

@@ -3,5 +3,5 @@
#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
source "${BASH_SOURCE%/*}/../common/linux/install-ffmpeg-linux.sh"
source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg-android.sh" "android-x86"
source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg-android.sh" "android-x86_64"
source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg-android.sh" "android-x86" "use_4kb_page_size"
source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg-android.sh" "android-x86_64" "use_16kb_page_size"

View File

@@ -167,5 +167,8 @@ sudo /usr/bin/pip3 install dataclasses
gccVersion="$(gcc --version |grep -Eo '[0-9]+\.[0-9]+(\.[0-9]+)?' |head -n 1)"
echo "GCC = $gccVersion" >> versions.txt
glibcVersion="$(ldd --version |grep -Eo '[0-9]+\.[0-9]+(\.[0-9]+)?' |head -n 1)"
echo "glibc = $glibcVersion" >> versions.txt
OpenSSLVersion="$(openssl3 version |cut -b 9-14)"
echo "OpenSSL = $OpenSSLVersion" >> ~/versions.txt

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