Commit Graph

34 Commits

Author SHA1 Message Date
Tero Heikkinen
4a184bed88 Unix: Bash scripts needs to be executable
Pick-to: 6.10 6.8 6.5
Task-number: QTQAINFRA-7709
Change-Id: Ia8802cc2c5e7fb8ed63e261f70fb343cd55a1dfa
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
(cherry picked from commit 0ab91c0886)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2026-02-23 05:30:25 +00:00
Nils Petter Skålerud
1d998afee6 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.

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>
2026-02-17 21:04:29 +00:00
Nils Petter Skålerud
13db7987b8 Stop compiling FFmpeg Android arm64 on old macOS x86 hosts
Android FFmpeg provisioning requires 'readelf', which is provided by
binutils package. This package is shown to be flaky on older macOS x86
hosts. It is not critical that we compile that we compile Android
FFmpeg on these hosts, so this patch removes them.

Pick-to: 6.10 6.8
Change-Id: I6722f2c543b022a998573cc76ffc671378a4fcb5
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
(cherry picked from commit 033329cb00)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2026-02-12 18:19:07 +00:00
Johanna Äijälä
622385a2ba Provisioning: cleanup, remove Squish installations
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>
2026-01-02 11:56:35 +00: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
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
Nils Petter Skålerud
b3aee1c583 Coin, macOS: Call script 'set_tcc_permissions.sh' on macOS x86 targets
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>
2025-06-16 18:02:02 +02: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
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
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
2f3d052720 Provisioning: Add Docker installation to macOS 13 x64
Task-number: QTQAINFRA-6714
Pick-to: 6.8 6.5
Change-Id: I5044ca4fc8f965e31720e7a94820153213afc14d
Reviewed-by: Milla Pohjanheimo <milla.pohjanheimo@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2024-10-30 20:27:33 +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
Bartlomiej Moskal
64aee78df8 coin: Downgrade patchelf version on CI
Downgrade patchelf version from 0.18.0 to 0.17.2 on MacOs, Linux and
Windows.

It looks like there is a problem with 0.18.0 version, when modyfing the
Android libs. It causes an unresolved dependencies error when loading a
changed library.

Fixes: QTBUG-126861
Pick-to: 6.8
Change-Id: I5a95daae0a78aadede009535b2813483afcbc99d
Reviewed-by: Jøger Hansegård <joger.hansegard@qt.io>
2024-07-29 19:07:18 +02:00
Bartlomiej Moskal
b5e6c9e59b Coin: Dynamically linked FFmpeg for Android (on macOS host)
Prepare for turning on dynamically linked FFmpeg on macOS:
  - install binutils (for readelf) on macOS;
  - readelf need to be used with absolute path on macOS. Prepare
    workaround solution for this system in
    fix_ffmpeg_dependencies.sh script;
  - install patchelf on macOS;
  - ensuring compatibility of sed call on Linux and macOS;

Pick-to: 6.8
Task-number: QTBUG-122010
Change-Id: I810566786de4363b4383f29467c6ca4395f9f668
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
2024-06-17 13:44:26 +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
Timur Pocheptsov
65695bc38b QtMultimedia - build ffmpeg plugin for iOS
Minimal preliminary script for building ffmpeg for iOS.

Change-Id: Ie210db8cd50b5a757fcc6d6258c3ebdf4fc53c51
Reviewed-by: Jøger Hansegård <joger.hansegard@qt.io>
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
2024-02-03 08:40:15 +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
Bartlomiej Moskal
2d3245e0ea Coin: Install FFmpeg for Android on missing targets
On qtci-macos-13-x86_64 host CI tries to build and run the test on
Android (arm64) while we still haven't managed to install FFmpeg for it.
The same situation happened with qtci-linux-RHEL-8.8-x86_64 and Android
x86.

Task-number: QTBUG-110805
Task-number: QTBUG-114954
Task-number: QTBUG-113980
Pick-to: 6.6 6.5
Change-Id: If953221b104d5bb8fce9d48f8ecd977c2e80c41d
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
2023-11-02 20:11:01 +00: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
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
Konrad Kujawa
8db9f452d0 Add missing CMake arg to macOS developer build on ARM
Add missing OPENSSL_ROOT_DIR to macos-12-arm64-developer-build
CMAKE_ARGS.
OPENSSL_ROOT_DIR is required to run QtGRPC auto tests.
Add missing provisioning script to macOS 13 x86_64.

Fixes: QTBUG-115077
Change-Id: Ia51d6820037e93d5eddb06a2fdedfcfa87ee094e
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
2023-07-19 08:58:18 +02:00
Heikki Halmet
ac33d86e9a Add macOS 13 x86_64 to CI as build and test target
macOS 12 x86_64 will be replace with macOS 13. Tests will be still run
on macOS 12

Let's keep same Xcode version (14.2) than older macOS (12) has

Task-number: QTBUG-104210
Change-Id: If3e06834156196917001f83ca391a66a6c78e84a
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2023-06-20 09:32:57 +00:00
Lucie Gérard
eecfb19548 Use SPDX license identifiers
Replace the current license disclaimer in files by
a SPDX-License-Identifier.
License files are organized under LICENSES directory.

Pick-to: 6.5 6.6
Task-number: QTBUG-67283
Task-number: QTBUG-108364
Change-Id: If26e4d35c780db4a7982bb84872b251dad24716e
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2023-06-12 12:10:41 +00:00
Tony Sarajärvi
58ddf7133c Correct the domain of ci-files01-hki
It's hasn't been .intra.qt.io for quite some time, it
has worked through an alias we have on the DNS server.

Change-Id: I0bc17668dacfea64c276bb553e75e4be16e97659
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
Reviewed-by: Matti Paaso <matti.paaso@qt.io>
2023-06-12 12:10:26 +00:00
Tero Heikkinen
08ac268561 Provisioning: Upgrade Xcode version to 14.3 for macOS 13
Change also upgrades command line tools

Task-number: QTQAINFRA-5485
Pick-to: 6.5
Change-Id: I057e4c850c3c7ba938002a2ec444637ae9f51cf4
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
2023-05-05 11:13:16 +03:00
Ville-Pekka Karhu
ae9a3316d9 Provisioning: scripts for Intel macOS 13
Change-Id: Ife5e00e9daf260de1234e37d59beb6f58db121af
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2023-01-17 13:18:23 +02:00