Commit Graph

2019 Commits

Author SHA1 Message Date
Allan Sandfeld Jensen
94c844fd4d Install rust toolchain on Debian based platforms
Needed for future QtWebEngine updates

Pick-to: 6.11 6.10
Change-Id: Ic2f42f9030a9bdf6f09c0004e035f4f36792cb56
Reviewed-by: Moss Heim <moss.heim@qt.io>
2026-01-26 16:12:18 +01:00
Ivan Solovev
3407ced707 Provision golang and maven on macOS 26 Intel
They are required to build the Qt OpenAPI module.

Amends 3a7f17e0cd which introduced this
platform.

Task-number: QTBUG-138968
Change-Id: I2fd7b08d7acdd5dbaa89e712968e0b91dcc83839
Reviewed-by: Tatiana Borisova <tatiana.borisova@qt.io>
Reviewed-by: Simo Fält <simo.falt@qt.io>
2026-01-22 12:10:15 +00:00
Tim Blechmann
1a9daf1574 FFmpeg: pass minimum deployment target as extra compiler flags
When building on iOS, the minimum deployment target was only declared as
linker flags for the libary. However the flags can affect the run-time
features by potentially enabling APIs or affecting codegen if the
compiler can assume that certain CPU features are present.
We should therefore pass the minimum deployment target as compiler flags
as well as linker flag.

Pick-to: 6.11 6.10 6.8 6.5
Change-Id: If9b96fb31bf4173da2e4c574c1c080be075851b8
Reviewed-by: Nils Petter Skålerud <nils.petter.skalerud@qt.io>
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
2026-01-22 20:10:13 +08:00
Tatiana Borisova
e5871fa6e6 Update the openapi-generator-cli version to the latest 7.18.0
- the newest 7.18.0 has some generation updates,
that affect named inline objects generation. It may be
useful from testing perspective to have the latest version
on CI.

Pick-to: 6.11
Change-Id: Iaaaae823b7ccc1496f83e5af845bfcfa7999767f
Reviewed-by: Simo Fält <simo.falt@qt.io>
2026-01-22 13:10:10 +01:00
Tero Heikkinen
1e25956312 RHEL 10: Point SBOM_PYTHON_APPS_PATH to virtual env for sbom2doc
Currently sbom2doc is not found with RHEL 10 until this other fix
in qtbase is available: 2dc0c29502bec1ffffbbf098d749a49b494122ac

After that this temporary fix could be removed and proceed to
unify virtual env usage for all linux machines (QTQAINFRA-7642)

Pick-to: 6.11
Task-number: QTQAINFRA-7203
Change-Id: I97adf937afa78371b290baa833c767a106c4c15e
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2026-01-22 14:10:06 +02:00
Tero Heikkinen
28f9120718 Provisioning: Take repo-clones into use in RHEL 10
Pick-to: 6.11
Task-number: QTQAINFRA-7614
Change-Id: If766b511e367a64691a8eb0683c1fdc698d3fa05
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
2026-01-22 14:10:04 +02:00
Tero Heikkinen
4d4e6bb490 RHEL 10: Take rhc into use with subscription activation
Both of the subscription activation options needs to run
with sudo as non-root user cannot connect system.

Pick-to: 6.11
Task-number: QTQAINFRA-7637
Change-Id: I933536d7321b9a7e54732395b6e536c5275129d3
Reviewed-by: Toni Saario <toni.saario@qt.io>
2026-01-22 14:10:02 +02:00
Tero Heikkinen
88177e9ab8 sbom: Create virtual env for RHEL 10.0 Python 3.12 requirements
With Python 3.12 SBOM needs jsonschema package newer than 4.19
but cannot uninstall current one installed by RPM:

Error:
  Attempting uninstall: jsonschema
    Found existing installation: jsonschema 4.19.1
error: uninstall-no-record-file
× Cannot uninstall jsonschema 4.19.1

Therefore virtual env is used to fix this.

Pick-to: 6.11
Task-number: QTQAINFRA-7554
Change-Id: I1260ef7fdf0c1ba96acaee1738ed9612e47bedad
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2026-01-22 14:09:59 +02:00
Alexandru Croitor
6348aa919b sbom: Explicitly install jsonschema package newer than 4.19
Because RHEL 10 comes with an older version of jsonschema (4.19),
which breaks cyclonedx verification at qtbase runtime.

Pick-to: 6.11
Change-Id: Ib7044b6d4107e5382015adfdd8eb747be8605934
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2026-01-22 14:09:57 +02:00
Alexandru Croitor
30d874ad79 sbom: Bump cyclonedx package to latest 11.5.0
This brings cyclonedx 1.7 support.

Pick-to: 6.11
Change-Id: Id525d07ea1f7d342bf3e683e3a7c64c064c6e4c4
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2026-01-22 14:09:55 +02:00
Tero Heikkinen
c399d002de Add RHEL 10.0 with non-blocking tests in CI
Notes
  - GCC 14
  - Wayland is mandatory to use as X11 has been removed
  - DISPLAY=:0 should not be used anymore as it's for X11
  - Java JDK 21
  - mysql replaced by mariadb
  - gstreamer1-plugin-openh264 not available
  - nodejs-16 upgraded to nodejs-22
  - Squish is no longer installed in provisioning
  - SBOM needs jsonschema > 4.19 to work with Python 3.12
  - Has these to bypass 'Activities Overview'
    - 'GNOME Classic' Desktop Session
    - 'No Overview' GNOME extension
  - 7z >= 25.01 multi-hop symlinks restricted with -snl switch levels
    --> 7z x -snld10 allows minimal usage to use multi symlinks

EGL support
  - No longer need to install mesa-libEGL with pinned version
  - As there is no longer Xorg to crash when Wayland is used instead

Pick-to: 6.11
Task-number: QTQAINFRA-7203
Task-number: QTQAINFRA-7202
Change-Id: If8b7bfdbc2b84259fd09276e0566b3967c364668
Reviewed-by: Simo Fält <simo.falt@qt.io>
2026-01-22 14:09:52 +02:00
Elias Toivola
3a7915481f RHEL 8 & 9: Take rhc into use with subscription activation
Both of the subscription activation options needs to run
with sudo as non-root user cannot connect system.

Task-number: QTQAINFRA-7637
Pick-to: 6.11 6.10 6.8 6.5
Change-Id: I05ea39e4c4a40b5294cc659e4d2e506ee0118848
Reviewed-by: Toni Saario <toni.saario@qt.io>
2026-01-19 07:10:42 +00:00
Matti Paaso
606a8b29c8 Provisioning: Remove system openssl3 on rhel 8
openssl3 package installation started to fail in provisioning due
to missing dependencies. Removing installation, and rely on self
compiled version of openssl3 (09-openssl.sh). Set PKG_CONFIG_PATH
to the built openssl.

Task-number: QTQAINFRA-7620
Pick-to: 6.11 6.10 6.8 6.5
Change-Id: I4626fffe2de669686fd76b054018fb4f98983e36
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
2026-01-17 18:23:26 +00:00
Tero Heikkinen
51bcd64151 Fix failing repo-clones in provisioning with correct URL
Switching repo-clones.ci.qt.io --> repo-clones-apt.ci.qt.io
with testserver where it was missing. Removes temp quick fix.

Replace also ping check towards new repo-clones-apt server.

(amends 13487118df)

Pick-to: 6.11 6.10 6.8 6.5
Task-number: QTQAINFRA-7632
Change-Id: Iff32904aeb9c66f4c76cd1dd0e3d468ca0e9dabd
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
2026-01-17 20:23:24 +02:00
Nils Petter Skålerud
b9c677baad Android, FFmpeg: Explicitly set page-size for patchelf
Android arm64 and x86_64 builds now require 16KB page size alignment in
native binaries, this includes FFmpeg. When running patchelf on the
binaries, it will implicitly re-align the affected sections to 4KB page
size.

This patch solves this by using the --page-size flag for patchelf, only
for the builds that require it.

Pick-to: 6.11 6.10 6.8
Fixes: QTBUG-142332
Change-Id: Iba88bf702fd075d2b4432d9cde94f779b14de52f
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
2026-01-17 19:23:20 +01:00
Pavel Dubsky
90d17e93a9 Update FFmpeg version to n7.1.3
Task-number: QTBUG-142159
Pick-to: 6.11 6.10.2 6.10 6.8 6.5
Change-Id: I139e4961185d5a88900ba9582a4f8ce10e7ea4c1
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
Reviewed-by: Tim Blechmann <tim.blechmann@qt.io>
Reviewed-by: Elias Toivola <elias.toivola@qt.io>
2026-01-17 18:23:17 +00:00
Fredrik Ålund
6568c2622c Remove unused variable in the Mimer SQL installation script
Remove unused variable in the Mimer SQL installation script for macOS
to get rid of warnings

Change-Id: I10445efcb1eb174881b4696869b7ee62e87416b7
Reviewed-by: Fredrik Ålund <fredrik.alund@mimer.com>
Reviewed-by: Aku Pietikäinen <aku.pietikainen@qt.io>
Reviewed-by: Simo Fält <simo.falt@qt.io>
2026-01-13 21:08:08 +02:00
Matti Paaso
31ea7c6c4a Provisioning: Update Axivion bauhaus-suite
Update tool from 7.10.5 into 7.11.1

Task-number: QTQAINFRA-7596
Pick-to: 6.11 6.10 6.8
Change-Id: Iafb54207d654c484b27f5e8de701f3946b6e1aa6
Reviewed-by: Aku Pietikäinen <aku.pietikainen@qt.io>
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
2026-01-13 08:38:49 +02:00
Tero Heikkinen
4d1ec89791 Temp quick fix for failing repo-clones in provisioning
Skip repo-clones.ci.qt.io with testserver where it should
use repo-clones-apt.ci.qt.io. Permament fix ongoing.

(related 13487118df)

Pick-to: 6.11 6.10 6.8 6.5
Task-number: QTQAINFRA-7632
Change-Id: I22bae5dfc96df82bb308233ec895f7164f4cc629
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
2026-01-12 22:06:20 +02:00
Oleksii Zbykovskyi
2450189a4f Initial installation of the virtual camera on Windows
It's not possible to test video APIs in CI, when they require hardware.
Install a virtual camera driver on Windows, that can be used in autotests.

Steps for installation and configuration of vcam are:
install vcam from GitLab, restore NuGet packages and build the solution,
register the created DLL in the win register, and set the env. variable.

Task-number: QTBUG-139831
Change-Id: I963aca94e980440dc96e6998e3cd6de387dd80e9
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
Reviewed-by: Nils Petter Skålerud <nils.petter.skalerud@qt.io>
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
2025-12-29 19:46:20 +01:00
Matti Paaso
a1289ed5d5 Fix Axivion analysis module database name
Task-number: QTQAINFRA-7599
Pick-to: 6.11 6.10 6.8
Change-Id: Ie89be9ede1bc36b0ca776d45fb8df8d82cc5d3d3
Reviewed-by: Aku Pietikäinen <aku.pietikainen@qt.io>
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
2025-12-29 08:10:23 +02:00
Simo Fält
bee5ded33b Provisioning: Install debhelper-compat to Ubuntu 22.04
We need this to be able to create some dependency debian packages.

Pick-to: 6.11
Change-Id: Ic4f3259f8bf29fa19c10394b63634f1512db47bc
Reviewed-by: Aku Pietikäinen <aku.pietikainen@qt.io>
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
2025-12-23 15:17:20 +00: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
4456a7f592 Move linux vcpkg and vcpkg-ports installation files to a common unix directory
These scripts are generic for both linux and macos, we may parameterize
them and reuse on both platforms.

Change-Id: Ia61cfbbf5c91e2135e38253c4a96605015d2d1b6
Reviewed-by: Alexey Edelev <semlanik@gmail.com>
2025-12-20 19:38:10 +01:00
Alexey Edelev
da911f9b20 Unify the vcpkg manifest location
There is not particular reason to hold multiple manifests for the vcpkg
for different platforms, since we expect that the direct dependency set
that is used from vcpkg will remain the same on each platform.
Keeping copies of the vcpkg manifest doesn't make much sense.

The vcpkg manifest and configuration file are now in the
coin/provisioning/common/shared/vcpkg directory.

Change-Id: Icc9c88592c68cb591216f3d0668f9984592d6c7b
Reviewed-by: Simo Fält <simo.falt@qt.io>
2025-12-20 19:38:08 +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
Oleksii Zbykovskyi
f032c3156d Install NuGet in a separate file
Made an installation of NuGet in a separate script to be able to share
the packages by an environment variable between multiple scripts.
NuGet is needed for both the Windows App SDK and a virtual camera.

Also added a label on top of the scripts about copyright and license.

Change-Id: I11f035d8eb107d2d2c9e2a93f17a935129bb707e
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
Reviewed-by: Elias Toivola <elias.toivola@qt.io>
2025-12-18 09:46:54 +01:00
Simo Fält
dd0dae532f Provisioning: Install Workload.NativeDesktop .NET package
Change-Id: If28badaf1ddb6befca3bacd355f19c4298b96193
Reviewed-by: Elias Toivola <elias.toivola@qt.io>
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
2025-12-17 09:07:20 +02:00
Nils Petter Skålerud
c5a42f267f FFmpeg, Android: Use 'llvm-strip' from Android NDK explicitly
When running 'install-ffmpeg-android.sh' on Ubuntu hosts, it may fail
due to the FFmpeg build process using the host's 'strip' executable.
This causes the build to fail due to the 'strip' throwing an error
due to it not being able to recognize the format of the .so files for
the FFmpeg Android build.

This patch solves this by explicitly using the executable 'llvm-strip'
command from the Android NDK.

Pick-to: 6.11 6.10 6.8
Change-Id: Ia32c31e3e9d1f550a026f2684362e19d663a8863
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
2025-12-16 20:40:06 +01:00
Nils Petter Skålerud
e3966f2ffc Linux, FFmpeg: Make install-ffmpeg-linux.sh take an output parameter
Currently, this script is hardcoded to output to the directory
'/usr/local/'. This output is stored in the variable 'prefix'. However,
this variable is used inconsistently in the script, meaning we cannot
actually modify the variable to change the output directory.

This patch does the following:
- Applies the 'prefix' variable where necessary.
- Allows an optional command-line parameter to be applied to 'prefix',
allowing one to specify where the output directory. This is
particularly useful for local builds.

No changes to current CI behavior.

Pick-to: 6.11 6.10 6.8
Change-Id: I51f83ce3844c2aa9db778b1c54091acb64a227e6
Reviewed-by: Dimitrios Apostolou <jimis@qt.io>
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
2025-12-16 15:08:21 +01:00
Ville-Pekka Karhu
02beaf2090 Provisioning: Take repo-clones into use in RHEL 8
Pick-to: 6.10 6.8 6.5 5.15
Task-number: QTQAINFRA-7605
Change-Id: If368b7a648d8c97a0028ac834f74326a54d643d7
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
2025-12-16 09:28:03 +00:00
Rami Potinkara
45aeb45a6e Provisioning: update Gradle cache to Android SDK 36
This patch updates build.gradle to set compile- and
targetSdkVersion to 36.

Task-number: QTBUG-138552
Task-number: QTBUG-138549
Pick-to: 6.11 6.10 6.8
Change-Id: I44be99956f39e7bc23e8c5a3d15289dfdd574921
Reviewed-by: Nicholas Bennett <nicholas.bennett@qt.io>
2025-12-16 09:28:00 +00:00
Johanna Äijälä
4bff151490 Provisioning: cleanup, remove Squish installations
RTA is using different means to install Squish for RTA tests, no need
to do it in general provisioning.

Pick-to: 6.11
Change-Id: I4858a282ad7a0b1412f6dd0f4876109fe54a4c88
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
2025-12-16 11:27:57 +02:00
Rami Potinkara
2795f20a4e Provisioning: bump Android sdkBuildToolsVersion and sdkApiLevel to 36
This patch bumps:
-The sdkBuildToolsVersion used in Coin to 36.0.0
-The sdkApiLevel used in Coin to 36

Task-number: QTBUG-138550
Task-number: QTBUG-138549
Pick-to: 6.11 6.10 6.8
Change-Id: Ic63cd28ba39743e517ea3a3e2f9ec08bd5dc3267
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
2025-12-16 09:27:54 +00:00
Matti Paaso
c69a56646f Replace hard coded branch value with environment variable
Axvion analysis will be run also in release branches and this
prevents results to be mixed between brnaches.

Task-number: QTQAINFRA-7599
Pick-to: 6.11 6.10 6.8
Change-Id: I5766d234bce2054d0dc6999ae1cac3f05c197d0e
Reviewed-by: Aku Pietikäinen <aku.pietikainen@qt.io>
Reviewed-by: Toni Saario <toni.saario@qt.io>
2025-12-13 11:04:50 +02:00
Tim Blechmann
e9a003f0c3 provisioning: do not install libc++ on ubuntu
installing libc++-20-dev and libgstreamer1.0-dev on the same system
causes problems:
* using the llvm apt repo, it will uninstall libgstreamer1.0-dev
* using ubuntu's repo, it will break gstreamer's pkg-config integration

reason is that libgstreamer1.0-dev depends on libunwind-dev, but llvm's
libunwind-20-dev does not provide the pkg-config files.
as temporary workaround we basically revert
e5b56d1d37.

Pick-to: 6.11
Change-Id: Ib4626d17339256d56c4764e3167f4e9fe4b9c909
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
Reviewed-by: Liang Qi <liang.qi@qt.io>
2025-12-13 09:04:47 +00:00
Nils Petter Skålerud
df82dc7de2 FFmpeg, iOS: Store final .xcframework files in 'lib' folder
Currently, the iOS FFmpeg provisioning script will install .xcframework
files into a subfolder 'frameworks'. The .xcframework files fulfill a
similar purpose to ordinary .dylib files and should be placed in a
'lib' subfolder, to make provisioning more similar to how we deploy
FFmpeg for other platforms.

This patch makes us install .xcframework files in a 'lib' subfolder
instead.

Task-number: QTBUG-136480
Pick-to: 6.11 6.10
Change-Id: I91f9938b595ecff5b04d49a71e9872f5d7278cda
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
2025-12-13 09:04:39 +00:00
hjk
740e232f16 Disable more Axivion rules
This disables 12 more generally Mostly Harmless warnings to have a
realistic chance to get down to a base line of zero violations.

Later we can re-evaluate the disabled rules one by one and re-enable
them if wanted.

Change-Id: Id9fc2e4013fb7c59040868fea54f14dcda6cefe0
Reviewed-by: Matti Paaso <matti.paaso@qt.io>
2025-12-12 06:21:41 +01:00
Ville-Pekka Karhu
3a7f17e0cd Provisioning: Add macOS 26 Intel
Task-number: QTQAINFRA-7196
Change-Id: I56027e54391cbd90c8ff17ff670ad6551c3bcc0f
Reviewed-by: Simo Fält <simo.falt@qt.io>
2025-12-12 05:21:34 +00:00
Rami Potinkara
da6cc0ce0e Android: Android 16 as maximum supported version
This patch
- Replaces Android 15 with Android 16 as a maximum version
- Sets Android 16 as significant and switches to r07 version

Task-number: QTQAINFRA-7299
Task-number: QTQAINFRA-7298
Pick-to: 6.11 6.10 6.8
Change-Id: Ic2ac071da7ab1763225c82e441c27f60cc25fe06
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
2025-12-12 06:14:27 +02:00
Allan Sandfeld Jensen
2bd7830030 Update NodeJS to at least version 20
Needed for WebEngine based on Chromium 140

Pick-to: 6.10 6.11
Change-Id: I0cf1df1107cc8f5aa2850239608f03a7c7831676
Reviewed-by: Elias Toivola <elias.toivola@qt.io>
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
2025-12-10 12:23:37 +01:00
Nils Petter Skålerud
fb6a8b0215 Android, Unix: Move android_emulator_launcher.sh to unix folder
This script is currently located in the 'linux' directory. In future
patches, it will be reused by macOS and Linux hosts.

This patch moves it into the 'unix' folder.

Pick-to: 6.11 6.10 6.8
Change-Id: Ib03b999bef0373dc9600d505b1f4ce926fa97de6
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
2025-12-10 09:12:03 +00:00
Nils Petter Skålerud
ba6a77312d macOS, Xcode: Harden error-handling when installing Xcode
The current script relies on some commands intentionally failing during
provisioning because they only apply to certain versions of Xcode.
These errors are silenced using pipes. This is error-prone because we
can no longer catch when these commands are failing in the case where
they should not.

This patch introduces some additional error-handling and conditionals
to make sure we only run commands when they are intended to succeed.

Pick-to: 6.11 6.10 6.8
Change-Id: Ic5048f54adb31d263e28f51312f44fe3b55e6fe5
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2025-12-10 09:12:01 +00:00
Nils Petter Skålerud
c9a8b8f220 Upgrade Android Command-Line Tools to v19.0
This patch updates the Android Command-Line Tools in CI from v2.1 to
v19.0.

The zip file for the older version contained a single directory
'tools', this directory has been renamed to 'cmdline-tools' in the
newer version. This patch includes some changes to make sure we still
use the same folder structure as before.

Task-number: QTQAINFRA-7487
Pick-to: 6.11 6.10 6.8
Change-Id: Id9227241283d4c529005c4961449f50ca7af13be
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
2025-12-10 09:11:58 +00:00
Nils Petter Skålerud
8a70b9e482 Android: Begin initial alignment of Linux and macOS provisioning
The Android provisioning scripts on macOS and Linux perform many of the
same tasks, but with slightly differing approaches. Future patches will
make us run Android emulators on ARM64, which will further make these
scripts similar.

This patch performs some modifications to the macOS provisioning script
to make it more similar to the Linux one. This will help us combine
parts of these scripts in the future.

Task-number: QTQAINFRA-7487
Pick-to: 6.11 6.10 6.8
Change-Id: Idba30d07607780d1ef8c60cc5e038a034c821632
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
2025-12-10 09:11:56 +00:00
Nils Petter Skålerud
bc6ba67934 Unix: Add curl fallback to check_and_set_proxy.sh
This script is stored in the directory 'provisioning/common/unix'. This
implies it can be used from Linux and macOS hosts. The script
uses the wget command, but at the time of writing, wget is not
installed on our macOS hosts. If wget is not found, this command will
assume the HTTP proxy is not found rather than fail the script
execution.

This patch rewrites this script to use curl if wget is not found.
This makes it run correctly on macOS. Additionally, it adds a fail
case if neither wget or curl is found on the system.

Pick-to: 6.11 6.10 6.8
Change-Id: Id54b9fc69307ef28eb35cf1c0042df11e704a6e2
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
2025-12-10 09:11:54 +00: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
Toni Saario
73c4ed922a Update sccache to v0.11.0
Custom patched packages for windows.

Also Add Windows on arm support.

Pick-to: 6.11 6.10 6.8
Fixes: COIN-740
Change-Id: I27f7d36b3501be2a2011b9b8dfa0ec846cd57bf5
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
2025-12-10 10:11:47 +01:00