Commit Graph

151 Commits

Author SHA1 Message Date
Ville-Pekka Karhu
f4f8266821 Provisioning: Add Simulator Runtime installation to macOS
Task-number: QTQAINFRA-6774
Change-Id: I2461911d20ba2fda7b2c53d38b0e688139501e22
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
(cherry picked from commit 1f6f97a141)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit dc1f9e060a)
2024-12-31 07:42:18 +00:00
Matti Paaso
5f00935059 Update Java version into 17
Jenkins needs version 17 to get agent running in VM

Task-number: QTQAINFRA-6263
Pick-to: 6.5 6.2
Change-Id: I57daadad6baa2e7e538874769af3fbe0cdd42878
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
(cherry picked from commit 5128df0130)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-11-12 06:05:13 +00:00
Alexandru Croitor
b87098e90d CMake: Update provisioned CMake to version 3.30.5
Fixes: QTQAINFRA-6484
Change-Id: Iacccb9f43059c78080e338da6680f5c50284c057
Reviewed-by: Simo Fält <simo.falt@qt.io>
(cherry picked from commit 400776459b)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-10-31 14:42:43 +00:00
Alexandru Croitor
81d2c30cb4 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

Task-number: QTBUG-122899
Task-number: QTBUG-124453
Task-number: QTBUG-125211
Change-Id: I097fd1c4119a203d82f88c477dbf0fc0f67f19f2
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
(cherry picked from commit 6f991b55a3)
2024-10-31 15:42:31 +01:00
Matti Paaso
c1edd84a8a Update java in macOS x64
Android requires java 17 in Qt 6.8 and RTA needs java 17 into VMs
to compile Qt examples.

Task-number: QTQAINFRA-6492
Change-Id: I873c188154c2eae2a9eebddb94279c41ca822576
Reviewed-by: Johanna Äijälä <johanna.aijala@qt.io>
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
(cherry picked from commit 73cc61c389)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-10-23 04:31:26 +00:00
Aku Pietikäinen
6a4aac317b Enable vnc remote management on macOS
Task-number: QTQAINFRA-6668
Pick-to: 6.5
Change-Id: I5af8e460059cdcaad22f637e1c92d9a46950f775
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
(cherry picked from commit cfd06e54fd)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-10-20 07:31:36 +00:00
Fredrik Ålund
f9f017bf5a Update Mimer SQL macOS binaries
The Mimer SQL macOS binaries had a problem fixed in version
11.0.8E. Update provisioning script with new version. Since Mimer SQL
on macOS is now universal binary only, remove the arm64 and x86_64
versions.

Fixes: QTQAINFRA-6559
Change-Id: I7e202ffc945167db79430846571cd7e1bb5158f6
Reviewed-by: Elias Toivola <elias.toivola@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
(cherry picked from commit 90308d841e)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-09-10 11:11:16 +00:00
Tor Arne Vestbø
6a340438f8 coin: Add kTCCServiceScreenCapture permission to ssh/bootstrap-agent
The screen capture permission might be useful for Qt Multimedia, and
also allows us to do screen capturing of the state of the VM in case
of test failures.

For macOS 15 we need to work around the monthly nagging that an
app has permission to capture the screen, otherwise this popup
may interfere with test runs.

Change-Id: I0398488c78b19a85ba527b780b264e0b915b6024
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
(cherry picked from commit 3a5f7bb8d8)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-08-28 18:50:30 +00:00
Tor Arne Vestbø
8f7410b202 coin: Extend TCC permissions to SSH server and bundled boostrap agent
We are experimenting with various ways of running and packaging the
bootstrap agent. To support this, let's add the required permissions
to both a standalone bootstrap-agent executable, as well as an app
bundled version of it, if found.

In addition, add the permissions to sshd-keygen-wrapper, which is
the responsible process for the SSH server, and any ssh login
sessions spawned by that. This serves two purposes. Firstly, this
matches the permissions between a coin run (by the bootstrap agent)
and what a developer will see when SSH'ing into the CI machine to
debug an issue. Secondly, we might use ssh as an entrypoint to
run the bootstrap-agent, in which case we need the permissions
on sshd-keygen-wrapper anyways, so that they are inherited by
the bootstrap-agent.

Change-Id: I576349e93ca19d98384490c99102966e8ffe2833
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
(cherry picked from commit 5368f47fe0)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-08-28 18:50:28 +00:00
Tor Arne Vestbø
95c6513432 coin: Give coin agent permission to access Bluetooth
The Qt Connectivity tests rely on this.

Change-Id: I7218485e583ebe2c8d381a0104012a86350e6eac
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Reviewed-by: Aku Pietikäinen <aku.pietikainen@qt.io>
(cherry picked from commit 3ad98d0b27)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-07-10 09:54:48 +00:00
Alexandru Croitor
90c88a451f 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.

Task-number: QTBUG-122899
Change-Id: I8002898866acbc226ffebb59dcf5b3a58237ea34
Reviewed-by: Toni Saario <toni.saario@qt.io>
(cherry picked from commit 1f2fb6312c)
2024-06-28 06:24:39 +02:00
Eike Ziller
91c649c20e COIN: Fix sccache installation on ARM Macs
Install the ARM sccache binary to fix

/usr/local/sccache/sccache: Bad CPU type in executable

Pick-to: 6.7
Change-Id: I033a7c8cf88d0d1ad35a4406a5d2a878da8d17a7
Reviewed-by: Toni Saario <toni.saario@qt.io>
(cherry picked from commit c872c35cc6)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-06-28 04:24:30 +00:00
Simo Fält
9d69572e74 Provisioning: Add retry for disabling Spotlight indexing
Task-number: QTQAINFRA-5996
Change-Id: I6c85816f7b490fbb2423cbf7d0efe862056bc001
Reviewed-by: Toni Saario <toni.saario@qt.io>
(cherry picked from commit f9bb6b202a)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-06-28 04:24:14 +00: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
Tor Arne Vestbø
0a8f1050f9 Fix shellcheck warnings in set_tcc_permissions.sh
Pick-to: 6.7
Change-Id: I6b4de6e02e92d4c85fbb58cb1573a0ab3a178b24
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2024-04-03 13:57:31 +02:00
Artem Dyomin
a53b63019f Implement dynamical ffmpeg linking on macOS
* fix dependencies and install names (absolute => relative)
* fix compilation build of dylib on xcode 15.
* add matching build instructions to yaml.
* old macos versions don't have 'realpath', workaround is used.

Task-number: QTBUG-120989
Pick-to: 6.7 6.6 6.5
Change-Id: I22e413d8f6d05c8c7d6d09a5926691216e781fd3
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
Reviewed-by: Jøger Hansegård <joger.hansegard@qt.io>
2024-03-13 11:54:46 +00: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
Artem Dyomin
231d089553 Retain symlinks upon making universal macOS binaries
Saving symlinks is important when we build dynamic libs,
it will be needed for building QtMM + dynamic ffmpeg.

Task-number: QTBUG-120989
Pick-to: 6.7 6.6 6.5
Change-Id: I58c040a81f1fa6a3b316ace864fda0687415fd0a
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2024-02-12 16:17:10 +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
Artem Dyomin
f87f27dc62 Revert "Retain symlinks upon making universal macos binaries"
This reverts commit a3c489b272.

Reason for revert: Mistakenly replaced 'set -e' => 'set -x' just hides the problem on macOS 11 and 12. The patch needs to be investigated again

Pick-to: 6.7
Change-Id: I238395fd2ae1fc362a0c9af02e2d48acce22e0dc
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
2023-12-28 19:10:31 +00:00
Artem Dyomin
a3c489b272 Retain symlinks upon making universal macos binaries
Saving symlinks is important when we build dynamic libs,
it will be needed for building QtMM + dynamic ffmpeg.

Pick-to: 6.7 6.6 6.5
Change-Id: Ic356a9c3df727a1afe14e8553728952d3b106ba3
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
2023-12-24 16:48:27 +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
Alexandru Croitor
bae2268c47 CMake: Update provisioned CMake to version 3.27.7
We want access to the debugger, and also to be in sync with the CMake
shipped with the Qt SDK.

Task-number: QTBUG-118138
Change-Id: I4b43b9543e8e6ef23c9608a8e1c623ee16edfbd5
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2023-11-15 09:14:29 +01:00
Casimir Saastamoinen
23116e7331 Configure pip for internal cache
Task-number: QTQAINFRA-5531
Change-Id: I89c5502f62b2777a06b8f301a9fbaca1a3f8859d
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
2023-11-05 12:06:07 +03: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
Tony Sarajärvi
070b3bf26e Remove unused variable from mimersql.sh
Change-Id: I1f77dfcac4988c0e377b68b9d6b85cf265869aea
Reviewed-by: Fredrik Ålund <fredrik.alund@mimer.com>
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2023-11-05 09:05:43 +00:00
Fredrik Ålund
b073e4c5d8 Mimer SQL: Do not unpack directly to /usr/local and use sudo
Unpacking the Mimer SQL universal binary package fails on macOS 14-arm.
Do not unpack directly to /usr/local and use sudo. Verify that all
directories exist.

Fixes: QTBUG-111219
Pick-to: 6.6
Change-Id: I5f1bf3413103c07a94a47b5421c41b8b1234ca22
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
2023-10-20 05:31:03 +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
Ville-Pekka Karhu
2a7c5cdf71 Provisioning: A better fix for enabling zsh history
Change-Id: I089ae9ea42b51b66009c1e2c50910ea689500aa1
Reviewed-by: Simo Fält <simo.falt@qt.io>
2023-10-09 09:10:15 +03: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
8e5e4d5e2c Provisioning: Fix for enabling zsh history
Change-Id: I9b1af1f99181a7b1c0a4acded4022a26fbf5a641
Reviewed-by: Simo Fält <simo.falt@qt.io>
2023-10-03 08:16:19 +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
Aku Pietikäinen
2de9e59be6 Provisioning: macOS 14 x86_64 support
Change-Id: I369beb7a790fbb94bf2c1e9a823734434ea3b3da
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
2023-08-16 16:06:23 +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
Dominik Holland
b87b44168c Provisioning: Remove the special wheel cache for python3 packages
It should be replaced with a global pip cache in the long run.
Removing it should make the maintenance of the required packages easier
as it can be done within the modules instead of in the global
provisioing scripts.

Pick-to: 6.6
Change-Id: Ief9832a8a640ce98325cda015d0a9e89d6cb16af
Reviewed-by: Simo Fält <simo.falt@qt.io>
2023-07-25 15:52:51 +03:00
Allan Sandfeld Jensen
d764e8fe39 Update node.js on Linux/macOS
Qt WebEngine 6.6 need 14.19+

Pick-to: 6.6
Change-Id: Idf2d54fcdc55762cd9d8cfe5248858bd00afe89c
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2023-06-20 11:32:44 +02: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
Heikki Halmet
d5ba87dff6 Provisioning: Use Docker registry when pulling images in macOS
Task-number: QTQAINFRA-5428
Pick-to: 6.4
Change-Id: I0034922dd7cc42b55b3c1e852070df29a54c529b
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
2023-02-26 14:58:55 +00:00
Assam Boudjelthia
8abebe23ef Coin: bump Android platform sdk and build tools version to 33
Use latest platform and build tools to be able to build for Android 13.

Pick-to: 6.5
Change-Id: I00bd9948f528d398d471e91de1d22954d786be29
Reviewed-by: Juha Vuolle <juha.vuolle@qt.io>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2023-01-20 11:45:02 +02:00
Heikki Halmet
e266a9e604 Provisioning: Add Docker for macOS
Needed by RTA tests

Pick-to: 6.5 6.4
Task-number: QTQAINFRA-5171
Change-Id: I26ac10421ba32d68ffdef523fd97f710cd6bcaab
Reviewed-by: Samuli Piippo <samuli.piippo@qt.io>
2023-01-12 12:28:47 +00:00
Alexandru Croitor
6943f28b17 CMake: Update provisioned CMake to version 3.24.2
Needed to fix iOS Xcode generator builds when using Xcode 14.
Otherwise compiler identification fails due to a code-signing error.
We hit it in our iOS MinimalStaticTests configuration.

 error: Cannot code sign because the target does not have an
        Info.plist file and one is not being generated
        automatically.
         (in target 'CompilerIdCXX' from project
         'CompilerIdCXX')

See https://gitlab.kitware.com/cmake/cmake/-/issues/23719

Amends eee152ca70

Fixes: QTQAINFRA-5044
Change-Id: Idabd78e6e28816a8fc4dd7e627de82f2c622c54e
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
2022-11-26 18:19:17 +01:00
Samuli Piippo
2b8f50a2d1 Add universal libusb binaries to macOS
Brew does not support universal binaries, but provides separate
amd64 and arm64 packages. We need to add arm64 binaries for libus,
so that the universal builds work also for QDB.

Use brew to fetch both architecture packages and use them to
create universal libs for the libusb.

Remove from macOS 10.14, add to macOS 12 arm.

Task-number: QTBUG-107457
Pick-to: 6.2
Change-Id: If19fd6d303a20d8742c88ea11d5b30cc55f45d6b
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2022-11-24 05:38:38 +02:00
Matti Paaso
936ede45de Update Android NDK to version r25b
Update NDK to version r25b and prebuilt openssl 1.1.1m built with
it. Change log: https://github.com/android/ndk/wiki/Changelog-r25

Task-number: QTBUG-105397
Change-Id: I501f43066e7ba8af8a57efdbee6c4a625bb80852
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
2022-10-17 19:47:10 +03:00
Heikki Halmet
8a72b1de99 Support multiple Android NDK versions
We need to verify latest Android NDK version in all
Qt6 branches and we need to retain the NDK version we
had when the specific branch was released at the first time.

Verification of the latest NDK will be done during integrations
in 'dev' branch and with older brances it will be done using
nightly build targets

Task-number: QTQAINFRA-4990
Change-Id: I2a96e419d403820f55f4244230c28ad09dc9095b
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
2022-09-20 10:30:05 +03:00
Simo Fält
c58560db14 Provisioning: Disable application reopen after reboot
This is required with physical Mac machines.

Task-number: QTQAINFRA-5094
Change-Id: Ic1fad436d76d04e1dbce778f57bb69d8124548e7
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2022-09-06 09:11:04 +03:00