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-7399
Task-number: QTQAINFRA-7298
Pick-to: 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>
(cherry picked from commit 9f42f33194)
This makes the qemu virtualize the target rather than emulating
it. Virtualization allows few times better performance in tests.
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>
(cherry picked from commit 8fb747f92e)
This fixes "does not exist" errors when trying to build multiple NDKs.
This amends 303b4c13dc
Task-number: QTQAINFRA-7069
Change-Id: I29f5cd85ffb3cf12a81b5816a5601ea37446042d
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
(cherry picked from commit ffc15eb35f)
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>
(cherry picked from commit 62fed89867)
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
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)
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
(cherry picked from commit 980cd3659a)
Reviewed-by: Rami Potinkara <rami.potinkara@qt.io>
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.
Task-number: QTQAINFRA-7069
Change-Id: Ie176c5ea69a1398afa69691ad6f37b7af2f66dfc
(cherry picked from commit 03f8208be9)
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
Reviewed-by: Rami Potinkara <rami.potinkara@qt.io>
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.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>
(cherry picked from commit 7eb22d00df)
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
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.8 6.5
Task-number: QTQAINFRA-7363
Change-Id: Ia80216677eba6fd8f8364741b6999e6155d678ab
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
(cherry picked from commit 0f3d085101)
This change makes provisioning also install older NDKs for Android,
which will be used in nightly targets.
Task-number: QTQAINFRA-7069
Change-Id: Ia8695383e94df282822da9019c33f1004a879bf6
(cherry picked from commit ac22ffaf57)
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
Reviewed-by: Rami Potinkara <rami.potinkara@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.
Change-Id: I804fa8f8dfce742a84e8b4bc077f466820589f7e
(cherry picked from commit 30a92ce1f2)
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
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.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>
(cherry picked from commit 3d536d157d)
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.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>
(cherry picked from commit 14dcdd32d7)
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: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
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.8 6.5
Change-Id: I01663e60baa44ab828d8880ab8b346034a50b60e
Reviewed-by: Simo Fält <simo.falt@qt.io>
(cherry picked from commit a64f150422)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
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.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>
(cherry picked from commit 582a05fab0)
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: Alexandru Croitor <alexandru.croitor@qt.io>
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.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>
(cherry picked from commit feabc0fdcf)
Targets
- windows-11_23h2-arm64-msvc2022-minimal-static-test
This doesn't have previous version so it's left out in 6.9
- Windows-MSVC2022-arm64_Static-23H2
Task-number: QTQAINFRA-7273
Task-number: QTQAINFRA-6973
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>
(cherry picked from commit 91627c3294)
Will also make glibc versions visible in Tools and Versions pages.
Task-number: QTQAINFRA-7333
Pick-to: 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>
(cherry picked from commit 763fb46b70)
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.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>
(cherry picked from commit cbc5c3405b)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
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_23H2-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 (new in 6.9)
- 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.
Note:
- In 6.9 there is no Win 11 24h2 x64 like in dev and 6.10
- Therefore 6.9 uses Win 11 23h2 x64 for cross-compile target
Task-number: QTQAINFRA-6973
Task-number: QTQAINFRA-6109
Task-number: QTBUG-126030
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>
(cherry picked from commit db339574e2)
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.
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>
(cherry picked from commit 2b1b4fdb37)
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.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>
(cherry picked from commit e871bdae27)
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.
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>
(cherry picked from commit b04f1bb9fa)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
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".
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>
(cherry picked from commit 804108b9e3)
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
This makes configuring nightlies more simple and its results more
readable.
Pick-to: 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)
(cherry picked from commit 8a76f815cc)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Bullseye-backports has reached end-of-life and is no longer
supported or updated.
Pick-to: 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>
(cherry picked from commit ab6e833690)
New target:
- windows-11_23h2-arm64-msvc2022
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
This target has no match in 6.9 (skipped):
- windows-11-x86_64-arm64-tests-23H2 (cross-compiled)
Task-number: QTQAINFRA-6973
Change-Id: I049f84ad7df91cd62e7f40044d8ef40705ac34e1
Reviewed-by: Simo Fält <simo.falt@qt.io>
(cherry picked from commit 657ac0bcbb)
(cherry picked from commit ad7ab32f44)