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
Change-Id: I049f84ad7df91cd62e7f40044d8ef40705ac34e1
Reviewed-by: Simo Fält <simo.falt@qt.io>
Tool allows managing modern android bundles. Provision it on RHEL
8.10 platform - the one we use for the Qt for Android x86_64 builds.
Change-Id: Ia1a7bb077e9dc0afc95ad92cbd85c96724ab0ced
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
The flite plugin for QtSpeech wasn't tested on CI as the development
files weren't installed.
Pick-to: 6.8 6.9 6.10
Change-Id: Ieefe42f67009b99cc95f54567f224972d12c1538
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
Reviewed-by: Tim Blechmann <tim.blechmann@qt.io>
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
Pick-to: 6.10
Task-number: COIN-1232
Change-Id: Ifa768173093c4b6b90599d0fff8b34a1db8b1bbc
Reviewed-by: Lorn Potter <lorn.potter@qt.io>
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.
Pick-to: 6.10
Change-Id: Ied63ace32b7fb252d124ad447bc56dba353ff403
Reviewed-by: Lorn Potter <lorn.potter@qt.io>
This path will be used as CMAKE_MAKE_PROGRAM explicitly.
Change-Id: Ic15253f837b798c468f782ad4116d1ba4cc7c934
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
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.
Pick-to: 6.10
Task-number: QTQAINFRA-7069
Change-Id: I5f7e111708aecedd2817888948b77b8163f0452d
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
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.
Pick-to: 6.10
Task-number: QTQAINFRA-7069
Change-Id: Ie4457c87b7b75e0c711a76bd8170e718cbda445d
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
This change makes macOS provisioning also install older NDKs for
Android (if set), which will be used in nightly targets.
Pick-to: 6.10
Task-number: QTQAINFRA-7069
Change-Id: Ie176c5ea69a1398afa69691ad6f37b7af2f66dfc
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
This change makes provisioning also install older NDKs for Android,
which will be used in nightly targets.
Pick-to: 6.10
Task-number: QTQAINFRA-7069
Change-Id: Ia8695383e94df282822da9019c33f1004a879bf6
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
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.
Pick-to: 6.10
Change-Id: I804fa8f8dfce742a84e8b4bc077f466820589f7e
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
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.10 6.9 6.8
Task-number: QTBUG-137582
Change-Id: Ia13b8f190938b44b8a14fc8c796912910a8d6d88
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
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.10 6.9 6.8
Change-Id: I7c781264ad67508d19fd44556a9caf0f201638d4
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
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>
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>
This makes the qemu virtualize the target rather than emulating
it. Virtualization allows few times better performance in tests.
Pick-to: 6.9 6.10
Change-Id: I7a5f7e3e2b04c52034325459ef05bfc0dce5d0b7
Reviewed-by: Simo Fält <simo.falt@qt.io>
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.10 6.9 6.8
Change-Id: I0cfb99187f303b22dbdd46a7a848b85dbf571aad
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
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.10 6.9 6.8
Change-Id: Ib0764eb29b84ae8badcfb48424f86316f3b2b650
Reviewed-by: Simo Fält <simo.falt@qt.io>
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.10 6.9 6.8
Change-Id: I3458984aa22f8c82ed4d0bfac8ac8e71356e8789
Reviewed-by: Simo Fält <simo.falt@qt.io>
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.10 6.9 6.8
Change-Id: If31922e931db19ab189850b975ce0131a64321b4
Reviewed-by: Simo Fält <simo.falt@qt.io>
Set the VCPKG_INSTALLED_DIR, VCPKG_HOST_TRIPLET, VCPGK_TARGET_TRIPLET
environment variables after vcpkg ports installation. These variables
will be used when building Qt modules to setup the correct build
environment.
Change-Id: I3a625f4ef089b5da676b96a5bebaacfb09112ee4
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
VxWorks version update to 25.03 from 24.03.
Removed xf86drm patch.
Pick-to: 6.10
Change-Id: Idd5930fae79c68bc6c14cba5245404de9e851ef8
Reviewed-by: Matti Paaso <matti.paaso@qt.io>
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>
Prefer static linking for now, to bypass the deployment issues.
We will switch to dynamic libraries once online installer deliver the
vcpkg installed libraries.
Change-Id: Iac9a888237742ae886df8fb9b742b45f4727e28a
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Provision protobuf and gRPC packages using vcpkg.
Change-Id: I4d834236408938e228fb0721474edfad946a8dc8
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
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
Pick-to: 6.10
Change-Id: I1b7ff29b1870d0445034590d01caa503c9e3ae0f
Reviewed-by: Toni Saario <toni.saario@qt.io>
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.10 6.9 6.8
Task-number: QTBUG-137004
Change-Id: Iffb9ab7d62a2bea3cb8e27354d25957c49911859
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
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.
Pick-to: 6.10 6.9
Task-number: QTQAINFRA-7187
Change-Id: Ie7c9f2175553c29654cf5b358ead6dd76e635d60
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
In the provisioning script 'install-ffmpeg-macos.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-macos.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: Id0b1bb23513b7bccf02f0c4073e4177f651792dd
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
This is needed for building cmdbridge for remote Linux support
in Qt Creator. This got lost for Linux/ARM prebuilt packages for
Qt Creator when moving from Debian/ARM to Ubuntu24/ARM.
Task-number: QTCREATORBUG-32928
Pick-to: 6.9 6.8
Change-Id: Ic993eaadacec21882e1e2f1b6e0d73bc4ffbf6d4
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
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>
The <Package>_ROOT should point to the package prefix, where
CMake should look for the respective cmake/, lib/cmake, and other
CMake package directories. Setting directly it to package path is
incorrect.
Pick-to: 6.8 6.9
Change-Id: Id8859c29da08144c60ed3d6301d2c65c8d602d1f
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
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>
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>
On iOS we no longer deploy FFmpeg .dylibs directly. As such, there is
no need to install the .dylibs during provisoning.
This patch removes this installation step during provisioning.
Pick-to: 6.9 6.8
Change-Id: I6f901113caca4b8d602490ba05db0c9dacb8f80d
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
Which gets us Xcode 16, with the macOS 15 SDK.
Pick-to: 6.9
Change-Id: I755c27f64f903b281f5d1c7947fbf370ddc3ee17
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
There are two image templates right away: -70 is Windows 11 with no
Visual Studio or Windows SDK ever installed. -71 includes VS2022 17.9.1
(MSVC 14.39.33519) and Windows SDK 10.0.26100.1742
Image changes compared to 23h2:
- VS2019 is left out as it's no longer used in provisioning scripts.
- Old DirectX installation (10-dxsdk.ps1) is left out. It's legacy,
originally used for Windows 7, and newer libraries should be found
from Windows SDK.
- 08-libclang-v100-dyn.ps1 is removed as it's no longer used. It had
dependency to VS2019.
- These images use UEFI instead of BIOS.
[CI Platforms]
Task-number: QTQAINFRA-6734
Task-number: QTQAINFRA-6823
Change-Id: I53a62c74b07d7fbfc9b1afbe44444272ae7c51e7
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
* Update the version variable used to identify the correct package for
download and cache sites.
* Update SHA1 for provisioning packages on all platforms.
Fixes: QTBUG-134304
Pick-to: 6.9 6.8
Change-Id: I2577600296e75080d503dc1a537ddbc00d0f207f
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>