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 6.8
Change-Id: I4fdc67e469153e8a0530efd58ff251629dcabdfa
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Recent versions of Xcode (15.3 at least) no longer have this issue.
Change-Id: Iafba08094c3a52c9fd005f0d236fcb945ac43ed4
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
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
Pick-to: 6.8
Change-Id: I7e202ffc945167db79430846571cd7e1bb5158f6
Reviewed-by: Elias Toivola <elias.toivola@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
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.
Pick-to: 6.8
Change-Id: I0398488c78b19a85ba527b780b264e0b915b6024
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
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.
Pick-to: 6.8
Change-Id: I576349e93ca19d98384490c99102966e8ffe2833
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
Add Squish provisioning to linux on arm and windows on arm machines
also.
Pick-to: 6.8 6.7
Change-Id: I52f0e8fc4931efd7c7fcf36c555cbae76e2f347b
Reviewed-by: Simo Fält <simo.falt@qt.io>
Set test running to happen on non-developer static target
for modules upstream of QtDeclarative. Qtdeclarative tests
do not build with static flag, due to this only up to this.
Update VSB and VIP.
Change-Id: If7e016f11b5d3908dff584fc05bcc8985d471a94
Reviewed-by: Simo Fält <simo.falt@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
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.8 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>
* 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
Pick-to: 6.8
Change-Id: Id30841efb29d78c9d2d54ffa6af9993b12734c0b
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
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
Pick-to: 6.8
Change-Id: I5a95daae0a78aadede009535b2813483afcbc99d
Reviewed-by: Jøger Hansegård <joger.hansegard@qt.io>
This patch prepare install-patchelf.sh script for use on MacOs
Pick-to: 6.8
Task-number: QTBUG-126861
Change-Id: Id16462a2819da748ecd0b04f1df57968e9d90c37
Reviewed-by: Jøger Hansegård <joger.hansegard@qt.io>
Fixes CVE-2023-34095. Also includes minor API changes, and few feature
updates.
Change-Id: I700ba8c60929f5ad797fc7f031b74ca1fd33efea
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
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
Pick-to: 6.8
Change-Id: I672ef4ac7cbca3d62ecd6a646fd769aff1cad4c5
Reviewed-by: Simo Fält <simo.falt@qt.io>
New tool version corrects crashes in Analysis. New configuration
fixes git config in Axivion dashboard server.
Task-number: QTQAINFRA-5965
Task-number: QTQAINFRA-6348
Task-number: QTQAINFRA-6260
Change-Id: Ice7c9efd398236e1f5186f756f23c321aba0cf79
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
Updates VSB and VIP. Adds newer updated QEMU for VxWorks.
Set to build and run tests on qtbase.
Change-Id: I1dc97a48ff67dedd79de3659d2af2768616c61ca
Reviewed-by: Matti Paaso <matti.paaso@qt.io>
Add provisioning scripts for Firebird 5.0.0 to be able to compile the
QSql within the CI.
Fixes: QTQAINFRA-6303
Change-Id: I58bf45b0e291700eb1d58158b8cfd37e335d2195
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
build on wayland and test offscreen and wayland
Task-number: QTQAINFRA-6112
Task-number: QTQAINFRA-6308
Change-Id: I31a57794d455316fc98f1d84d3d275fa6e934b8e
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
The signtool is dependent on dotnet version. This must be updated
after the dotnet has been updated.
Change-Id: I346acf6dfefc8e70e61ea05a569ebb5cfcf04c85
Reviewed-by: Simo Fält <simo.falt@qt.io>
Required on arm for installing azuresigntool.
Change-Id: Ia0b2a4476338d090bc79d6a6bae46d1f09dc8600
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
Reviewed-by: Simo Fält <simo.falt@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.
Pick-to: 6.8 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>
Install the ARM sccache binary to fix
/usr/local/sccache/sccache: Bad CPU type in executable
Pick-to: 6.8 6.7
Change-Id: I033a7c8cf88d0d1ad35a4406a5d2a878da8d17a7
Reviewed-by: Toni Saario <toni.saario@qt.io>
Previously, iOS (where we mostly using static linking) was also using
FFmpeg built as static libs, now switch to dynamic libraries, as
it was already done for macOS. Requires changes in cmake file in
qtmultimedia in order to configure with -DQT_DEPLOY_FFMPEG=TRUE.
Pick-to: 6.8
Fixes: QTBUG-120991
Change-Id: I0b014f24db3127697b76c6d1774437faae64a7c8
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
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.8 6.7 6.5
Change-Id: I19df2ef9d4cc988f5acf4f09fa46b7014fac80d2
Reviewed-by: Toni Saario <toni.saario@qt.io>
There's a certificate issue in Paho MQTT which should be fixed in
the latest paho.mqtt.testing branch.
Task-number: QTBUG-126364
Change-Id: I1550122939ea8e6172dba005752978fcf3232fcb
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
Also make sure apparmor parses the new rule after installing it.
Pick-to: 6.8
Change-Id: I25d2e753594fa86be2151e8a8da73b15b31b1584
Reviewed-by: Robert Griebl <robert.griebl@qt.io>
Add a sbom_requirements.txt file and install it using the
various platform specific pip installations.
Partially restores b87b44168c but
without the wheel cache.
Pick-to: 6.8
Task-number: QTBUG-122899
Change-Id: I8002898866acbc226ffebb59dcf5b3a58237ea34
Reviewed-by: Toni Saario <toni.saario@qt.io>
Like regular Android we test QtAA in CI with the maximum and minimum
supported SDK levels - currently 10 and 13. This commit bumps the
maximum level to 14 starting from QtAA 6.8.
Pick-to: 6.8
Task-number: QAA-2410
Change-Id: I8ef645b2c7bb1ee2b1fd20980bad0f593d308df8
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
Turn on dynamically linked ffmpeg on Android on all hosts (Linux,
Windows and macOS).
Pick-to: 6.8
Task-number: QTBUG-122010
Change-Id: Ib3739173bee209ce73e77b75d7b345208da002e4
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
Prepare for turning on dynamically linked FFmpeg on macOS:
- install binutils (for readelf) on macOS;
- readelf need to be used with absolute path on macOS. Prepare
workaround solution for this system in
fix_ffmpeg_dependencies.sh script;
- install patchelf on macOS;
- ensuring compatibility of sed call on Linux and macOS;
Pick-to: 6.8
Task-number: QTBUG-122010
Change-Id: I810566786de4363b4383f29467c6ca4395f9f668
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
Prepare install-ffmpeg.ps1 script for turning on dynamically
linked FFmpeg on Windows.
Script on Windows will use MSYS2 and run same bash script as Linux host.
To make it possible first need to install binutils (for readelf) and
patchelf. As patchelf is not available by pacman, it is compiled and
installed from sources.
Pick-to: 6.8
Task-number: QTBUG-122010
Change-Id: Ide1e7da82f73b1663a3c5d7657c53057281ebe94
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
Move fix_ffmpeg_dependencies.sh script from "linux" to "shared"
directory.
The script will be used on macOS but also on Windows (using MSYS2)
Pick-to: 6.8
Task-number: QTBUG-122010
Change-Id: If63d5e3ba7562b230cce26c7bfba728a2ae0a382
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
The fix_ffmpeg_dependency.sh script should also take into account
libraries with a _3 suffix in their names. This suffix will not be
used in the stub name.
Additionally, Android libraries have a suffix specifying the
architecture (e.g. _x86_64 or _arm64-v8a). Add an additional parameter
to the script with stub_sufix.
Pick-to: 6.8
Task-number: QTBUG-122010
Change-Id: Ia844b7b1f73c2d5264384ef26b41a292ea70d749
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
Patchelf is needed for fixing FFmpeg dependencies,
the previous CR reveals details.
Patchelf is not available in the standard package manager on RHEL,
let's install it from sources.
Pick-to: 6.8
Change-Id: I724ffed9c48b9811e10de89519d8271e2f82260d
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>