Commit Graph

28 Commits

Author SHA1 Message Date
Assam Boudjelthia
23b2017121 Android: provision Gradle dependencies for all hosts
Add scripts to download and cache Gradle distribution
and its dependencies during provisioning for all hosts
so that Qt builds don't have to fetch them on every Qt
module and test build.

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

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

Task-number: QTBUG-132915
Change-Id: Id4876ad90a09cdaada5b96c457820c691e2be426
Reviewed-by: Simo Fält <simo.falt@qt.io>
Reviewed-by: Dimitrios Apostolou <jimis@qt.io>
2026-04-21 16:34:55 +00:00
Allan Sandfeld Jensen
2548d074a0 Install rust on Windows CI
Pick-to: 6.11
Change-Id: Ic33c84f8bab20cc2cbae17b7e42bc8ac89153924
Reviewed-by: Simo Fält <simo.falt@qt.io>
2026-04-07 09:42:11 +00:00
Oleksii Zbykovskyi
2450189a4f Initial installation of the virtual camera on Windows
It's not possible to test video APIs in CI, when they require hardware.
Install a virtual camera driver on Windows, that can be used in autotests.

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

Task-number: QTBUG-139831
Change-Id: I963aca94e980440dc96e6998e3cd6de387dd80e9
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
Reviewed-by: Nils Petter Skålerud <nils.petter.skalerud@qt.io>
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
2025-12-29 19:46:20 +01:00
Oleksii Zbykovskyi
f032c3156d Install NuGet in a separate file
Made an installation of NuGet in a separate script to be able to share
the packages by an environment variable between multiple scripts.
NuGet is needed for both the Windows App SDK and a virtual camera.

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

Change-Id: I11f035d8eb107d2d2c9e2a93f17a935129bb707e
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
Reviewed-by: Elias Toivola <elias.toivola@qt.io>
2025-12-18 09:46:54 +01:00
Johanna Äijälä
4bff151490 Provisioning: cleanup, remove Squish installations
RTA is using different means to install Squish for RTA tests, no need
to do it in general provisioning.

Pick-to: 6.11
Change-Id: I4858a282ad7a0b1412f6dd0f4876109fe54a4c88
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
2025-12-16 11:27:57 +02:00
Oleksii Zbykovskyi
b276b549f7 Rename 100... to 10... in Windows provisioning scripts
Renamed files since it leads to misunderstanding due to their index.
Our CI system sees only two first digits, so 100 is seen as 10
and executed with other 10s which is misleading.

Pick-to: 6.10 6.8
Change-Id: Iabb548c622d71df8a3593cc171b7e0c2e2ae0287
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
2025-12-08 21:42:29 +01:00
Frederic Lefebvre
f9d8882a51 Provisioning: Do not hardcode dynamic libclang version in file names
libclang-v100-dyn.sh had the libclang version 10.0 hard coded in the
file name for the Windows scripts. All local provisioning scripts
calling the latter also had the same version hard coded in their
respective filenames. libclang-v100-dyn.sh also sets the version to be
downloaded in a local variable

There is a mismatch between file names and actually installed version
when the download version is modified.

Remote version from common installer and related local scripts.

Change-Id: I81773ff5a834b6f396ce17af93c6510991de129a
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
2025-09-08 07:09:11 +02:00
Tero Heikkinen
fc6aa80d32 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.10 6.9 6.8
Change-Id: Ib10887fb904a75ccbb91bef2e9be0e83625da784
Reviewed-by: Matti Paaso <matti.paaso@qt.io>
2025-09-05 18:35:21 +03:00
Pavel Dubsky
97e80c1538 Build zlib while provisioning on Windows
Task-number: QTBUG-103332
Pick-to: 6.10 6.9 6.8 6.5
Change-Id: I65289d393f3085c9a3ebc5bbbb1805490d270125
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
2025-07-25 00:13:02 +02:00
Elias Toivola
4aaba78cb4 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.10 6.9 6.8 6.5
Task-number: QTQAINFRA-7236
Change-Id: I243632d958007142792df0cbd9a341fb2b86df69
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
2025-06-11 04:36:29 +00:00
Michal Klocek
539dc64e8e 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
Pick-to: 6.10
Change-Id: I88da09eb9bf9e58f630ed65071d33bd4a89ac094
Reviewed-by: Toni Saario <toni.saario@qt.io>
2025-06-09 21:10:22 +02:00
Elias Toivola
066371f7cd 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.10 6.8 6.5
Task-number: QTQAINFRA-6761
Change-Id: Ie676f94b81e7281ec84d9fbbfa2fd7f1d28dfbca
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
2025-06-04 18:00:56 +00:00
Tony Sarajärvi
f77919a48b Provisioning: Disable Windows Delivery Optimization service
We don't want Windows VMs to spam mDNS messages about optimizing
Windows updates, when the updates themselves are disabled.

Pick-to: 6.9 6.8
Task-number: QTQAINFRA-6761
Change-Id: I1452ebbb612f784c96f07de0a29cb2cfb54f1e75
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
2025-05-15 12:39:22 +00:00
Alexey Edelev
c259d85b8e Relax jq dependency from provisioning
We may read the installed package information from the 'vcpkg list'
command instead of parsing the vcpkg.json. Also instead of using
the jq as a parser, use the cmake script. This allows skipping the
jq installation.

Change-Id: Id3ace62f8f40ff1bd059878da3fd13e466861830
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2025-05-15 06:19:40 +02:00
Axel Spoerl
3145c3a5ed Add windows provisioning script for CI network test
Provision and run the test script on Windows in warn-only mode.

Task-number: QTQAINFRA-6796
Change-Id: I06fdfc44109017deb5eaacd3811930b98f1a10f7
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
2025-05-14 21:18:05 +02:00
Tero Heikkinen
ebcc9a1d10 Provisioning: Add Root Certificate update for Windows
Windows usually updates certificates once a week, but due
to disabling Windows background updates there is need to
install and update certificates manually.

Updating certificates during provisioning is selected method
as it's aligned with the same procedure how linux machines have
handled the same.

Task-number: QTQAINFRA-7001
Pick-to: 6.9 6.8 5.15
Change-Id: I7c077b5e08328b12c481a3501736f06baf85e71e
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
Reviewed-by: Matti Paaso <matti.paaso@qt.io>
2025-03-31 07:21:38 +02:00
Paul Wicking
9ff9d34626 Update Clang libraries for QDoc to 19.1.7
* Update the version variable used to identify the correct package for
  download and cache sites.
* Update the file names for all platforms, as these libraries are built
  directly from upstream without other patches applied on top.
* Add provisioning package locations for Windows VS2022 x64.
* Set 'vs2022' as default toolchain on Windows.
* Update call sites for `libclang.ps1` to pass `vs2022` as argument to
  the script.
* Drop Windows configurations with VS2019.
* Update cached and official URLs with the major version for Windows
  platforms.
* Update SHA1 for provisioning packages on all platforms.
* Move from RHEL 8.8 to 8.10.
* Move from RHEL 9.2 to 9.4.

Fixes: QTBUG-129506
Fixes: QTQAINFRA-6605
Task-number: QTBUG-129373
Pick-to: 6.8 6.9
Change-Id: I5146e6551a1b3c83133803f61ca6f8428cb6a14f
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
2025-03-10 05:21:48 +01:00
Even Oscar Andersen
6224b4be91 wasm: Enable the mosquitto test broker on Ubuntu and windows
The test broker will later be used by the mqtt tests

There are 4 variants using two ports each

2883, 3883  -> Tcp
9883, 10883 -> Ssl
9080, 10080 -> WebSocket
9081, 10081 -> WebSocketSecure

For each of the 4 variants we test 3 protocols:
3.1, 3.1.1, 5.0

Task-number: QTBUG-129171
Change-Id: If000dd333221e7296499fc756ef97a074cf97273
Reviewed-by: Elias Toivola <elias.toivola@qt.io>
Reviewed-by: Jøger Hansegård <joger.hansegard@qt.io>
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
2025-01-26 19:05:29 +01:00
Alexey Edelev
b5fa5d0c2b Build arm64 triplet only where we need it
The triplet it not used on every x86_64 windows VM. Build it only
on windows 11_23_H2-x86_64 where we crosscompile Qt.

Change-Id: I5bfd852ac0cdde8d8f1f7b4b46d208f6dc221162
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2024-11-10 20:00:03 +01:00
Christian Ehrlicher
2beda8e695 Coin: Enable Oracle Instant Client provisioning
Enable OCI provisioning for
 - Windows 10 22H2
 - Windows 11 23H2
 - Ubuntu 22.04 x86_64
 - RHEL 9.2 x86_64
 - SLES 15 SP5 x86_64
 - openSUSE 15.5 x86_64

Task-number: QTBUG-128873
Change-Id: I8d0886f9059cd5941ac9f9174f899b1e125168e3
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
2024-10-05 11:18:56 +02:00
Marcus Tillmanns
337206334e Coin: Add golang & upx to Linux/macOS/Windows
Qt Creator will soon start to rely on go for tools and upx for binary compression.

Right now we can't install upx on macOS which we can live with.
Leaving the script in for later re-enabling once brew has been fixed.

Pick-to: 6.7 6.8
Change-Id: I4fdc67e469153e8a0530efd58ff251629dcabdfa
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2024-09-12 19:56:28 +00:00
Christian Ehrlicher
333cbd0592 Coin: Enable firebird provisioning
Enable Firebird provisioning for
 - Windows 10 22H2
 - Windows 11 23H2
 - Ubuntu 22.04 x86_64
 - RHEL 9.2 x86_64
 - SLES 15 SP5 x86_64
 - openSUSE 15.5 x86_64

Change-Id: I075d4c468ed7c103b9e1090aea3ff36014b4e8fc
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
2024-09-12 10:11:43 +02:00
Alexandru Croitor
8aa15db27f CMake: Provision llvm-mingw for latest Windowss 11 23H2 image
It was previously missed, and thus qdoc wasn't built for the
windows-11_23H2-llvm Packaging configuration.

Amends 9975595a5e

Pick-to: 6.7 6.8
Fixes: QTBUG-121548
Task-number: QTBUG-111580
Change-Id: I1142b593f36c8366ceaeac91eba81e16f1a2557d
Reviewed-by:  Alexey Edelev <alexey.edelev@qt.io>
2024-08-27 16:21:08 +02:00
Johanna Äijälä
2764cdef92 Provisioning: add QNX710 to Windows11 x86_64
Needed by RTA.

Pick-to: 6.8
Change-Id: I74bac144d66cc005179e06f983d4baa808618a40
Reviewed-by: Matti Paaso <matti.paaso@qt.io>
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
Reviewed-by: Simo Fält <simo.falt@qt.io>
2024-06-13 16:10:37 +03:00
Tero Heikkinen
7aa7c459ac Provisioning: Remove Python2 from Windows provisioning
Python2 certificate failure blocks Windows provisioning.

Task-number: QTQAINFRA-6315
Change-Id: I6f1e273d30e60fc4cbe872cdae2e52330bdb1ac7
Reviewed-by: Simo Fält <simo.falt@qt.io>
2024-05-14 08:09:05 +03:00
Jukka Jokiniva
d8e6489cef Revert "Add Git\usr\bin\ to path on windows"
This reverts commit 0477a26495.

Reason for revert: This change breaks qtinterfaceframework mingw build

Change-Id: Ib0790c2bee99aa0133925b7663999e80906d882d
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
2024-04-30 11:05:20 +00:00
Casimir Saastamoinen
0477a26495 Add Git\usr\bin\ to path on windows
Adding Git\usr\bin\ to path would make it possible to use vim and
compile in ssh session

Task-number: COIN-1060
Change-Id: Ic96d787de3cc71c685e09ae6fd00c35745e747a1
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
2024-04-20 09:37:05 +03:00
Elias Toivola
5157d1ef93 Add Windows 11 23H2 as non-blocking in CI
Windows 11 23H2 version which will replace Windows 11 22H2 once the new version is deemed as stable. Until then, 23h2 tests will be set as insignificant.

Task-number: QTQAINFRA-6075
Task-number: QTQAINFRA-6113
Change-Id: I15054813896210fadf14da815ad5a7b3e402e800
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
2024-03-28 18:30:59 +02:00