This reverts commit 72f11e0952.
Reason for revert: WoA is not going be included in 6.7 and WoA target is blocking dd08ded0fc20f5fce10bf287d4d22ae026226717, -51 template will not work with the proxy enabled and -53 template brings error C2672 with its updated MSVC in 6.7 qtbase.
Task-number: QTQAINFRA-6111
Change-Id: I13fde01aba392b173db178bff6893b71c20ae98a
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
Packaging reported issue that python installation
without proxy didn't work - therefore enabling proxy
back was needed but with a fix to handle Py 3.10+ changes
Py 3.10+ pip 24.2 has moved to use system certifications
by default which caused issue when proxy is used
and if host didn't have one specific certification
GlobalSign Root CA - R3 for pypi.org.
Also noticed that sometimes Windows x64 images seemed to
have this missing certification, but after installing it
to Windows ARM (which was clearly missing it) - logs showed
they didn't have it - and direct check to both Win x64
Tier1 images showed that they didn't have that cert.
Not sure what steps in provisioning or proxy usage could have
affected to that, but missing certification is now added directly
to all of these new three Windows Tier 1 images:
- qtci-windows-10_22H2-x86_64-52 (via QTQAINFRA-6207)
- qtci-windows-11_23H2-x86_64-53
- qtci-windows-11_22H2-aarch64-53 (only to branches 6.8, 6.9)
Therefore --use-deprecated=legacy-certs flag is not needed
when system has correct certification available as Py 3.10+
has moved to use them by default.
Long-term improvements could still be added in future, in two ways:
1) Internal package cache (QTQAINFRA-6485 QTQAINFRA-5531), or
2) To update system certificates with Py 3.10+
But those will need more time to decide and implement.
Therefore this improved quick fix to get proxy back with Py 3.10+
was needed now and it removes previous quick fix to unset proxy.
Task-number: QTQAINFRA-6490
Task-number: QTQAINFRA-6473
Pick-to: 6.5 6.2
Change-Id: I0805a70cf1163012094505162d28640e9ea8e6bb
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
(cherry picked from commit 61c5bb072f)
(cherry picked from commit aa22a35f05)
There are no WoA versions of JDK builds available from Oracle but
Microsoft maintains a WoA compatible OpenJDK build.
This change also removes the registry edit to disable Java
auto-update as the auto-update function in Java no longer exists.
Task-number: QTQAINFRA-6109
Task-number: QTQAINFRA-6385
Change-Id: I672ef4ac7cbca3d62ecd6a646fd769aff1cad4c5
(cherry picked from commit b3f5b4fd64)
Reviewed-by: Matti Paaso <matti.paaso@qt.io>
The version variable that is used to define the packages to download was
updated to reflect the new version.
A new case was added for the new "Debian11" on "arm64" package which was
not a provisioned package on older version but is now provided.
As "Debian11" was not currenly loading "libclang.sh", a new script that
performs this process was added to
"coin/provisioning/qtci-linux-Debian-11.6-aarch64".
The newly sourced "libclang.sh" includes
"coin/provisiong/common/unix/common.sourced.sh", which sets up certain
common variables such as the used architecture and the platform id.
When "common.sourced.sh" sets "PROVISION_ARCH", that contains the
current platform architecture, it fails if the platform architecture is
not supported.
For "Debian11" on "arm64", the architecture, as reported by "uname -m"
is "aarch64", which is equivalent to "arm64".
"aarch64" was not handled by the script, so that a platform with that
architecture would result in a fail when sourcing "common.sourced.sh".
To avoid the failure, the case that sets "PROVISIONING_ARCH" to "arm64"
will not trigger when the reported architecture is "aarch64".
The specialized RedHat case was update to work specifically for version
9, to use the new specifically built package for Rhel9.2.
The default case, previously using an "ubuntu20.04" package, was
modified to use a "Rhel8.8" package.
A package for "Ubuntu20.04" is not currently provided anymore as the
platform was removed from CI and the new "22.04" package is not
compatible with all the platforms that would use it.
In particular, the new packages are built on a too new glibc, which will
then fail to link, due to undefined symbols in the produced Clang
libraries, when used on older-glibc platforms such as "OpenSuse15" and
"Rhel8.8".
The "Rhel8.8" package was specifically used as the platform for the
default package as it ships the older glibc, "2.28", of the supported
platforms, which should ensure that it works on the older-version platforms.
The "sha1" variables for cached downloads was updated to reflect the new
packages.
For provisioning on windows, the version variable and the sha1 variables
were updated to reflect the new version and the new packages, respectively.
Task-number: QTBUG-111580
Task-number: QTBUG-121548
Change-Id: Ie7c1a8d8fe9114912d53a87f70ebfa00341a9d8a
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
(cherry picked from commit 9975595a5e)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 1b97371ea0)
Install the ARM sccache binary to fix
/usr/local/sccache/sccache: Bad CPU type in executable
Change-Id: I033a7c8cf88d0d1ad35a4406a5d2a878da8d17a7
Reviewed-by: Toni Saario <toni.saario@qt.io>
(cherry picked from commit c872c35cc6)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 91c649c20e)
Fix CMAKE_SYSTEM_PROCESSOR definition for armv7le. This is needed when
using Windows host to cross-compile Qt binaries for QNX.
Fixes: QTBUG-125450
Pick-to: 6.5
Change-Id: I19df2ef9d4cc988f5acf4f09fa46b7014fac80d2
Reviewed-by: Toni Saario <toni.saario@qt.io>
(cherry picked from commit 9e560e22a4)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit f042009b4d)
Introduce GetVsProperty helper function that allows to retrieve Visual
Studio installation property by providing required component (optional).
It also offers the ability to choose which version of Visual Studio to
use (the oldest or the newest). Also add GetVsInstallationPath helper
function which is a handy shortcut to retrieve installation path
property.
Pick-to: 6.5
Change-Id: I90afca74db9a6f87b622c7fafec2243e085e89e0
Reviewed-by: Jøger Hansegård <joger.hansegard@qt.io>
(cherry picked from commit 71b10bfe48)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit f956053d4c)
Visual Studio 2022 is the first msvc having natively support for
building and debugging ARM64 apps.
Provisioning needed to take new Get-CpuArchitecture
helpers.ps1 function into use in several installations.
Requirements for other branches
- Get-CpuArchitecture helpers.ps1 function
- Skip qtwebengine with Windows 11 ARM (QTBUG-124632)
List of excluded installations in Windows on ARM:
- Could be added later
- MinGW - QTQAINFRA-6079
- DirectX SDK for RTA
- libclang
- mcuexpresso
- fbx for msvc2022
- Ruby
- For python
- conan
- emsdk
- Not supported yet
- FFmpeg
- Msys2 (for FFmpeg QTBUG-124399)
- MySQL
- PostgreSQL
- Java JDK
- Strawberry Perl
Task-number: QTQAINFRA-6111
Task-number: QTQAINFRA-6109
Task-number: QTQAINFRA-5855
Change-Id: I4130e78add53f8a6e05eb41b7617b3f9ca802178
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
Reviewed-by: Simo Fält <simo.falt@qt.io>
For the addition of ARM64 to our checked packages, this helper function
will come in handy as it is more fine grained than Is64BitHost.
Change-Id: I8956c1ca6e445c0b783a39e4d42069199496f053
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
(cherry picked from commit 8fae627f8b)
Qt 6.7 has the minimum supported Android version as 8, this applies
that to the CI as well.
Task-number: QTBUG-111919
Change-Id: Id4c9eda29f1b61bf739eae3624b07f44a893cfae
Reviewed-by: Rami Potinkara <rami.potinkara@qt.io>
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
(cherry picked from commit 2d7f6760dd)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Android 13 system image was still being downloaded and an emulator
created for it while it's not being used in CI, so it's just adds
unnecessary load to provisioning.
Change-Id: Ie33c82fd578dcfe68a77426c8e5c0cf047938833
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
(cherry picked from commit 3d69ad8d8a)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
If Gradle is not present in the system, it's downloaded from the URL
from the Gradle wrapper. Also, the same for AGP when an Android
project build is done. Currently, that's done on every integration,
and that can be unreliable due to networking flakiness. With this
patch, a Gradle build is done once during provisioning where the
downloads of Gradle and AGP dependencies are downloaded.
Fixes: QTQAINFRA-6166
Fixes: QTQAINFRA-4726
Fixes: QTBUG-117203
Fixes: QTBUG-114699
Change-Id: Ic9fd8aeea3379ca1d45ffeb4523a52e2846fcabb
Reviewed-by: Dimitrios Apostolou <jimis@qt.io>
Reviewed-by: Toni Saario <toni.saario@qt.io>
(cherry picked from commit 39517ef0d0)
Update to latest (as of now) Android emulator version 34.1.19, which
might solve Vulkan crashes on some CI tests.
Pick-to: 6.6 6.5
Task-number: QTQAINFRA-5971
Change-Id: Ic81158f44ac5c922bfdbe6f5c04900234e063615
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
(cherry picked from commit a9f16c0abd)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
The bootstrap-agent is the 'responsible process' in TCC terms when
it comes to whether a test should be allowed to access the microphone.
https://www.qt.io/blog/the-curious-case-of-the-responsible-process
By giving this process the permission explicitly, by modifying the
TCC database, we ensure that all tests run as child processes also
get this permission.
Change-Id: Ia03084ac89f0717ac6457b0035769f4a9863495b
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
(cherry picked from commit b4de4de742)
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
This upgrade is needed because msys2 20220319 fails to install
diffutils. Its url is broken. Diffutils was first added on 6.5
Fixes: QTBUG-122465
Pick-to: 6.6 6.5
Change-Id: If94cafed68f3400557e01365e743155e9b732dac
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
(cherry picked from commit 04910ff946)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
It seems that the existence of .bash_profile on Debian systems prevents
the .profile file from being read on login, which means some additions
to PATH that are essential for e.g. the Web Engine build are not made.
Change-Id: Ib271ef49e573fc0588ffbaa9bebbfda4469b60f9
Reviewed-by: Simo Fält <simo.falt@qt.io>
We have to replace static linkage with dynamic one due to
licensing issues.
The related patch in QtMM
codereview.qt-project.org/c/qt/qtmultimedia/+/523405
introduces cmake var QT_DEPLOY_FFMPEG that enables deployment
of ffmpeg shared libs to the installation lib dir or
the build lib dir (for dev builds).
These are build/tests results for the current CR
together with the patch in QtMM
testresults.qt.io/coin/integration/qt/qtmultimedia/tasks/web_rescheduled_qt_qtmultimedia_1703082976669
The related patch
codereview.qt-project.org/c/qt/qtbase/+/525100
fixes the deployment tool on Windows.
The plan is to have the set of changes for Windows in
6.5.4, 6.6.2, 6.7.0.
It was agreed that we want to backport shared ffmpeg to 6.6 and 6.5.
Pick-to: 6.6 6.5
Change-Id: Ie4d8621a98fb93715c32e49c830bfd715ed0e8a5
Reviewed-by: Jøger Hansegård <joger.hansegard@qt.io>
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
(cherry picked from commit 0fe99775c0)
In n6.1, the target cpu is supposed to be x86-64 instead of x86_64.
Task-number: QTBUG-121343
Pick-to: 6.6 6.5
Change-Id: Id87a6eaaf73f093bbac66f245998cda6a3e992fc
Reviewed-by: Lars Knoll <lars@knoll.priv.no>
(cherry picked from commit 85c2ab668b)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Saving symlinks is important when we build dynamic libs,
it will be needed for building QtMM + dynamic ffmpeg.
Task-number: QTBUG-120989
Pick-to: 6.6 6.5
Change-Id: I58c040a81f1fa6a3b316ace864fda0687415fd0a
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
(cherry picked from commit 231d089553)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
On Linux, this requires that gdb can be found in PATH, and that no
kernel security settings like yama.ptrace_scope prevent it.
Patch contains also a drive-by architecture detection fix for Debian arm64.
Fixes: QTQAINFRA-6029
Fixes: QTQAINFRA-5940
Fixes: QTQAINFRA-6030
Fixes: QTQAINFRA-6046
Fixes: QTQAINFRA-6012
Fixes: QTQAINFRA-5930
Task-number: QTQAINFRA-5933
Change-Id: Ie6debde94c1cc5783161ffa7354b58734c372702
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Reviewed-by: Toni Saario <toni.saario@qt.io>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit c66f8407a8)
Reviewed-by: Dimitrios Apostolou <jimis@qt.io>
FFmpeg version was between n6.0 and n6.1 due to some hot fix
for having it compilable on CI. Since n6.1 has been release,
we should update.
Pick-to: 6.6 6.5
Change-Id: I0d88599be53748eeb038287abe8aad6c0f189933
Reviewed-by: Jøger Hansegård <joger.hansegard@qt.io>
Reviewed-by: Lars Knoll <lars@knoll.priv.no>
(cherry picked from commit 9fa918c129)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
The update will go tohether with dynamic ffmpeg build on Windows.
Pick-to: 6.6 6.5
Change-Id: I7a72d4009c8a8e4030899b526bad9cfedd6f45a7
Reviewed-by: Lars Knoll <lars@knoll.priv.no>
Reviewed-by: Jøger Hansegård <joger.hansegard@qt.io>
(cherry picked from commit 483694d725)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Currently CI doesn't cache specific Android Emulator version,
so after an update was availabe 33.1.23 is broke RHI tests on
Android 13 emulator. The last known emulator version to to work
was 32.1.15, so as a workaround we install this specific version.
Fixes: QTBUG-119884
Change-Id: Iec56207b6142d97a9dfabc0fb07a920c868e58b1
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
(cherry picked from commit 481825822b)
Reviewed-by: Zoltan Gera <zoltan.gera@qt.io>
Reviewed-by: Toni Saario <toni.saario@qt.io>
(cherry picked from commit 710f03ffcc)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
This reverts commit a3c489b272.
Reason for revert: Mistakenly replaced 'set -e' => 'set -x' just hides the problem on macOS 11 and 12. The patch needs to be investigated again
Change-Id: I238395fd2ae1fc362a0c9af02e2d48acce22e0dc
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
(cherry picked from commit f87f27dc62)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
The truemotion1 decoder depends on a truemotion1data.h file which is
part of FFmpeg. This header file has a reference to GPL licensing, and
although the header provides a rationale for why the decoder tables are
not copyrightable, we prefer to not distribute this decoder as part of
the online Qt installer.
Users who need ability to decode truemotion1 format video files can do
so by recompiling the QtMultimedia FFmpeg media plugin against a custom
build of FFmpeg.
Task-number: QTBUG-118204
Pick-to: 6.6 6.5
Change-Id: Ia195ef9ce576d18047e7b38bbc5019648ba42b4c
Reviewed-by: Kai Köhne <kai.koehne@qt.io>
(cherry picked from commit 027acd91fd)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Saving symlinks is important when we build dynamic libs,
it will be needed for building QtMM + dynamic ffmpeg.
Pick-to: 6.6 6.5
Change-Id: Ic356a9c3df727a1afe14e8553728952d3b106ba3
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
(cherry picked from commit a3c489b272)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Making emulator errors and warnings available directly in the ci run
logs makes it easier to debug issues.
Amends 1c27f95d01.
Task-number: QTQAINFRA-5596
Change-Id: I2388dcf9fcdcf18803ff03266493584216f92fdc
Reviewed-by: Dimitrios Apostolou <jimis@qt.io>
(cherry picked from commit 23b09c1d2a)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
The FFmpeg library should use dynamically linked OpenSSL. To make it
possible --enable-openssl flag need to be set. Additionally correct path
for OpenSSL need to be passed to FFmpeg configuration script.
Task-number: QTBUG-110805
Task-number: QTBUG-114954
Task-number: QTBUG-113980
Pick-to: 6.6 6.5
Change-Id: Id887c2c4083663a674123a0f0003b44661149116
Reviewed-by: Samuel Mira <samuel.mira@qt.io>
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
We want access to the debugger, and also to be in sync with the CMake
shipped with the Qt SDK.
Task-number: QTBUG-118138
Change-Id: I4b43b9543e8e6ef23c9608a8e1c623ee16edfbd5
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>