The old version doesn't support MSVC 17.10 toolchain, so we cannot
build for arm64.
Change-Id: I63df5b61d6d7e06ee49f46f77528021f3ce5be47
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
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
Pick-to: 6.8
Change-Id: I3fb56cdbe4cbda8f779852b0a16121916aa5a1d4
Reviewed-by: Jøger Hansegård <joger.hansegard@qt.io>
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
Avahi-daemon often hogs 100% of CPU on the VMs. This particularly
causes issue on 2 core(thread) VMs where tests compete for CPU
with avahi.
Limiting avahi to test service related interfaces eliminates the
abnormal CPU usage.
Avahi should be only needed for tests to see the docker test services.
Pick-to: 6.8 6.5 5.15
Task-number: QTQAINFRA-6697
Change-Id: I30d75f2118501cd69d98aeea8c62722a0fb238c5
Reviewed-by: Dimitrios Apostolou <jimis@qt.io>
When running Axivion analysis on virtual machine, analysis will
update sourceserver_gitdir and source_server_remote_url into
result database. If these are missing from configuration,
analysis will use work area values for these and those does
not work on dashboard.
Task-number: QTQAINFRA-6262
Change-Id: I00df7eade6de1a12a6bb59cbd24374dd0cedd715
Reviewed-by: Toni Saario <toni.saario@qt.io>
The triplet it not used on every x86_64 windows VM. Build it only
on windows 11_23_H2-x86_64 where we crosscompile Qt.
Change-Id: I5bfd852ac0cdde8d8f1f7b4b46d208f6dc221162
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Make the Windows vcpkg provisioning script configurable, so scripts
that use it may select the architecture using the 'arch' argument.
Change-Id: Id6180866ed03a9a15ec9b907c9be5545a04ea879
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
The download helper for .ps1 scripts takes in parameters in order:
1. The external URL (this is 2nd priority DL source)
2. The internal / cache URL (this is 1st priority source)
3. Download location
The URL variables were inputted to the function in wrong order. And URL
variables for x64 were named incorrectly. This change fixes that.
Pick-to: 6.8
Task-number: QTQAINFRA-6296
Change-Id: Ic4f939448a4ac39e4fd7d52e5b80132b02c38dc2
Reviewed-by: Elias Toivola <elias.toivola@qt.io>
Reviewed-by: Matti Paaso <matti.paaso@qt.io>
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.8 6.5
Change-Id: I7ec1d4173e35fe91bc988492e56dd9a5fcbad072
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
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
Pick-to: 6.8
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>
popd was placed incorrectly and caused the script to be unable to find
the fix_ffmpeg_dependencies.sh file.
Pick-to: 6.8
Change-Id: I7922a698e90d1b3899ecc7b2240a260ea706707f
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Script would previously unconditionally run ln even if target file
sometimes exists in precompiled OpenSSL library.
Pick-to: 6.8
Change-Id: I90c4ad7c6cbf9207c2c82114936b478a9ba4ae54
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
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
Pick-to: 6.8
Task-number: QTBUG-122899
Task-number: QTBUG-124453
Task-number: QTBUG-125211
Change-Id: I097fd1c4119a203d82f88c477dbf0fc0f67f19f2
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
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
Pick-to: 6.8
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>
It is needed to successfully build Qt with CMake 3.30.
Pick-to: 6.8
Fixes: QTQAINFRA-6484
Change-Id: I70b7d91571f5b20a008947eb0837dd8351965665
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
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.5 6.7 6.8
Change-Id: I1b87954e3c8af797f5b09dabf2d4939d8320db06
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
Reviewed-by: Jøger Hansegård <joger.hansegard@qt.io>
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
Pick-to: 6.8
Change-Id: I13f15925a7639c6f926c564146fbbc88f73fff8f
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
Adjust the local repo paths for firebird libraries.
Change-Id: Ifb10ab8f4606eefd53f4cd63cf08264d82922cba
Reviewed-by: Dimitrios Apostolou <jimis@qt.io>
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.
Pick-to: 6.8
Task-number: QTBUG-97650
Change-Id: I6f4827f170ea11b8aae9cc774c075fa043e4df5a
Reviewed-by: Simo Fält <simo.falt@qt.io>
Use the sha from last update of Gradle and update AGP version
to match qtbase.
Pick-to: 6.8
Change-Id: Ia235dacfc3206246c4c4330fb185ce1319d45909
Reviewed-by: Simo Fält <simo.falt@qt.io>
It has to escaped so the PATH is not expanded when appending
to .bashrc. This causes issues in sourcing some 3rd party envs
where PATH is overwritten by bashrc as last and the tools are missing.
Pick-to: 6.8 6.5 6.2 5.15
Change-Id: Idc540d608201a8f8e4c231a7e82b1b2bc42fe70f
Reviewed-by: Simo Fält <simo.falt@qt.io>
To review and comment on the rules.
Task-number: QTQAINFRA-6577
Change-Id: I3c4f85e307533346d393ed32adccb75c106d882e
Reviewed-by: Simo Fält <simo.falt@qt.io>
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
Change-Id: I58066ad8f440b2fdee3c5b64d094b2713007bf19
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@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.8 6.7
Change-Id: If6cfa38304bfec207500fcd7a67e3acba994eb9f
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
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>