There's possibility that some installations might add more into
Path that doesn't get visible during the installation process.
Change makes it easier to detect if there's i.e. JRE installed during
Mimer, which caused Java SE update to 17 fail in qtbase build for
Android, because JRE was the first Java found from Path and it
wasn't the required new JDK 17 version.
This can lead even to test with incorrect version of Java, which can
happen with any other different version installations as well.
Task-number: QTQAINFRA-6392
Task-number: QTQAINFRA-6385
Change-Id: Idce79eb06d73894ae648e0be53ff1f07bb21392d
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
(cherry picked from commit 444167f5fb)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 5ae41db586)
Add -j4 to limit how many cores is used to build ffmpeg-ios binaries.
Error in logs: "posix_spawn failed: Resource temporarily unavailable"
Task-number: QTQAINFRA-6803
Change-Id: I3fb56cdbe4cbda8f779852b0a16121916aa5a1d4
Reviewed-by: Jøger Hansegård <joger.hansegard@qt.io>
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
(cherry picked from commit 6569f201c1)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit b7abace894)
On RHEL8, openssl1.x.x is default, and openssl3 pc files
are with the suffix "3", so FFmpeg cannot find them.
The patch fixes pc files so that ffmpeg can find them.
Task-number: QTBUG-130257
Change-Id: I5a95daae0a78aadede109535b2823483bfcbc09d
Reviewed-by: Tim Blechmann <tim.blechmann@qt.io>
Reviewed-by: Pavel Dubsky <pavel.dubsky@qt.io>
Reviewed-by: Jøger Hansegård <joger.hansegard@qt.io>
(cherry picked from commit 6cd74e132a)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
This file is used by the script common/unix/install-ffmpeg-android.sh.
This script is useful for compiling FFmpeg for Android locally
on macOS. Currently the script assumes the Homebrew installation
of readelf is that of x86. The Homebrews path for readelf is different
under arm64 and this change accounts for this.
Pick-to: 6.5
Change-Id: I7ec1d4173e35fe91bc988492e56dd9a5fcbad072
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
(cherry picked from commit 03ffb92263)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Instead of relying on the qtbase coin instructions to compute the
SBOM_PYTHON_APPS_PATH path based on the platform, which does not work
reliably, especially when multiple python installations are present,
explicitly specify the path in the provisioning scripts.
Amends 1f2fb6312c
Task-number: QTBUG-122899
Task-number: QTBUG-124453
Task-number: QTBUG-125211
Change-Id: I097fd1c4119a203d82f88c477dbf0fc0f67f19f2
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
(cherry picked from commit 6f991b55a3)
The 'reuse' tool installed into the Python 3.8 environment on Windows
has a broken 'jinja2' package, due to conan being installed
after the sbom tool, which replaces the jinja package. pip reports the
issue but does not actually exit with a non-zero status for some
reason, thus not blocking the initial provisioning.
The jinja2 version installed in the Python 3.10 environment on Windows
is compatible with both conan and reuse.
To work around the issue, explicitly install the sbom tools only for
Python 3.10 on Windows platforms, and specify the path to the Python
interpreter in an environment variable for the build system to use.
Amends 1f2fb6312c
Task-number: QTBUG-122899
Task-number: QTBUG-124453
Task-number: QTBUG-125211
Change-Id: I386da17a1902dd26af332cef3482dbcb2221a1b3
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Reviewed-by: Simo Fält <simo.falt@qt.io>
(cherry picked from commit e874a76a48)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Script would previously unconditionally run ln even if target file
sometimes exists in precompiled OpenSSL library.
Change-Id: I90c4ad7c6cbf9207c2c82114936b478a9ba4ae54
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
(cherry picked from commit 758ac7896f)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
popd was placed incorrectly and caused the script to be unable to find
the fix_ffmpeg_dependencies.sh file.
Change-Id: I7922a698e90d1b3899ecc7b2240a260ea706707f
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
(cherry picked from commit 8f47837a59)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
The vivid kernel module emulates a v4l2 video devices like webcams. We
instantiate two devices via vivid to allow qt multimedia unit tests
requiring multiple cameras to run correctly.
Pick-to: 6.7 6.5
Change-Id: I1b87954e3c8af797f5b09dabf2d4939d8320db06
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
Reviewed-by: Jøger Hansegård <joger.hansegard@qt.io>
(cherry picked from commit 8ba7d0c382)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Libclang is needed for QDoc.
Adding support for WoA (arch=arm64) also introduced a need
to change archVer parameter from Integer to a string.
Task-number: QTBUG-129256
Change-Id: I13f15925a7639c6f926c564146fbbc88f73fff8f
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
(cherry picked from commit 1fe16f55f0)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
The current revision 9 seems to have issues that are not reproducible
on other environments and even not with other ABIs like x64 or arm64.
Task-number: QTBUG-97650
Change-Id: I6f4827f170ea11b8aae9cc774c075fa043e4df5a
Reviewed-by: Simo Fält <simo.falt@qt.io>
(cherry picked from commit e1015f2718)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Use the sha from last update of Gradle and update AGP version
to match qtbase.
Change-Id: Ia235dacfc3206246c4c4330fb185ce1319d45909
Reviewed-by: Simo Fält <simo.falt@qt.io>
(cherry picked from commit 536555cde6)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Changed device's start timeout to 3 minutes,
and restarting retries to 3.
Changed emulator boot check loop to check against
real time value instead int value.
Some of the tests caused previous
for-loop to take more than 1 second.
Task-number: COIN-1154
Pick-to: 6.5 5.15
Change-Id: I58066ad8f440b2fdee3c5b64d094b2713007bf19
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
(cherry picked from commit 14c7c3061b)
Reviewed-by: Jani Korteniemi <jani.korteniemi@qt.io>
Windows script to install golang tries to download a .exe file from
cache while the install file is really a .msi file.
Golang and upx are new packages to ci-files so let's define their
directory paths as neatly as possible to prevent more clutter to
ci-files.
This amends: 337206334e
Pick-to: 6.7
Change-Id: If6cfa38304bfec207500fcd7a67e3acba994eb9f
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
(cherry picked from commit f6313247cc)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
The signtool is dependent on dotnet version. This must be updated
after the dotnet has been updated.
Task-number: QTQAINFRA-6396
Task-number: QTQAINFRA-6109
Change-Id: I346acf6dfefc8e70e61ea05a569ebb5cfcf04c85
Reviewed-by: Simo Fält <simo.falt@qt.io>
(cherry picked from commit e752c81add)
Required on arm for installing azuresigntool.
Task-number: QTQAINFRA-6396
Task-number: QTQAINFRA-6109
Change-Id: Ia0b2a4476338d090bc79d6a6bae46d1f09dc8600
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
Reviewed-by: Simo Fält <simo.falt@qt.io>
(cherry picked from commit 437e25844a)
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
Change-Id: I4fdc67e469153e8a0530efd58ff251629dcabdfa
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
(cherry picked from commit 337206334e)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
The Mimer SQL macOS binaries had a problem fixed in version
11.0.8E. Update provisioning script with new version. Since Mimer SQL
on macOS is now universal binary only, remove the arm64 and x86_64
versions.
Fixes: QTQAINFRA-6559
Change-Id: I7e202ffc945167db79430846571cd7e1bb5158f6
Reviewed-by: Elias Toivola <elias.toivola@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
(cherry picked from commit 90308d841e)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
The screen capture permission might be useful for Qt Multimedia, and
also allows us to do screen capturing of the state of the VM in case
of test failures.
For macOS 15 we need to work around the monthly nagging that an
app has permission to capture the screen, otherwise this popup
may interfere with test runs.
Change-Id: I0398488c78b19a85ba527b780b264e0b915b6024
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
(cherry picked from commit 3a5f7bb8d8)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
We are experimenting with various ways of running and packaging the
bootstrap agent. To support this, let's add the required permissions
to both a standalone bootstrap-agent executable, as well as an app
bundled version of it, if found.
In addition, add the permissions to sshd-keygen-wrapper, which is
the responsible process for the SSH server, and any ssh login
sessions spawned by that. This serves two purposes. Firstly, this
matches the permissions between a coin run (by the bootstrap agent)
and what a developer will see when SSH'ing into the CI machine to
debug an issue. Secondly, we might use ssh as an entrypoint to
run the bootstrap-agent, in which case we need the permissions
on sshd-keygen-wrapper anyways, so that they are inherited by
the bootstrap-agent.
Change-Id: I576349e93ca19d98384490c99102966e8ffe2833
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
(cherry picked from commit 5368f47fe0)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Add Squish provisioning to linux on arm and windows on arm machines
also.
Pick-to: 6.7
Change-Id: I52f0e8fc4931efd7c7fcf36c555cbae76e2f347b
Reviewed-by: Simo Fält <simo.falt@qt.io>
(cherry picked from commit 29194b8803)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Adding all builds Wayland which is the default display
server for Ubuntu. Testing each module in X11, and
testing Wayland client plugin for each module in
Qt Wayland integration. [CI Platforms]
TestDocs was removed, see also QTQAINFRA-6068.
Task-number: QTQAINFRA-6322
Task-number: QTQAINFRA-6098
Task-number: QTQAINFRA-6203
Change-Id: I8db0d861940bdd558384f1cc24243c6a84e133e2
Reviewed-by: Liang Qi <liang.qi@qt.io>
(cherry picked from commit 5a79cf9168)
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* Update the version variable used to identify the correct libclang
package for download and cache sites.
* Add provisioning package locations for Ubuntu 24.04 ARM64.
* Update SHA1 for provisioning packages on all platforms.
Fixes: QTBUG-126412
Task-number: QTQAINFRA-6112
Change-Id: Id30841efb29d78c9d2d54ffa6af9993b12734c0b
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
(cherry picked from commit ee8e66fd2a)
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
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.7 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)
Downgrade patchelf version from 0.18.0 to 0.17.2 on MacOs, Linux and
Windows.
It looks like there is a problem with 0.18.0 version, when modyfing the
Android libs. It causes an unresolved dependencies error when loading a
changed library.
Fixes: QTBUG-126861
Change-Id: I5a95daae0a78aadede009535b2813483afcbc99d
Reviewed-by: Jøger Hansegård <joger.hansegard@qt.io>
(cherry picked from commit 64aee78df8)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
This patch prepare install-patchelf.sh script for use on MacOs
Task-number: QTBUG-126861
Change-Id: Id16462a2819da748ecd0b04f1df57968e9d90c37
Reviewed-by: Jøger Hansegård <joger.hansegard@qt.io>
(cherry picked from commit 62b60c4caa)
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
Reviewed-by: Simo Fält <simo.falt@qt.io>
(cherry picked from commit b3f5b4fd64)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
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.
Pick-to: 6.7
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>