Commit Graph

49 Commits

Author SHA1 Message Date
Tor Arne Vestbø
30a99aabd3 Remove QNX provisioning from macOS Apple Silicon
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.8 6.5
Change-Id: I8714438c6373e613f28f67b48d2f4f78a723bc9d
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
Reviewed-by: Marianne Yrjänä <marianne.yrjana@qt.io>
(cherry picked from commit ed82b7ec6f)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-10-05 16:27:56 +00:00
Matti Paaso
97e9150dbe Provisioning: Fix pyenv installation
Task-number: QTQAINFRA-7439
Pick-to: 6.8 6.5
Change-Id: I02202d1b53ab5442e04b6e5c0d7ff3119686f117
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
(cherry picked from commit 986d4b8760)
2025-10-03 08:02:33 +03:00
Aku Pietikäinen
775fff4d4a Use common p7zip install script and remove unnecessary brew update
Change-Id: Id704953bf2eb9a2cfb11dbdb47451aed7bbc736b
Task-number: QTQAINFRA-7381
Pick-to: 6.9 6.8 6.5
Reviewed-by: Simo Fält <simo.falt@qt.io>
(cherry picked from commit 1126034d5b)
2025-09-26 11:22:29 +03:00
Rami Potinkara
331f753f6f Android: FFmpeg to support 16KB page sizes
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.9 6.8 6.5
Change-Id: I50bab81b97dad3e9d8c1e834c1928949d1e19687
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
(cherry picked from commit 875297edfc)
Reviewed-by: Rami Potinkara <rami.potinkara@qt.io>
2025-09-26 11:22:27 +03:00
Matti Paaso
0fd9e9f0b6 Provisioning: Fix macos nodejs installation
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.9 6.8 6.5
Change-Id: I22eddfad1f49b0814841a5d554100fdffd329593
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
(cherry picked from commit 66fd8fb132)
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
2025-09-20 14:27:53 +03:00
Toni Saario
b8441b17f9 Delete macOS GCA keys and dhcp lease after provisioning
This ensures that link-local IPv6 address is unique per
each VM.

Task-number: QTQAINFRA-7383
Pick-to: 6.9 6.8 6.5
Change-Id: I53434ec3a158cec09f03c96087a401ef05f47b86
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
(cherry picked from commit b8995e0ebc)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-09-16 05:55:48 +00:00
Nils Petter Skålerud
14dcdd32d7 macOS, FFmpeg: Don't use patchelf 0.18 for Android FFmpeg patching
At the time of writing, homebrew ships patchelf version 0.18.0. This
version of patchelf has a bug specific to Androd binaries. The macOS
14 arm64 host currently uses this version of patchelf. This causes an
issue during runtime linking in Qt Multimedia applications on Android.

This patch modifies the macOS 14 arm64 host to use patchelf v0.17.2
that we compile from source. It also adds warnings to the provisioning
log should someone try to use v0.18.0 in the future.

Fixes: QTBUG-136930
Pick-to: 6.9 6.8
Change-Id: Id66b560e6a1d4300a54017e9c3366720dc291944
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
(cherry picked from commit 61046109cf)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-09-05 05:26:36 +00:00
Nils Petter Skålerud
532005d760 Coin, FFmpeg: Fool-proof fix_ffmpeg_dependencies.sh
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.9 6.8
Change-Id: I7c781264ad67508d19fd44556a9caf0f201638d4
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
(cherry picked from commit 0706273c76)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-06-18 20:45:45 +00:00
Alexey Edelev
c259d85b8e Relax jq dependency from provisioning
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>
2025-05-15 06:19:40 +02:00
Cristian Le
5628f067e4 Add an overall requirements.txt file
This allows to more easily expand python packages

Change-Id: I86dd14cb2f38989ee1b4efdac1089f573f1d6307
Reviewed-by: Simo Fält <simo.falt@qt.io>
2025-05-07 17:41:30 +02:00
Simo Fält
4506fdb537 Move Android MacOS build from x86_64 host to arm host
Task-number: QTQAINFRA-6379
Change-Id: I07b21dbc38550f2134b386bff116a741dc5fa770
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
2025-03-27 19:32:04 +02:00
Rami Potinkara
a242bb2e3e Provisioning: Update Android NDK to LTS version r27c
This patch updates Android NDK from LTS r26b to LTS r27c.
The version is 27.2.12479018

Task-number: QTQAINFRA-6479
Task-number: QTQAINFRA-6655
Pick-to: 6.9.0 6.9 6.8.3 6.8 6.5
Change-Id: Ic791cfd5d5dd2a439f96590b6f6f8ca0ac4fb5ae
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
Reviewed-by: Rami Potinkara <rami.potinkara@qt.io>
2025-03-13 10:09:08 +00:00
Aku Pietikäinen
f23cd54e7f Homebrew flakiness improvements
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>
2025-02-25 21:36:41 +02:00
Rami Potinkara
9e5bb886b0 Provisioning: bump Android sdkBuildToolsVersion to 35
This patch bumps the sdkBuildToolsVersion used in Coin to 35.

Task-number: QTBUG-129461
Task-number: QTBUG-130283
Pick-to: 6.9 6.8 6.5
Change-Id: I2e1fbdfd23cb854ec50625ff29331adc61abc32c
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
2025-02-25 21:36:35 +02:00
Konsta Alajärvi
b0d999c087 Provisioning: bump Android sdkApiLevel to 35
This patch bumps the sdkApiLevel used in Coin to 35.

Task-number: QTBUG-129461
Task-number: QTBUG-130283
Pick-to: 6.9 6.8 6.5
Change-Id: Ia26248982a2807b2d3554d1a7a7394efcf13f834
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
2025-02-25 21:36:17 +02:00
Artem Dyomin
39ad0317d1 Decouple install-ffmpeg on linux and macos specific files
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>
2025-01-17 07:15:13 +01:00
Ville-Pekka Karhu
1f6f97a141 Provisioning: Add Simulator Runtime installation to macOS
Task-number: QTQAINFRA-6774
Pick-to: 6.9 6.8
Change-Id: I2461911d20ba2fda7b2c53d38b0e688139501e22
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
2024-12-10 14:30:40 +00:00
Simo Fält
e7ef5d8f1b Provisioning: Fix once more the SBOM_PYTHON_APPS_PATH in macOS
Pick-to: 6.8
Change-Id: I733a6b2ea25e4d76c19ef921b7706cd0464c3120
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2024-10-30 06:17:35 +00:00
Jøger Hansegård
2728b7ac6f Add provisioning of FFmpeg for Android and iOS with qtci-macos
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>
2024-10-30 08:17:28 +02:00
Alexandru Croitor
6f991b55a3 coin: Explicitly specify SBOM_PYTHON_APPS_PATH for all platforms
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>
2024-10-25 16:13:04 +02:00
Aku Pietikäinen
cfd06e54fd Enable vnc remote management on macOS
Task-number: QTQAINFRA-6668
Pick-to: 6.8 6.5
Change-Id: I5af8e460059cdcaad22f637e1c92d9a46950f775
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
2024-10-19 11:33:33 +03:00
Simo Fält
da55c4c620 Provisioning: Install libusb for Ubuntu 24.04 arm and macOS 14 arm
Required by qt-apps/qdb

Pick-to: 6.8
Task-number: QTQAINFRA-6571
Change-Id: I6bf217af528e4daca548c14abef30ec9e76c2161
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
Reviewed-by: Toni Saario <toni.saario@qt.io>
2024-10-01 15:05:10 +00:00
Marcus Tillmanns
337206334e Coin: Add golang & upx to Linux/macOS/Windows
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>
2024-09-12 19:56:28 +00:00
Tor Arne Vestbø
73c8e4d387 Provisioning: Remove mac certificates and signing tools
Those will be provided by Coin.

Follow-up to 4e09a6db79 for macOS ARM.

Pick-to: 6.8 6.5 6.2
Change-Id: Iffe433b606e6fb28580b8d2a265ee82f4bda7eb8
Reviewed-by: Toni Saario <toni.saario@qt.io>
2024-08-14 07:57:58 +02:00
Alexandru Croitor
866b4cedaf coin: Fix pip3 installation on macOS arm
The pip3 install calls contained the word 'install' twice.

Starting with newer pip versions, this seems to fail with:

 /Users/qt/.pyenv/versions/3.9.7/bin/pip3 install --user install
   virtualenv wheel html5lib
 ERROR: Could not find a version that satisfies the requirement
   install (from versions: none)
 ERROR: No matching distribution found for install

Make sure install only appears once.

Pick-to: 6.8
Change-Id: I1bfc784d4e3d6a1c34d112e72e2739678d2f07ae
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
2024-07-19 09:56:13 +02:00
Alexandru Croitor
1f2fb6312c coin: Add python packages to allow validating Qt generated SBOM files
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>
2024-06-20 06:56:17 +02:00
Ville-Pekka Karhu
673c5ae87f Platform Configs: Replace macOS 13 with macOS 14 as build and packaging target
This also switches to building with Xcode 15, as that's the Xcode
currently provisioned on our macOS 14 VMs.

The gRPC provisioning has been disabled for macOS 14 on ARM
due to linking errors for OpenSSL due to a faulty CMake find
scripts or tests.

Change-Id: Ia99720c8f1813bb0baf2062e3488202a4191eaf0
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2024-05-08 16:36:46 +00:00
Tor Arne Vestbø
b86099c993 coin: Build OpenSSL as universal build for macOS ARM
Change-Id: I6769c4b1c62d9d89c502e90339841191cdfb674f
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2024-04-29 13:07:48 +02:00
Tony Sarajärvi
f074859391 Fix shellcheck problems
Change-Id: I277fd923f62aa5888d7e18c89471909732da30e5
Reviewed-by: Liang Qi <liang.qi@qt.io>
2024-04-28 06:06:50 +00:00
Ville-Pekka Karhu
6440fe6f51 Provisioning: Upgrade Xcode to version 15.3 for macOS 14 ARM and Intel
Task-number: QTQAINFRA-6211
Change-Id: I26995366ca954d6b619f5dfe70f7abb5da7a2b31
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2024-03-22 12:20:34 +02:00
Ville-Pekka Karhu
25bc8c0ba9 Provisioning: Add Spotlight disabling to macOS 13 and 14 ARM
Pick-to: 6.7
Change-Id: Ibdb5d7d23d43b442811e4a47096b1038fcff3b27
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2024-03-15 15:18:07 +02:00
Tor Arne Vestbø
b4de4de742 coin: Give bootstrap-agent permission to use microphone on macOS
The bootstrap-agent is the 'responsible process' in TCC terms when
it comes to whether a test should be allowed to access the microphone.

 https://www.qt.io/blog/the-curious-case-of-the-responsible-process

By giving this process the permission explicitly, by modifying the
TCC database, we ensure that all tests run as child processes also
get this permission.

Change-Id: Ia03084ac89f0717ac6457b0035769f4a9863495b
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
2024-03-11 09:17:21 +00:00
Tony Sarajärvi
c392699a9c Fix ci-files01-hki.intra.qt.io -> ci.qt.io in provision scripts
Change-Id: I4d0a129c170583d79dd6a0c8c38aa3db95e08c31
Reviewed-by: Casimir Saastamoinen <casimir.saastamoinen@qt.io>
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
2024-02-18 19:57:36 +00:00
Simo Fält
adf2deefeb COIN: Move arm Mac brew and pyenv install script under common directory
Pick-to: 6.7
Change-Id: I83c6b017d81bc98431f0d0421167890466e5b855
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
2024-02-02 07:23:25 +00:00
Simo Fält
b89cbf3ee0 COIN: Revert 949594ef83 from arm Mac
Currently prevents provisioning.

Pick-to: 6.7
Change-Id: I135c58452b44066a9279497ba8e57454b0c0a458
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
2024-02-02 07:23:22 +00:00
Elias Toivola
782e1700cf Update Android NDK to version r26b
Revision 26.1.10909125. Also prebuilt OpenSSL 3.0.7 with it.

Task-number: QTQAINFRA-5771
Pick-to: 6.7
Change-Id: I0dbe1f2d38f277bcb805f5b7ac1f30e25aabd1f8
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
Reviewed-by: Rami Potinkara <rami.potinkara@qt.io>
2023-12-22 02:46:33 +00:00
Amir Masoud Abdol
d7b66b044f Provisioning: Install pkg-config on macOS
Vcpkg needs pkg-config on macOS.

Task-number: QTBUG-115715
Change-Id: Ie7ab7394d7b3073d346e05a215c8289f1ab04364
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2023-12-18 06:32:06 +01:00
Amir Masoud Abdol
d591095e7c Provisioning: Install jq
jq is used during the provisioning of vcpkg ports to extract the version
string of packages from vcpkg.json file.

Task-number: QTBUG-115715
Change-Id: I73d95b8d8399b25a9aa58855b9d65cac968618fc
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2023-12-18 06:32:00 +01:00
Amir Masoud Abdol
1fd6fb3565 Provisioning: Mount Vcpkg Cache Drive on macOS
Change-Id: I3038467c98a7c2a5f3b05d7b370d9ec0ea95156d
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
2023-11-05 10:05:59 +01:00
Fredrik Ålund
3d354bf9c0 Add universal binary for Mimer SQL on macOS
Do not use the Mimer SQL installer on macOS since it is not universal.
Instead, use an archive with the needed library and include files.
Use a universal binary on all macOS version from 11 and up.

Fixes: QTBUG-111219
Pick-to: 6.6
Change-Id: I4a3716b1207ee966f36e977fe5f9d1016fb9efcb
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2023-10-13 09:55:21 +02:00
Artem Dyomin
aea9fc281c Install vlc binaries on ubuntu and macos for QtMM streaming tests
Cross-platform VLC provides a cmd-line interface for creating media
streams, we use it in QtMultimedia integration tests.
In the future, vlc might be replaced with something more light-weight,
but for now let's just start running the streaming tests at least on
these platform.

Pick-to: 6.5 6.6
Change-Id: I887a98a1ee8f4a9f0a08d16124303bd10fa5a6ba
Reviewed-by: Jøger Hansegård <joger.hansegard@qt.io>
Reviewed-by: Lars Knoll <lars@knoll.priv.no>
2023-10-11 13:16:19 +00:00
Simo Fält
d3c761ae13 Provisioning: Fix macOS 14 python installation
Change-Id: Ibe1e40fbede609665f1a83e79df5cdc07d23cb5a
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
2023-10-09 06:09:35 +00:00
Fredrik Ålund
1927326833 Install Mimer SQL on macOS
Mimer SQL is needed to build the QtSql Mimer SQL plugin.

Fixes: QTBUG-111219
Change-Id: I678c095068fd096f8632f9cdbb00b1bdf96bbe45
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2023-10-07 06:44:51 +00:00
Ville-Pekka Karhu
117c1b30cd Provisioning: Update macOS 14 Xcode version to 15 official release
Change-Id: Ia50d9363ba81c1a8cb9cd334a1b380a22518913e
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2023-09-28 16:46:36 +03:00
Elias Toivola
b105bbaab1 Provisioning: Bump sdkApiLevel and sdkBuildToolsVersion to 34.0.0
Task-number: QTQAINFRA-5691
Change-Id: I4c0f92a53165f316da4b69161f0ec7cb6f889167
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Rami Potinkara <rami.potinkara@qt.io>
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
2023-09-14 05:04:47 +00:00
Tony Sarajärvi
620666bce4 Fix shellcheck complaints about provisioning scripts
Also adds executable attributes to shell scripts that were missing it.

Change-Id: Id52ef495147fdbfb5cb1a1f711fac530e0e85f3b
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2023-09-13 06:44:02 +00:00
Lucie Gérard
ae21de72f3 Add license header to provisioning scripts missing one
Task-number: QTBUG-108364
Pick-to: 6.5 6.6
Change-Id: I5b1d53aad917ed38f9e26e1fcc1b97b921c0603a
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2023-08-31 16:25:43 +02:00
Casimir Saastamoinen
949594ef83 Give qt user access to zsh history and transfer .viminfo under qt user
Task-number: COIN-723
Change-Id: I093ba09ffc3b7500ace71b4752f17015859989c7
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
2023-08-29 09:58:57 +03:00
Ville-Pekka Karhu
6f24602eb4 Provisioning: Add macOS 14 ARM support
Task-number: QTQAINFRA-5643
Change-Id: Ie98a77063c59033ccffa397aca4dbc349e624450
Reviewed-by: Simo Fält <simo.falt@qt.io>
2023-07-28 11:14:26 +03:00