71 Commits

Author SHA1 Message Date
Tero Heikkinen
0ab91c0886 Unix: Bash scripts needs to be executable
Pick-to: 6.11 6.10 6.8 6.5
Task-number: QTQAINFRA-7709
Change-Id: Ia8802cc2c5e7fb8ed63e261f70fb343cd55a1dfa
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2026-02-20 15:33:22 +02:00
Nils Petter Skålerud
ebe3124831 Move install-ffmpeg-ios.sh into macos folder
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>
2026-02-13 06:43:55 +01:00
Tero Heikkinen
fd5f44a57b Fix macOS 13 install-vcpkg-ports.sh failing in provisioning
Fix vcpkg install to use correct architecture (arm64/x64)
as a host when using --host-triplet argument.

Pick-to: 6.11
Task-number: QTQAINFRA-7691
Change-Id: I899f6521b47e407e1c9bde1c0f2b83e560894794
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2026-02-12 04:05:22 +02:00
Alexey Edelev
9a13282256 Add vcpkg provisioning on macos platforms
Change-Id: Iee721367772f64a956bf421a8564845506138c33
Reviewed-by: Simo Fält <simo.falt@qt.io>
Reviewed-by: Alexey Edelev <semlanik@gmail.com>
2025-12-22 06:25:09 +01:00
Alexey Edelev
5579337dde Add lipomerge tool provisioning
The tool provides an easy and convenient way of merging
per-architecture macos libraries into the universal ones.

Change-Id: Idcec68ea13e4cf4e201373866f1ebabbbc586414
Reviewed-by: Simo Fält <simo.falt@qt.io>
2025-12-20 19:38:13 +01:00
Alexey Edelev
406dca5bf3 Provision patchelf on ARM macOS 13, 15, and 26
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>
2025-12-20 19:38:06 +01:00
Nils Petter Skålerud
f0b54a51f7 macOS ARM, Python: Combine Python provisioning into common script
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>
2025-12-10 09:11:51 +00:00
Nils Petter Skålerud
bb77943c0f Provisioning: Use local mirror for pyenv on macOS ARM hosts
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>
2025-12-10 09:11:49 +00:00
Tero Heikkinen
cdf01ee62c sbom: New SBOM_PYTHON_INTERP_PATH env to use correct python3 for SBOM
To all linux, macOS and Windows platforms.

Task-number: QTQAINFRA-7554
Change-Id: I677440fb9faf3f3d36744b59f91f0036449b639b
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
2025-11-22 21:41:06 +02:00
Tatiana Borisova
0ac4df3e52 Add maven provisioning for qtopenapi build
Change-Id: I4439cb8d8f1327e474d272819557e8e64ef17c83
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2025-10-24 09:14:33 +00:00
Tatiana Borisova
6c37ba367a Extend qtopenapi builds
- Add macos13, macos26 configurations for qtopenapi
- Add Ubuntu 20, 22 configurations
- Add Ubuntu 24 aarch64 configuration
- Add RHEL8.10 and Debian configurations

Task-number: QTBUG-140130
Change-Id: Idca79c1e05b012f675aff975fcfc82be9f01538b
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2025-10-16 11:04:27 +02:00
Tatiana Borisova
41dd17028c Add Golang provisionings for qtopenapi builds
- Add macos13, macos26 configurations
- Add Ubuntu 22 configurations
- Add Ubuntu 24 aarch64 configuration
- Add Debian configurations

Task-number: QTBUG-140130
Change-Id: I34f65c7fee4177cf712b5ec5bc54e50773c370d5
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2025-10-16 11:04:27 +02:00
Tor Arne Vestbø
ed82b7ec6f 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.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>
2025-10-04 07:47:15 +02:00
Matti Paaso
ab8b59805a Provisioning: Remove python2 installation
Provision started to fail in python2 installation.

Task-number: QTQAINFRA-7459
Pick-to: 6.10 6.8 6.5
Change-Id: I3059615e8469bf935031791fa826452e01f4f972
Reviewed-by: Simo Fält <simo.falt@qt.io>
2025-10-02 22:02:13 +03:00
Matti Paaso
986d4b8760 Provisioning: Fix pyenv installation
Task-number: QTQAINFRA-7439
Pick-to: 6.10 6.8 6.5
Change-Id: I02202d1b53ab5442e04b6e5c0d7ff3119686f117
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
2025-10-02 22:02:10 +03:00
Rami Potinkara
875297edfc 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.10 6.9 6.8 6.5
Change-Id: I50bab81b97dad3e9d8c1e834c1928949d1e19687
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
2025-09-23 15:05:59 +00:00
Matti Paaso
66fd8fb132 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.10 6.9 6.8 6.5
Change-Id: I22eddfad1f49b0814841a5d554100fdffd329593
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
2025-09-18 12:12:44 +03:00
Toni Saario
b8995e0ebc 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.10 6.9 6.8 6.5
Change-Id: I53434ec3a158cec09f03c96087a401ef05f47b86
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2025-09-09 05:01:58 +00:00
Aku Pietikäinen
1126034d5b Use common p7zip install script and remove unnecessary brew update
Change-Id: Id704953bf2eb9a2cfb11dbdb47451aed7bbc736b
Task-number: QTQAINFRA-7381
Pick-to: 6.10 6.9 6.8 6.5
Reviewed-by: Simo Fält <simo.falt@qt.io>
2025-09-09 05:01:55 +00:00
Axel Spoerl
f379f4552f Unix provisioning: Don't hardcode dynamic libclang version in file names
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>
2025-08-22 12:33:57 +02:00
Elias Toivola
bf04a7a94d Android: set macOS nightly targets for older NDK versions
This change makes macOS provisioning also install older NDKs for
Android (if set), which will be used in nightly targets.

Pick-to: 6.10
Task-number: QTQAINFRA-7069
Change-Id: Ie176c5ea69a1398afa69691ad6f37b7af2f66dfc
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
2025-06-19 14:46:35 +03: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
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
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
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
Tor Arne Vestbø
76d2f6f947 coin: Set TCC permissions for macOS 12 and 13 ARM VMs
Task-number: QTBUG-126119
Task-number: QTBUG-125389
Pick-to: 6.8
Change-Id: I9433765308aad17c073b887c4efbcc5c6e4dd623
Reviewed-by: Jøger Hansegård <joger.hansegard@qt.io>
Reviewed-by: Aku Pietikäinen <aku.pietikainen@qt.io>
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Reviewed-by: Pavel Dubsky <pavel.dubsky@qt.io>
2024-06-11 15:06:59 +02: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
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
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
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
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