Commit Graph

1858 Commits

Author SHA1 Message Date
Morteza Jamshidi
24053c7dce Add webview2 plugin to windows 10 node in the CI
Add a script to download windows app sdk and webview2 to be used for CI
This script downloads NUGET, then tries to download Windows App SDK,
WebView2 and CppWinRT libraries and sets appropriate environment paths
to be used later by webview2 plugin.

Task-number: QTBUG-128447
Task-number: QTBUG-75747
Change-Id: I1b7ff29b1870d0445034590d01caa503c9e3ae0f
Reviewed-by: Toni Saario <toni.saario@qt.io>
(cherry picked from commit e95025936a)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-07-02 23:47:00 +02:00
Elias Toivola
4b0354d4f4 wasm: set cache files for Emscripten 4.0.7
Files were prebuild by cloning emsdk repo in their respective VM
produced by Coin provisioning, and running './emsdk install 4.0.7' and
'./emsdk activate 4.0.7' in macOS 15 and OpenSUSE 15.6. And just
'./emsdk install 4.0.7' in Windows 10.

This amends 5510396f4d9f175e7f61a953ea0722ce57d059d4

Task-number: COIN-1232
Change-Id: Ifa768173093c4b6b90599d0fff8b34a1db8b1bbc
Reviewed-by: Lorn Potter <lorn.potter@qt.io>
(cherry picked from commit 82b1992011)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-07-02 05:23:33 +00:00
Elias Toivola
10faee473f wasm: set EMSDK_PYTHON to Python installed in provisioning
Emscripten 4.0.7 requires Python +3.8, OpenSUSE does have Python 3.11
but its path is only set to PYTHON3_EXECUTABLE envvar defined in
08-pythondev.sh.

OpenSUSE 15.6 comes with Python 3.6.15 which the previous emscripten
3.1.70 used.

Change-Id: Ied63ace32b7fb252d124ad447bc56dba353ff403
Reviewed-by: Lorn Potter <lorn.potter@qt.io>
(cherry picked from commit 7471b6b6d2)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-07-02 05:23:31 +00:00
Lorn Potter
8734d6ee50 wasm: update to Emscripten 4.0.7
Change-Id: I687b2a16df17a626febc3fb87cae21240f6521ed
Reviewed-by: Piotr Wierciński <piotr.wiercinski@qt.io>
(cherry picked from commit 7a9387e445)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-07-02 05:23:29 +00:00
Tim Blechmann
37880472c7 provisioning: install flite for ubuntu 24.04, debian 11 and rhel
The flite plugin for QtSpeech wasn't tested on CI as the development
files weren't installed.

Pick-to: 6.9 6.8
Change-Id: Ieefe42f67009b99cc95f54567f224972d12c1538
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
Reviewed-by: Tim Blechmann <tim.blechmann@qt.io>
(cherry picked from commit fb878af9e7)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-07-02 05:23:27 +00:00
Toni Saario
8f40282cb7 Update VxWorks builds and images to 25.03
VxWorks version update to 25.03 from 24.03.
Removed xf86drm patch.

Change-Id: Idd5930fae79c68bc6c14cba5245404de9e851ef8
Reviewed-by: Matti Paaso <matti.paaso@qt.io>
(cherry picked from commit 4c3fe22380)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-06-25 19:48:12 +00:00
Toni Saario
8fb747f92e Coin: VxWorks x86_64 add -enable-kvm parameter
This makes the qemu virtualize the target rather than emulating
it. Virtualization allows few times better performance in tests.

Pick-to: 6.9
Change-Id: I7a5f7e3e2b04c52034325459ef05bfc0dce5d0b7
Reviewed-by: Simo Fält <simo.falt@qt.io>
(cherry picked from commit ecff7e6ddc)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-06-25 19:48:06 +00:00
Nils Petter Skålerud
0a2446205f Coin, FFmpeg, iOS: Add output parameter to 'install-ffmpeg-ios.sh'
This patch adds an optional parameter to the provisioning script
'install-ffmpeg-ios.sh', allowing us to override the output directory
for which the finalized library is installed.

This is particularly useful for local builds, where we often need
multiple different versions of FFmpeg installed, for different Qt
versions.

This patch has no impact for existing coin workflows.

Pick-to: 6.9 6.8
Change-Id: Ib0764eb29b84ae8badcfb48424f86316f3b2b650
Reviewed-by: Simo Fält <simo.falt@qt.io>
(cherry picked from commit 0e5937c8a4)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-06-25 19:48:02 +00:00
Nils Petter Skålerud
2f2c8bf347 Coin, FFmpeg, iOS: Apply 'prefix' consistently
In the provisioning script 'install-ffmpeg-ios.sh', we have a variable
'prefix' controlling where to install the finalized library. The value
of this prefix is sometimes hardcoded into some of the temporary build
directories, making the script break if we actually modify the 'prefix'
variable. This means we currently cannot easily change the output
directory.

This patch modifies 'install-ffmpeg-ios.sh' so that the 'prefix' is
applied consistently throughout the script, allowing us to change
the output directory in the future.

Pick-to: 6.9 6.8
Change-Id: I3458984aa22f8c82ed4d0bfac8ac8e71356e8789
Reviewed-by: Simo Fält <simo.falt@qt.io>
(cherry picked from commit d72ace1a0d)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-06-25 19:47:58 +00:00
Nils Petter Skålerud
298d280d64 Coin, FFmpeg, macOS: Add output parameter to 'install-ffmpeg-macos.sh'
This patch adds an optional parameter to the provisioning script
'install-ffmpeg-macos.sh', allowing us to override the output directory
for which the finalized library is installed.

This is particularly useful for local builds, where we often need
multiple different versions of FFmpeg installed, for different Qt
versions.

This patch has no impact for existing coin workflows.

Pick-to: 6.9 6.8
Change-Id: If31922e931db19ab189850b975ce0131a64321b4
Reviewed-by: Simo Fält <simo.falt@qt.io>
(cherry picked from commit 708548742b)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-06-25 19:47:55 +00:00
Elias Toivola
00d2f82e35 Provisioning: Disable Windows multicast device discoveries
Our CI does not need some mDNS multicast services by Windows and they
are spammed by Windows VMs in network with mdns.mcast.net requests.

Pick-to: 6.9 6.8 6.5
Task-number: QTQAINFRA-6761
Change-Id: Ie676f94b81e7281ec84d9fbbfa2fd7f1d28dfbca
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
(cherry picked from commit 066371f7cd)
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
2025-06-24 11:49:51 +00:00
Elias Toivola
2fe0aec0da Windows: Enable LSO back
Large Send Offload (LSO) was originally disabled because it caused
deterioration in network throughput but the cause of that deterioration
is now fixed in infra and LSO should be enabled back as it improves
network performance. LSO is enabled in Windows by default.

Pick-to: 6.9 6.8 6.5
Task-number: QTQAINFRA-7236
Change-Id: I243632d958007142792df0cbd9a341fb2b86df69
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
(cherry picked from commit 4aaba78cb4)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-06-24 11:49:51 +00:00
Nils Petter Skålerud
62fed89867 Coin, FFmpeg, Android: Fix nightly FFmpeg build folder (Unix)
Previous patch 75fea893b1 introduced
a small bug where multiple nightly builds of FFmpeg were being
outputted into the same directory, effectively causing them to
overwrite each other.

This patch gives the nightly builds their own subfolder for outputted
library files.

Task-number: QTQAINFRA-7069
Change-Id: I5f7e111708aecedd2817888948b77b8163f0452d
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
(cherry picked from commit 303b4c13dc)
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
2025-06-24 10:36:59 +00:00
Elias Toivola
980cd3659a Build FFmpeg with each Android NDK version
Multiple Android NDKs are installed in provisoning. FFmpeg build uses
NDK in its build process for Android, so this change makes provisioning
build multiple Android FFmpeg builds, so each Android nightly can use a
FFmpeg build where its corresponding NDK version was used.

Task-number: QTQAINFRA-7069
Change-Id: Ie4457c87b7b75e0c711a76bd8170e718cbda445d
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
(cherry picked from commit 75fea893b1)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-06-24 10:36:53 +00:00
Elias Toivola
03f8208be9 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.

Task-number: QTQAINFRA-7069
Change-Id: Ie176c5ea69a1398afa69691ad6f37b7af2f66dfc
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
(cherry picked from commit bf04a7a94d)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-06-24 10:36:51 +00:00
Rami Potinkara
09ea302a62 Provisioning: Remove OpenSSL 1
This patch removes OpenSSL 1 related sections.

Task-number: QTQAINFRA-7069
Change-Id: If565fb2223b17497553a77fda47fe9dfbdccb32a
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
(cherry picked from commit 16d8060467)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-06-24 10:36:48 +00:00
Elias Toivola
ac22ffaf57 Android: set nightly targets for older NDK versions
This change makes provisioning also install older NDKs for Android,
which will be used in nightly targets.

Task-number: QTQAINFRA-7069
Change-Id: Ia8695383e94df282822da9019c33f1004a879bf6
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
(cherry picked from commit 687b73cde0)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-06-24 10:36:45 +00:00
Elias Toivola
30a92ce1f2 Set-EnvironmentVariable helper: apply envvar to current PS session
When you use the helper to set an envvar in provisioning, you can not
reference the machine scoped variable in a later .ps1 script in the same
provisoning run using the direct/static reference '$env:NAME', instead
you have to use a more verbose method with e.g. 'Get-Item' cmdlet and/or
set the envvar additionally to the process scope yourself.

This change makes the helper also add process scope to the envvars, this
way envvars set in provisioning can be simply referenced with
'$env:NAME' in later provisioning scripts, which is consistent with the
way you can use SetEnvVar helper in Unix and directly reference the
envvar with just its variable name in later .sh scripts.

This change also removes duplicate local scope envvar definitions now
that Set-EnvironmentVariable helper does it.

Change-Id: I804fa8f8dfce742a84e8b4bc077f466820589f7e
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
(cherry picked from commit 33ff9ebc9e)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-06-24 10:36:41 +00:00
Liang Qi
aa988a044e Provisioning: Add Axivion bauhaus suite in Ubuntu 24.04 x64
Change-Id: Ie8617a00d1a2612a478caa534d5d80ca4fcd0a3c
Reviewed-by: Matti Paaso <matti.paaso@qt.io>
(cherry picked from commit 1bbbc59714)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-06-23 04:27:03 +00:00
Nils Petter Skålerud
a4ed8c5c71 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.9 6.8
Task-number: QTBUG-137582
Change-Id: Ia13b8f190938b44b8a14fc8c796912910a8d6d88
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
(cherry picked from commit b3aee1c583)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-06-20 19:04:08 +00:00
Nils Petter Skålerud
64ee2cb321 Coin, FFmpeg: Check for valid envvars in install-ffmpeg-android.sh
This script requires that we have setup specific environment variables
ahead of time. If they are missing, we are prone to receiving
non-descriptive error messages.

This patch adds checks for the required environment variables, and
gives useful error messages if they are not set correctly.

Pick-to: 6.9 6.8
Change-Id: I0cfb99187f303b22dbdd46a7a848b85dbf571aad
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
(cherry picked from commit 0583292728)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-06-18 20:45:48 +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
Liang Qi
ef73e7eaa6 Linux: install devel package for libxcb-util
It's needed for static linking with static xcb libs.

xcb-image depends on xcb_aux.h which is in xcb-util package.

Debian-11.6, Ubuntu, openSUSE, SLES already have it.

Pick-to: 6.9 6.8
Task-number: QTBUG-137004
Change-Id: Iffb9ab7d62a2bea3cb8e27354d25957c49911859
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
(cherry picked from commit 3d9bbd5324)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-06-18 05:19:05 +00:00
Elias Toivola
fc4ab56529 SLES 15 SP6: Install gcc11 instead of gcc10
gcc10 was removed from official and SUSE community repositories for SP6.
The missing gcc10 is blocking provisioning so install gcc11 instead. SP5
still has gcc10 and it is active in dev branch.

Task-number: QTQAINFRA-7187
Change-Id: Ie7c9f2175553c29654cf5b358ead6dd76e635d60
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
(cherry picked from commit 10f0d1443c)
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
2025-06-17 12:14:19 +03:00
Marianne Yrjänä
e7075b5472 QNX: Add QXN8.0 to Ubuntu24.04 provisioning
Pick-to: 6.9 6.9.1 6.8
Change-Id: I5a4011ce5f23517d4dd7c9f64738e7be97b4c73d
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
2025-05-19 07:22:59 +00:00
Nils Petter Skålerud
03d15483a1 Coin, FFmpeg, macOS: Apply 'prefix' consistently
In the provisioning script 'install-ffmpeg-macos.sh', we have a variable
'prefix' controlling where to install the finalized library. The value
of this prefix is sometimes hardcoded into some of the temporary build
directories, making the script break if we actually modify the 'prefix'
variable. This means we currently cannot easily change the output directory.

This patch modifies 'install-ffmpeg-macos.sh' so that the 'prefix' is
applied consistently throughout the script, allowing us to change
the output directory in the future.

Pick-to: 6.9 6.8
Change-Id: Id0b1bb23513b7bccf02f0c4073e4177f651792dd
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
2025-05-18 11:12:05 +02:00
Eike Ziller
ae3484739c COIN: Provision golang and upx on Ubuntu24/ARM
This is needed for building cmdbridge for remote Linux support
in Qt Creator. This got lost for Linux/ARM prebuilt packages for
Qt Creator when moving from Debian/ARM to Ubuntu24/ARM.

Task-number: QTCREATORBUG-32928
Pick-to: 6.9 6.8
Change-Id: Ic993eaadacec21882e1e2f1b6e0d73bc4ffbf6d4
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
2025-05-18 11:12:01 +02:00
Tony Sarajärvi
f77919a48b Provisioning: Disable Windows Delivery Optimization service
We don't want Windows VMs to spam mDNS messages about optimizing
Windows updates, when the updates themselves are disabled.

Pick-to: 6.9 6.8
Task-number: QTQAINFRA-6761
Change-Id: I1452ebbb612f784c96f07de0a29cb2cfb54f1e75
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
2025-05-15 12:39:22 +00:00
Alexey Edelev
9c39ae1424 Point to protobuf install prefix but not the CMake dir in protobuf_ROOT
The <Package>_ROOT should point to the package prefix, where
CMake should look for the respective cmake/, lib/cmake, and other
CMake package directories. Setting directly it to package path is
incorrect.

Pick-to: 6.8 6.9
Change-Id: Id8859c29da08144c60ed3d6301d2c65c8d602d1f
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2025-05-15 06:19:45 +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
Axel Spoerl
3145c3a5ed Add windows provisioning script for CI network test
Provision and run the test script on Windows in warn-only mode.

Task-number: QTQAINFRA-6796
Change-Id: I06fdfc44109017deb5eaacd3811930b98f1a10f7
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
2025-05-14 21:18:05 +02:00
Rami Potinkara
8f51576951 Coin: Add Android 16 to CI as insignificant
This patch introduces Android 16 as insignificant to CI.

Task-number: QTBUG-132638
Pick-to: 6.9 6.8
Change-Id: I29577503c50440d6b4821b1b7d6a5135935bf365
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
2025-05-14 22:18:02 +03:00
Cristian Le
f104eb4132 Add python dependencies for json schema validation
Change-Id: I34a1f603e1d293ee7b898c52a7a3fcbec599c7d6
Reviewed-by: Simo Fält <simo.falt@qt.io>
2025-05-07 17:41:37 +02:00
Cristian Le
0fe2d4c7a4 Add python version marker to sbom requirements
Avoids needing a special handle for the RHEL8 runner

Change-Id: I8e6131e3b3da35d66b86a8371f31c8680049a90d
Reviewed-by: Simo Fält <simo.falt@qt.io>
2025-05-07 17:41:34 +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
Nils Petter Skålerud
9c7e564d7e Coin, iOS, FFmpeg: Stop installing .dylibs in iOS FFmpeg provisioning
On iOS we no longer deploy FFmpeg .dylibs directly. As such, there is
no need to install the .dylibs during provisoning.

This patch removes this installation step during provisioning.

Pick-to: 6.9 6.8
Change-Id: I6f901113caca4b8d602490ba05db0c9dacb8f80d
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2025-04-29 06:15:00 +00:00
Tor Arne Vestbø
e19ea33f09 Bump build host for macOS to macOS 15
Which gets us Xcode 16, with the macOS 15 SDK.

Pick-to: 6.9
Change-Id: I755c27f64f903b281f5d1c7947fbf370ddc3ee17
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
2025-04-14 11:13:20 +02:00
Elias Toivola
3fc4fe9e00 Add Windows 11 24h2 x86_64 UEFI with non-blocking tests
There are two image templates right away: -70 is Windows 11 with no
Visual Studio or Windows SDK ever installed. -71 includes VS2022 17.9.1
(MSVC 14.39.33519) and Windows SDK 10.0.26100.1742

Image changes compared to 23h2:
- VS2019 is left out as it's no longer used in provisioning scripts.
- Old DirectX installation (10-dxsdk.ps1) is left out. It's legacy,
  originally used for Windows 7, and newer libraries should be found
  from Windows SDK.
- 08-libclang-v100-dyn.ps1 is removed as it's no longer used. It had
  dependency to VS2019.
- These images use UEFI instead of BIOS.
[CI Platforms]

Task-number: QTQAINFRA-6734
Task-number: QTQAINFRA-6823
Change-Id: I53a62c74b07d7fbfc9b1afbe44444272ae7c51e7
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
2025-04-11 08:43:08 +00:00
Paul Wicking
8c9fe2074b Update Clang libraries for QDoc to 20.1.0
* Update the version variable used to identify the correct package for
  download and cache sites.
* Update SHA1 for provisioning packages on all platforms.

Fixes: QTBUG-134304
Pick-to: 6.9 6.8
Change-Id: I2577600296e75080d503dc1a537ddbc00d0f207f
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
2025-04-11 08:37:59 +01:00
Paul Dubsky
24bba3c8b5 Update FFmpeg version to n7.1.1
Task-number: QTBUG-134621
Pick-to: 6.9 6.8 6.5
Change-Id: I6255f615be533521bf1c3da85b29f96e855197e1
Reviewed-by: Bartlomiej Moskal <bartlomiej.moskal@qt.io>
Reviewed-by: Tim Blechmann <tim.blechmann@qt.io>
2025-04-07 20:30:30 +02:00
Nils Petter Skålerud
d39ac6a4ec iOS, FFmpeg: Add variable for controlling minimum iOS version
Currently this script relies on hard-coded values specify minimum
iOS version to link against.

This patch unifies the hard-coded values into a single variable.

No functional changes.

Pick-to: 6.9 6.8
Change-Id: I12bddeb53f0fe3388ea55c841a9864722a1d5f82
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2025-04-04 16:57:51 +00:00
Nils Petter Skålerud
c4315452cb iOS, FFmpeg: Improve variable naming in FFmpeg provisioning
Currently this script overwrites a local variables and reuses it for
a (slightly) different purpose. This makes the code a bit hard to
follow.

This patch introduces a separate local variable to improve readability.

No functional changes.

Pick-to: 6.9 6.8
Change-Id: Ifa1904482f498d9b380d1ed19ab6b0104afda19b
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
2025-04-01 05:36:01 +01:00
Nils Petter Skålerud
aa613ed85d iOS, FFmpeg: Replace arm64-simulator build with x86_64
Currently this provisioning script builds for arm64 architecture
when on iOS simulator. Qt ships x86_64 binaries for iOS simulator, and
we should build FFmpeg similarly.

This patch introduces support for x86_64-simulator in the iOS FFmpeg
provisioning script and uses it in place of arm64-simulator.

Pick-to: 6.9 6.8
Task-number: QTQAINFRA-7034
Change-Id: Ie93cffba51924cd1d78651d20dec211817cb0cef
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
2025-04-01 05:35:53 +01:00
Timur Pocheptsov
d7d7c522b6 install-ffmpeg-ios.sh: remove redundant configure options
While writing a documentation for FFmpeg build on iOS it was found that
many options are redundant. Remove them to simplify the provisioning
script and to reduce the amount of cargo cult code.

Pick-to: 6.8 6.9
Fixes: QTBUG-133502
Change-Id: I26aab49365eaca83bcdbfeb86de0638ac701bb80
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
2025-04-01 04:35:47 +00:00
Artem Dyomin
a442e4893f Improve the script fix_ffmpeg_dependencies
* add FFmpeg stubs to the 'Required.private' section.
  This will make the logic more robust after integration this
  in qt multimedia.
* add some script comments.
* fix shellcheck.
* add validity checks.

Pick-to: 6.8 6.9
Change-Id: I28639d21c7210109e52ff98ce682da51f8744287
Reviewed-by: Jøger Hansegård <jogerh@gmail.com>
Reviewed-by: Pavel Dubsky <pavel.dubsky@qt.io>
2025-04-01 04:35:41 +00:00
Nils Petter Skålerud
07775b2ad2 Android, FFmpeg: Allow specifying target output in FFpeg install script
The provisioning script install-ffmpeg-android.sh can be useful to run
locally to make sure we build FFmpeg with the same configuration as we
do in CI.

This patch introduce an optional parameter to this provisioning script
that allows us to specify where to install the compiled binaries.

Pick-to: 6.9
Change-Id: I7ea30bffa4753ac1fab707ed2876ddcbbca06175
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
2025-04-01 04:35:30 +00:00
Artem Dyomin
151c0dd58f Cleanup in install-ffmpeg-android.sh
Non-functional changes:
* fix alignment
* add the keyword 'local' to local function variables

Pick-to: 6.8 6.9
Change-Id: I28639d28c7211809e52f118c1612db52f8954286
Reviewed-by: Jøger Hansegård <jogerh@gmail.com>
Reviewed-by: Pavel Dubsky <pavel.dubsky@qt.io>
2025-04-01 04:35:22 +00:00
Tero Heikkinen
ebcc9a1d10 Provisioning: Add Root Certificate update for Windows
Windows usually updates certificates once a week, but due
to disabling Windows background updates there is need to
install and update certificates manually.

Updating certificates during provisioning is selected method
as it's aligned with the same procedure how linux machines have
handled the same.

Task-number: QTQAINFRA-7001
Pick-to: 6.9 6.8 5.15
Change-Id: I7c077b5e08328b12c481a3501736f06baf85e71e
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
Reviewed-by: Matti Paaso <matti.paaso@qt.io>
2025-03-31 07:21:38 +02:00
Aku Pietikäinen
cf026224dd Add missing escape when adding Homebrew to PATH
Task-number: QTQAINFRA-6903
Pick-to: 6.9 6.8 6.5 5.15
Change-Id: I2f97621d3413df17f9b969113e863974bd739cac
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
2025-03-31 07:21:36 +02:00
Tero Heikkinen
882e6e61af Fix System's openssl version read for openSUSE 15.6
openSUSE 15.6 doesn't have explicit openssl-3,
same was earlier seen with SLES 15.6 as well.

Therefore System's OpenSSL is read from openssl.

Pick-to: 6.9 6.8
Change-Id: I38d81b5484732e225036530e5326433ab90ef92b
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2025-03-31 07:21:34 +02:00