In the current Android FFmpeg provisioning, we rely on the tool
'readelf' to be installed on the host. On macOS we currently pull this
tool through the Homebrew 'binutils' package. This has proven
unreliable on older macOS hosts.
The Android NDK provides the same tool under the name 'llvm-readelf'.
This patch makes us rely on this tool during provisioning, which is
guaranteed to be provided.
Change-Id: I47a186d2dd4b442929b82f35b4d257d011cb9d10
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
Reviewed-by: Dimitrios Apostolou <jimis@qt.io>
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
(cherry picked from commit 07ec75fa35)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Currently this script is stored under unix, but it's only ever going to
be used on macos. This patch moves the script.
No functional changes.
There was a minor conflict resolution in this patch due to macOS 26 not
being present in this branch.
Pick-to: 6.10 6.8
Change-Id: Iba3d101d360e90ffaa3478689bb002b4e5f65bc1
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
(cherry picked from commit ebe3124831)
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
RTA is using different means to install Squish for RTA tests, no need
to do it in general provisioning.
Change-Id: I4858a282ad7a0b1412f6dd0f4876109fe54a4c88
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
(cherry picked from commit 4bff151490)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Reviewed-by: Aku Pietikäinen <aku.pietikainen@qt.io>
- replace the linux/install-golang.sh to the unix/install-golang.sh
for macos and linux provisioning configurations.
NOTE:
The Golang version is updated from 1.22.4 to 1.25.2.
Task-number: QTBUG-140130
Change-Id: Ic5e7a93bcad4d82210bcd5c7f4144153c938a603
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
This patch adds needed linker flags for FFmpeg Android
compilation to get FFmpeg binary to be compliant for
16KB page size. 16KB page size is compliant with 4KB
page size.
This patch updates Android OpenSSL to be version 3.0.7,
which is build with two NDK's: NDK27c and NDK29-beta2.
Both with 16KB page size support. They are build with https://github.com/KDAB/android_openssl/pull/69
just changing OpenSSL version from 3.1.1 to 3.0.7 and
NDK version from 25.2.9519653 to 27.2.12479018 (27c) and
another build with 29.0.13599879 (beta2). The both build
artefacts are added to CI-files to be usable.
As the 16KB page size is applicable only to 64-bit ABI's
this patch adds the variable to 90-install-ffmpeg.sh files
for android-x86_64 and android-arm64.
Change is picked to all branches using Android 15 or newer
as Android 15 introduced the 16KB page size support.
Fixes: QTBUG-139762
Pick-to: 6.10 6.9 6.8 6.5
Change-Id: I50bab81b97dad3e9d8c1e834c1928949d1e19687
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
Related to 33dd0de8fb51bb83230b8c2524d5aae28ffc799b
Task-number: QTBUG-138144
Change-Id: I2aa4a67f8c14de6645f5e821d269474646e616f3
Reviewed-by: Toni Saario <toni.saario@qt.io>
This ensures that link-local IPv6 address is unique per
each VM.
Task-number: QTQAINFRA-7383
Pick-to: 6.10 6.9 6.8 6.5
Change-Id: I53434ec3a158cec09f03c96087a401ef05f47b86
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
coin/provisioning/common/unix/libclang-v100-dyn.sh had the libclang
version 10.0 hard coded in the filename.
All local provisioning scripts calling the latter also had the same
version hard coded in their respective filenames.
At the same time coin/provisioning/common/unix/libclang-v100-dyn.sh
sets the version to be downloaded in a local variable.
When the download version is bumped, there is a mismatch between file
names and actually installed version.
Remove version from common installer and related local scripts.
Task-number: QTQAINFRA-7353
Change-Id: I7489489056e611d6ab84862dafbe48e4e2532780
Reviewed-by: Dimitrios Apostolou <jimis@qt.io>
Reviewed-by: Simo Fält <simo.falt@qt.io>
Qt Multimedia needs correct permissions set in order to run automated
tests. This is currently being done on our macOS ARM targets, but not
x86 targets.
This patch runs the scripts on relevant x86 targets.
Pick-to: 6.10 6.9 6.8
Task-number: QTBUG-137582
Change-Id: Ia13b8f190938b44b8a14fc8c796912910a8d6d88
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
This script has previously failed under some configurations, while
also failing to stop provisioning.
This patch enables fast-fail behavior, catches potential issues with
missing executables early with a descriptive error message. This
should allow us to detect if the required packages are missing
in the future, and stop provisioning accordingly.
This patch also installs the necessary packages on the relevant
CI build targets.
Task-number: QTBUG-136930
Pick-to: 6.10 6.9 6.8
Change-Id: I7c781264ad67508d19fd44556a9caf0f201638d4
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
We may read the installed package information from the 'vcpkg list'
command instead of parsing the vcpkg.json. Also instead of using
the jq as a parser, use the cmake script. This allows skipping the
jq installation.
Change-Id: Id3ace62f8f40ff1bd059878da3fd13e466861830
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Use prebuilt package stored in intranet when possible and use
intranet mirror when git is required.
Task-number: QTQAINFRA-6903
Pick-to: 6.9 6.8 6.5 5.15
Change-Id: I1630098756c2e9b4f551686679e98a40af5eef2d
Reviewed-by: Simo Fält <simo.falt@qt.io>
The FFmpeg building flow has become too different on linux and macos.
Decoupling the logic makes it more simple to follow.
The CR also fixes nits and shellcheck warnings in install-ffmpeg.
Pick-to: 6.8 6.9
Change-Id: I28639d28c7210809e52ff18ce612da52f8754285
Reviewed-by: Jøger Hansegård <joger.hansegard@qt.io>
Swift 5.9 includes built in crash reporting, printing stack traces,
libraries, and registers to stdout/err.
https://www.swift.org/blog/swift-5.9-backtraces/
As (Core)Foundation is written in Swift nowadays, we get this feature
for free even in our "C++" apps, as we always link to CoreFoundation.
Our test binaries have been taught how to hook into this, so the
remaining step is to enable it via the SWIFT_BACKTRACE env var.
Pick-to: 6.9
Change-Id: I72dbd9ea934ecc3091766456509f4bd42b2bdab8
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
This patch adds FFmpeg provisioning for Android and iOS for
qtci-macos-12..15-arm..x86-64 by syncing with qtci-macos-13-x86_64
where this was already done.
Pick-to: 6.8
Change-Id: I070514cbff12504db7c6fa77111e12d7e500ce30
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>