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)
Gradle 8 and AGP 8+ require JDK version 17 to work properly, this is
needed for CI test runs of Android.
Task-number: QTBUG-106907
Change-Id: I437ee6752fe12ce4d40fbfe1af2bfff1b4ca243b
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
(cherry picked from commit 31d72b0e2c)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
No need to wrap the sed call in a shell, just invoke sed directly.
And reduce the two separate sed invocations to one with two file arguments.
This change is purely aesthetic, functionality should be identical.
Pick-to: 6.5
Change-Id: If841301077e1c21fe846b28b5f7f6af422d86b93
Reviewed-by: Toni Saario <toni.saario@qt.io>
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
(cherry picked from commit 5f3586f59f)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
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-6244
Change-Id: I15054813896210fadf14da815ad5a7b3e402e800
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
(cherry picked from commit 5157d1ef93)
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
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)
Was previously only added for 8.4 and 9.0
Pick-to: 6.5
Change-Id: Ifa22b6836818ad59b6f3dcfd6b1a6dbc1293782b
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
(cherry picked from commit ee56a3b8ae)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
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>
With new CI policy to always update packages when provisioning changes,
but system & packages are tied to a specific RHEL release i.e. --set=9.2
This could reduce unwanted upgrades and make provisioning more stable.
Task-number: QTQAINFRA-5658
Change-Id: I898a793acf152ebb6e1f31c9b26a98f47145bd5a
(cherry picked from commit e6d06a6f92)
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
Reviewed-by: Tero Heikkinen <tero.heikkinen@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>
Use Ubuntu 22.04 instead of 20.04
Change-Id: If03ba14555fdcd0c98fab3843bdfd5c2ca1eba3f
Reviewed-by: Toni Saario <toni.saario@qt.io>
(cherry picked from commit 54245a4888)
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
If the installed ca-certificates on tier1 is something that doesn't
exist in the repo anymore, re-install will fail. So just try to install
and expect update if a more recent version is available.
Change-Id: Ib6e610f4908fcae6af7e79ecc37ffe600c6ee7af
Reviewed-by: Toni Saario <toni.saario@qt.io>
(cherry picked from commit c6d5521c45)
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>
Update qdoc and qtattributionsscanner to the latest versions from
qttools/dev.
The qdoc binary is now built against libClang v17.0.1. It also supports
the new \compares and \compareswith commands introduced in Qt 6.7.
Task-number: QTBUG-111580
Change-Id: I7d91226a89870968ecf3c9938ffcb451b1ea5c68
Reviewed-by: Luca Di Sera <luca.disera@qt.io>
(cherry picked from commit 0ac7878a57)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
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>
Using the same solution as all the other Windows VMs
Pick-to: 6.5 6.2 5.15
Change-Id: I643f332c99e62ba8037e2db60fa69298a585b306
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
(cherry picked from commit 823f127bed)
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>