Commit Graph

52 Commits

Author SHA1 Message Date
Marc Mutz 75486e8c60 Revert "Enable Unity Build on Qt Base for macOS -developer-build"
This reverts commit 6f3ff63da5.

Unity builds have not been properly tested. In particular, they have
not been tested with an "infinite" batch-size (e.g. 100,000) to
reasonably ensure that any batch-size will work and any _new_ .cpp
files being added to SOURCES will break unity-build only in a way
that's fixable by changes in _that_ .cpp file.

The CI is not a lab for experiments. A unity-related failure has
brought the branch:dev CI to a screeching halt for a day on
2023-07-20, so we're disabling the use of it on the CI until it has
been properly tested in nightly builds and locally.

Task-number: QTBUG-109394
Change-Id: Ib1605c02bc088942acc7dfe90b3b0e39f46a41e3
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2023-07-21 11:41:29 +02:00
Alexey Edelev b028d7499f Disable native_grpc feature for "Packaging" platforms
Native gRPC channels rely on the reference gRPC implementation that
doesn't guarantee the ABI compatibility between different versions. We
shouldn't link libQt6GRPC to any 3rdparty libraries that are not
delivered as part of Qt when make packaging builds in CI.

Task-number: QTBUG-115055
Task-number: QTBUG-110107
Pick-to: 6.6 6.5
Change-Id: Ie099b0af833d87308179d3b4eecc47738078010c
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2023-07-20 17:13:40 +00:00
Marc Mutz d316e8dff4 Revert "Set -unity-build-batch-size to 16"
This reverts commit 7409b0a6f3.

Reason for revert: Breaks qtbase builds.

Change-Id: I225ae701c211a0af30b1a03a8204ce47b6e91000
Reviewed-by: Amir Masoud Abdol <amir.abdol@qt.io>
2023-07-20 16:04:56 +00:00
Amir Masoud Abdol 7409b0a6f3 Set -unity-build-batch-size to 16
This changes the -unity-build-batch-size of the platforms that we are
experimenting with from 32 to 16.

Change-Id: Iefc70b482ae86313d2b2d10ff1adb862eb7e2138
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2023-07-19 20:57:44 +02: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
Amir Masoud Abdol 6f3ff63da5 Enable Unity Build on Qt Base for macOS -developer-build
In order to monitor, and compare the performance of unity build, this
patch enables the unity build on `macos-12-arm64-developer-build`
and `macos-12-arm64-developer-build` platforms.

Change-Id: I4d8f864a821cf4cefcc10015950d0e994c7ba8a4
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
2023-07-04 13:56:39 +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
Tor Arne Vestbø 8214de5e0e Remove conan profiles
The conan experiment has ended, and the files are only bitrotting
nowadays.

Pick-to: 6.5 6.6
Change-Id: Iefdc6fa1a48bb4062b15cf035f372a2d44bddda9
Reviewed-by: Toni Saario <toni.saario@qt.io>
2023-06-20 11:32:52 +02:00
Heikki Halmet 76a06d574c Update macOS Tier 1 images to use newer OS versions
macOS 11.7.5
macOS 12.6.4
macOS 13.3

Pick-to: 6.5 6.4 6.2 5.15
Change-Id: Ib3cb27fc8716baa52893a6c52fe3589f5e7daac1
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
2023-04-13 05:08:20 +00:00
Heikki Halmet 92ae8eb4ca Add ID for all targets
All targets should have ID. This way it's easier to refer to needed
target

Pick-to: 6.4 6.5 6.3 6.2
Change-Id: I0af8399c3a4c436ab1e778ab4396c65ccd3a373b
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
2023-01-10 05:50:26 +00:00
Konrad Kujawa 63d72293b7 Add provisioning for gRPC
Add provisioning scripts to install gRPC.
gRPC is requirement to build QtGrpc

Task-number: QTBUG-105492
Change-Id: I1a6d008a1d2c1616000909aacdb721401f706168
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2022-12-07 07:57:21 +01:00
Tor Arne Vestbø 21be8b0c05 Run tests with FFMpeg backend on macOS without depending on CMake variable
The mechanism employed where a CI test configuration would add
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}}' to its
environment variables to trigger QT_MEDIA_BACKEND=ffmpeg, was
needlessly indirect and based on conditions that didn't make
sense.

The logic now lives in the qtmultimedia repository.

Change-Id: I46b8fc1df45676b060157bfd670e9971980f0369
Reviewed-by: Lars Knoll <lars@knoll.priv.no>
2022-12-06 15:17:40 +01:00
Tor Arne Vestbø 6652583be2 Remove macOS 10.15 test configurations
macOS Catalina (10.15) has reached its end-of-life, and is no longer
supported with bug fixes or security updates by Apple.

Change-Id: Id8c222ee28f48b551c3522bfd353cf71be74d62e
Reviewed-by: Liang Qi <liang.qi@qt.io>
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2022-11-28 18:09:20 +01:00
Tor Arne Vestbø 7db5511fe6 Make macOS 13 Apple Silicon test significant
Task-number: QTBUG-104210
Change-Id: Ib75931616718406d1dd8a2476f8566ef15257d4a
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2022-11-11 15:56:30 +01:00
Tor Arne Vestbø 2586e0f3bd Add macOS 13 on Apple Silicon as insignificant platform (for now)
Task-number: QTBUG-104210
Change-Id: Ic9f6a1b0a93e762a643fb98d31d1a3b82bdd61ea
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2022-11-11 09:53:30 +01:00
Artem Dyomin 047ac67b06 Turn on ffmpeg build and ffmpeg tests for all macos platforms
Some tests have been skipped for mac os CI, see
related commit by gerrit topic.

Example of build/test:
https://testresults.qt.io/coin/integration/qt/qtmultimedia/tasks/web_qt_qtmultimedia_1666965369638

Change-Id: I9aeb4d608d15733bce9b97e35b3b9c2e049af3f0
Reviewed-by: Lars Knoll <lars@knoll.priv.no>
2022-11-01 22:13:28 +02:00
Mårten Nordheim 032a0e18bf Specify where to find protobuf on macos
Otherwise it doesn't find it and the build is configured without it.

Change-Id: Ib6b151c1177b4bde0de268f0a948a9a31f3a7225
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
Reviewed-by: Ievgenii Meshcheriakov <ievgenii.meshcheriakov@qt.io>
2022-10-26 14:01:26 +00:00
Johanna Äijälä 3e380e35b0 Update macOS11 (105) and macOS12 (105) templates
Use templates which have Accessibility enabled for
Squish.

Task-number: QTQAINFRA-3559
Pick-to: 6.4
Change-Id: I9538ea48791ea81738a41b1e101552cfc3bd454b
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
2022-09-29 10:04:19 +03:00
Tor Arne Vestbø ffd7bc3bd7 coin: Prepare for removing macOS 10.14 as a supported deployment target
Change-Id: I9fcee3df2d9bfeb8f920df8a30e3e1b556874fd4
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2022-08-28 23:01:28 +00:00
Piotr Srebrny 51c663d171 Build static FFmpeg library on macOS
This patch modifies linux/ffmpeg-install.sh to work also for macOS.
The FFmpeg libraries are installed under /usr/local both for Linux
and macOS.

Since macOS x64 does not have the lzma lib for arm64 architecture
installed by default, I disable this libraries for FFmpeg. This
only affects the TIFF image decoder that we do not use.

Added the execute permission to the ubuntu scripts.

Change-Id: Ib8623c6a9bcdd24c89045ede0494839fb9cd2ecc
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2022-07-28 09:56:16 +02:00
Alexandru Croitor 032dfe48fa coin: Use configure for newly added mac configuration
Use the configure script to configure Qt in the CI, instead of calling
CMake directly.

Amends 21ed2db77b

Pick-to: 6.4
Task-number: QTQAINFRA-4357
Task-number: QTQAINFRA-4815
Change-Id: Ibd4ae9bb7dfdbff0cc1ae7803a6aaf5e0c504d2e
Reviewed-by: Toni Saario <toni.saario@qt.io>
2022-07-18 12:05:49 +00:00
Alexandru Croitor e0c0aaade4 coin: Use configure for macOS desktop configurations
Use the configure script to configure Qt in the CI, instead of calling
CMake directly.

Pick-to: 6.2 6.3 6.4
Task-number: QTQAINFRA-4357
Task-number: QTQAINFRA-4815
Change-Id: I38e038e6682f77a5ea3f2335f24f8bcbd2e7c605
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
2022-06-08 23:27:27 +02:00
Allan Sandfeld Jensen 21ed2db77b Test universal builds on arm64
Change-Id: I2c2cc2a58cd954c8884955cd8bed79a961ef901b
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2022-05-25 05:42:22 +01:00
Tor Arne Vestbø 3072446274 coin: Run macOS x86_64 developer build tests for all modules
Aligns the way we test x86_64 and arm64 developer builds.

Pick-to: 6.2 6.3
Change-Id: I87ea5e183b5ee29c62304b22eaf20c4b46ec3b0d
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2022-04-07 08:02:47 +01:00
Toni Saario 28920cb7b4 Update conan profiles
Split the end user profile variants in two, e.g.:

linux-x86_64-gcc

->

  linux-x86_64-gcc  # 1
  baseprofiles/linux-x86_64-gcc  # 2

1) This is still the end user variant but this includes the
   counterpart from 3rdparty subfolder

2) This contains those settings and options that are needed
   for 3rd party depedencies like icu

Task-number: QTBUG-99213
Pick-to: 6.2 6.3
Change-Id: Ia6d7d9c5759848ff339cf8f50a40b10dfd9877d6
Reviewed-by: Simo Fält <simo.falt@qt.io>
2022-02-28 07:43:41 +00:00
Heikki Halmet 1865d70ef8 Provisioning: Start using latest macOS 11 version 11.6
New tier 1 image's name format is qtci-macos-11-x86_64

Pick-to: 6.2
Pick-to: 6.3
Pick-to: 5.15
Change-Id: Ieb23b64a0981bdd282d2ae482dd5ccda3f7ecaed
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
2022-02-03 21:13:07 +02:00
Heikki Halmet 000691d833 Make macOS 12 on ARM developer build tests significant
Pick-to: 6.3
Pick-to: 6.2
Task-number: QTQAINFRA-4649
Change-Id: Ia12310a3439058f706d55242ece5ee185073f7ce
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Reviewed-by: Simo Fält <simo.falt@qt.io>
2022-01-03 12:57:54 +02:00
Tor Arne Vestbø b19b02173c coin: Move all builds over to macOS 12
Pick-to: 6.2
Change-Id: Ief01ca81cda49d518e910e01f70f78a5c8430ed7
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2021-12-23 01:43:05 +01:00
Tor Arne Vestbø ccf24d5f2a coin: Make macOS 12 on ARM packaging tests significant
Pick-to: 6.2 6.3
Change-Id: I6e89626e52f21d19e8665769b4d8f6ee9a54e537
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2021-12-21 11:02:35 +00:00
Tor Arne Vestbø 190c324d8f coin: Add missing platform dependency to macos-12-arm64-tests
Pick-to: 6.2
Change-Id: I507acf803a86a6b200e1bc5fb1599631deed3b40
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2021-11-17 17:19:39 +01:00
Tor Arne Vestbø 9358ab26ed coin: Disable PostgreSQL on macOS 12 builds
The provisioning doesn't support it yet.

Change-Id: Icf0cea1b58813a1e0037c00c726f4cc9096d0ac8
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2021-11-16 23:08:38 +00:00
Ville-Pekka Karhu 7e2882d0a7 Provisioning: Add macOS Monterey (12) x86 to CI
This will also upgrade Xcode to version 13.1

Task-number: QTQAINFRA-4508
Pick-to: 6.2
Change-Id: Idce56d429b4cd8c7eea3b75e8d91d2f281c0c871
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2021-11-16 14:52:03 +02:00
Heikki Halmet 8c06db541a Add targets for macOS 12 arm64
Task-number: QTQAINFRA-4508
Pick-to: 6.2
Change-Id: I3b53b0c0654519644d56df1ea935724f68964241
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
2021-11-15 16:00:12 +02:00
Tor Arne Vestbø 3c38cc22ce coin: Don't set CMAKE_C/CXX_COMPILER_LAUNCHER for sccache explicitly
The coin 'Sccache' feature will take care of it.

Pick-to: 6.2
Change-Id: Ibb9f79f2d7fc2d7fa2fcfbb24383b1f34fcf594c
Reviewed-by: Toni Saario <toni.saario@qt.io>
2021-11-09 12:25:21 +01:00
Tor Arne Vestbø 296b7faaad coin: Enable warnings are errors for macOS builds
Pick-to: 6.2
Change-Id: I418c207a95a1cd1f827873a7f19178421fdfd10f
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2021-11-03 11:45:03 +01:00
Tor Arne Vestbø 5137b415a1 coin: Add explicit OpenSSL location during configure for macOS
This basically reverts 15e37e994d, as we
now have support for multiple TLS backends.

Task-number: QTBUG-93205
Change-Id: I7466121c21c459bb7aee70f9f7c224cc079d16a5
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2021-09-28 14:03:45 +02:00
Jani Heikkinen 74234e3fa4 Add '-DFEATURE_gds=OFF' as a non-qtbase configure argument for macOS packaging host
We need to disable GDS feature to solve OpenSSL library linking issue

Fixes: QTBUG-93759
Change-Id: I3625c06b14c633d77f1628ae0cda3092284eabd6
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
(cherry picked from commit 2fd650b973)
2021-09-10 17:14:35 +03:00
Iikka Eklund d68e108b94 Add Conan profiles
Create conan profile per packaging configuration. Profiles will
carry configuration information to the builds conan does.

Profiles allow users to replicate identical configurations
to the packaging configurations and reuse existing binaries.

Change-Id: I50a2a4edbedbf56774bd4ceaae268928f8ed00e0
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
2021-09-06 13:58:10 +03:00
Tor Arne Vestbø 27f62f7dd8 coin: Make macOS on ARM developer-build tests significant
Change-Id: I2cc95e955fb313131dbef56028332b611d5dba7d
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
(cherry picked from commit b90fef29dc)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2021-06-15 05:56:39 +00:00
Simo Fält 9673311626 Add 'Packaging' feature for Mac TestOnly CI configs
This will allow exporting the testlogs for release.

Pick-to: 6.1
Pick-to: 6.2
Task-number: QTBUG-94111
Change-Id: Ib0db2b8ba0814539f235ddff412653e797b3f3e2
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
2021-06-09 13:01:32 +00:00
Tor Arne Vestbø 565ca05254 coin: Make macOS ARM packaging config test significant for all modules
Change-Id: Icc30025a33de602e6677b47f131b0557a4d2eabd
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2021-05-25 09:37:04 +02:00
Tor Arne Vestbø 16a03d48a6 coin: Make macOS on ARM packaging tests significant for a few modules
Not all modules pass yet, but we want to at least make the ones that
do blocking.

Change-Id: Ic3270bab8825c79d3315e6241d62af1bf7f62435
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2021-05-18 12:37:32 +02:00
Jani Heikkinen 6056d3be5f Change 'Target arch' for macOS universal build
This build containing both x86_64 and arm64 architectures. The 'Target
arch' ends up in the binary package names and needs to be changed
because '+' is illegal character in Amazon S3 file names so replace the
'+' with '-' in the 'Target arch' section.

Fixes: QTBUG-93778
Change-Id: I325210d51115ae0b1eda056636b69421f68fabd8
Reviewed-by: Antti Kokko <antti.kokko@qt.io>
Reviewed-by: Akseli Salovaara <akseli.salovaara@qt.io>
Reviewed-by: Toni Saario <toni.saario@qt.io>
2021-05-18 05:06:47 +00:00
Tor Arne Vestbø e1c8cf2d39 Add test configuration of macOS universal builds on ARM
Change-Id: I8dec178343978b36dce3e9d262a7f6f234513892
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: Toni Saario <toni.saario@qt.io>
2021-05-05 11:45:50 +02:00
Toni Saario 0d3d17d388 Add target arch for universal macOS target
This makes the field to reflect reality as otherwise it will be
resolved from the template and excludes the arm64.

Change-Id: I39972e47ba2a0ab9fe4322c844b60383187a762b
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2021-04-23 06:02:47 +00:00
Toni Saario 02cc128cdc Enable macOS target on ARM HW on all modules
Change-Id: I3528a2bca79f20345926e61f3eef715fc63d84e8
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2021-04-20 17:25:36 +03:00
Alexandru Croitor 1306da8f92 macOS: Build universal Qt for macOS
Build a universal macOS targeting Intel x86_64 and Apple Silicon
arm64 using the fat library technique. It will be our new Packaging
configuration for macOS.

Rename the Id of the configuration to
'macos-latest-xcode-universal-packaging-build'.

x86_64 is the main config test architecture.

The arm64 slice of the Qt build lacks certain functionality:
 - no qdoc, lupdate, etc due to missing arm64 llvm packages
 - no postgresql and odbc sql plugins due to missing
   arm64 3rd party libraries
 - no openssl due to missing arm64 library
 - no JIT support in QtQml, due to limitations in the current fork
   of the javascript engine

Task-number: QTBUG-85447
Change-Id: If2a70f192a54d6f98137e05e5b938d118b6d1d1d
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2021-04-20 13:32:31 +02:00
Alexandru Croitor 15e37e994d macOS: Don't specify OpenSSL path for macOS configurations
Currently the qtbase configure system always chooses to use
SecureTransport on macOS configurations, even if a usable OpenSSL is
found.
As it is, there's no point to pass the OpenSSL location as a
configure argument because one might get confused to think that Qt
will be built with OpenSSL support (it won't).

There is work in progress to allow building Qt Network with support
for multiple ssl backends, but until that work is finished, remove the
configure argument to avoid confusion.

Change-Id: Ib91f0b85edc580145a78ab38aba7718e90a95240
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2021-03-29 15:10:49 +01:00
Heikki Halmet c8a55fece5 New images with accessibility for squish for macOS 10.15 and 11.0
Pick-to: 6.1
Task-number: QTQAINFRA-3559
Change-Id: I9a9d4c4f01f883c83adbd097d8045012e198c4fe
Reviewed-by: Johanna Äijälä <johanna.aijala@qt.io>
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2021-02-22 07:20:02 +00:00
Tor Arne Vestbø 56e4095765 coin: Make macOS 11 packaging and developer build tests significant
All tests should pass now.

Change-Id: Iaa4c21d86ef9d6c733ea10b81feb0b26a6b6e8ca
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2021-02-17 11:24:30 +01:00