Add scripts to download and cache Gradle distribution
and its dependencies during provisioning for all hosts
so that Qt builds don't have to fetch them on every Qt
module and test build.
Add those scripts to various RHEL, Ubuntu, macos and
windows configurations after Android has been run
since the Gradle build for Android requires Android
SDK.
Prior to this, to avoid having a full Gradle project added
to the coin tree, some Gradle files were being fetched from
qtbase using a commit sha, that was aiming to reduce the
amount of changes each time, but that's a bit awkward since
the files here and this commit sha needs to be updated
anyways. So just have a full Gradle project here and update
its values whenever we bump Gradle or Android supported
versions.
Task-number: QTBUG-132915
Change-Id: Id4876ad90a09cdaada5b96c457820c691e2be426
Reviewed-by: Simo Fält <simo.falt@qt.io>
Reviewed-by: Dimitrios Apostolou <jimis@qt.io>
An auto-hidden dock can cause test flakiness by window resizes and
mouse cursor / focus issues when the autohide is toggled.
Disable it on macOS platforms >= 14.
Task-number: QTQAINFRA-7765
Change-Id: Ie488bccd43c203e5bb9a96e731874bab12c2012c
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
Reviewed-by: Aku Pietikäinen <aku.pietikainen@qt.io>
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.
Pick-to: 6.11 6.10 6.8
Change-Id: Iba3d101d360e90ffaa3478689bb002b4e5f65bc1
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
This is required by vcpkg.
The x86_64 macOS and macOS 14 platforms already have patchelf installed.
Change-Id: I722abf2792dcfe954248196ab9bc0ca39d01570a
Reviewed-by: Nils Petter Skålerud <nils.petter.skalerud@qt.io>
Reviewed-by: Simo Fält <simo.falt@qt.io>
Reviewed-by: Aku Pietikäinen <aku.pietikainen@qt.io>
The Python provisioning on macOS ARM hosts is done multiple times
across separate targets.
This patch moves the code into a common script 'macos/python-arm.sh'.
As a drive-by, we bump the version of all targets to 3.12.11, whch is
the same as the one used in the macOS 15 ARM host.
Pick-to: 6.11 6.10 6.8
Change-Id: I8c1f6f7d635fe47b9faa34dbe6988e89252dc2c9
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
On macOS hosts we are using external mirrors for installing with pyenv.
We should instead pull the necessary files from our local mirror.
Pick-to: 6.11 6.10 6.8
Change-Id: I6ba67dfd7cd37809164c7e2c4bcf89d07d45b1b2
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
To all linux, macOS and Windows platforms.
Task-number: QTQAINFRA-7554
Change-Id: I677440fb9faf3f3d36744b59f91f0036449b639b
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
The toolchain is x86_64 only, which trips up xcodebuild if Rosetta2
is not installed: https://github.com/swiftlang/swift-build/issues/836
We don't have any CI configurations that build QNX on macOS, so we
don't need to install it.
Pick-to: 6.10 6.8 6.5
Change-Id: I8714438c6373e613f28f67b48d2f4f78a723bc9d
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
Reviewed-by: Marianne Yrjänä <marianne.yrjana@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>
Update also Xcode to 26 official release
Task-number: QTQAINFRA-7196
Change-Id: I3549f0b5e7a153cb2728a66a7d69ab4378e0acb6
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Reviewed-by: Aku Pietikäinen <aku.pietikainen@qt.io>
Brew install started to fail on older macos arm versions. Getting
rid of all brew install to avoid future problems with it.
Task-number: QTAINFRA-7408
Pick-to: 6.10 6.9 6.8 6.5
Change-Id: I22eddfad1f49b0814841a5d554100fdffd329593
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
This patch introduces preview NDK. Environment variables related to
preview NDK's are marked with _PREVIEW. The patch introduces NDK
29.0.13599879-beta2 as first _PREVIEW NDK. This preview NDK will be
first used in insignificant platforms Android 16.
Task-number: QTQAINFRA-7290
Fixes: QTQAINFRA-7291
Change-Id: Id093b8f71970f77409bd805d6d1d153f47ade762
Reviewed-by: Rami Potinkara <rami.potinkara@qt.io>
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
Reviewed-by: Elias Toivola <elias.toivola@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>
Many of the system tools seems to be written in Swift now, which results
in a warning when running them:
swift runtime: backtrace-on-crash is not supported for privileged
executables
Luckily we can silence this warning via 'warnings=suppressed'.
See https://forums.swift.org/t/suppressing-backtrace-warnings/79235
Change-Id: I09b97553d996269fd4c9d23bf52a319bf964c833
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>