Commit Graph

1967 Commits

Author SHA1 Message Date
Ivan Solovev
6044f4fd12 Fix java provisioning on Windows ARM
The installer from Microsoft which is used for ARM machines has a
different default installation path compared to the installer from
Oracle that is used for x64 machines, but the provisioning script did
not take it into consideration.

As a result, the JAVA_HOME variable was pointing to a non-existing dir
on Windows ARM machines.

An attempt to adjust the installation path using TARGETDIR or INSTALLDIR
properties did not work, so this patch simply hardcodes the path that is
used by the current ARM installer.

Amends b3f5b4fd64 that added Java
provisioning to Windows ARM.

Task-number: QTBUG-138968
Pick-to: 6.10 6.8
Change-Id: I2abdc07195a9c633340c2d7b21deaa80762aee67
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2025-12-03 06:22:06 +01:00
Ivan Solovev
5293a1638e Fix maven provisioning script for Unix
- Rename the sha256 variable to sha1, because that's the actual
  algorithm that was used to calculate the checksum.
- Use the `version` variable when constructing `externalUrl`.

Amends 0ac4df3e52.

Change-Id: I79d38fdf5033dce7d0b04c2d8788767b2325895f
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2025-12-03 06:22:03 +01:00
Ivan Solovev
5102a0cf07 Provision maven on Windows
It is required for qtopenapi.
The patch adds the maven provisioning to only those Windows
configurations that are currently used in qtopenapi.

This commit amends 0ac4df3e52 which
provisioned the same files for Linux and macOS.

Task-number: QTBUG-138968
Change-Id: I8ec903959c58185a5c46bdb7c13f178bdc10a109
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2025-12-03 06:22:00 +01:00
Ivan Solovev
48e66521cc Add qtopenapi Windows builds
- Add Windows configurations that use MSVC
- Provision openapi generator on the relevant platforms
- golang is already provisioned on all these platforms

The patch does not enable mingw and llvm configs, because
we need to build zlib using mingw first.

It also does not enable x64_64->arm64 cross-compile configs,
because they have a dependency on the mingw config.

Task-number: QTBUG-138968
Change-Id: I4fe35d149a1f9bfa93c1a128e5910b33aad536d4
Reviewed-by: Tatiana Borisova <tatiana.borisova@qt.io>
2025-12-03 06:21:57 +01:00
Ivan Solovev
0719f922a1 Add openapi generator provisioning on Windows
Place the downloaded file into the new directory inside C:\Utils and
add it to the PATH, because that's what the qtopenapi build scripts
expect.

Task-number: QTBUG-138968
Change-Id: I113b0095074cc8f0dc0470daf54fa7f22ee22719
Reviewed-by: Toni Saario <toni.saario@qt.io>
2025-12-03 06:21:54 +01:00
Ville-Pekka Karhu
540d6a546c Provisioning: Ubuntu 20.04 to use new repo-clones
Task-number: QTQAINFRA-7546
Pick-to: 6.10 6.8 6.5 5.15
Change-Id: I70e87800049d8d3eb8466b90c9fc9974749e801a
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2025-11-23 10:34:02 +02:00
Ville-Pekka Karhu
73eecc44e3 Provisioning: Ubuntu 18.04 to use new repo-clones
Task-number: QTQAINFRA-7563
Pick-to: 6.10 6.8 6.5 5.15
Change-Id: I965297a0d2442e7e3e45f4c68038b7950e0c8da0
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2025-11-22 19:41:13 +00:00
Eike Ziller
d534aedb32 COIN: Add missing package for license-service library
libuuid is needed for it. RHEL 9.0 already has it in its package list,
but it was missing for the later RHEL 9 versions

Pick-to: 6.10
Change-Id: Ibd052438c534e5811d2f0b0ee848808227e795f9
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
2025-11-22 20:41:11 +01:00
hjk
679593460e Disable Axivion reports for Qt-Security-QDataStreamOperatorRead
This currently flags 294 occurences in Qt Core as errors, practically
all of them related to the implemenation of QDataStream related
functionality.

I think this generally at the wrong level, certainly for Qt Core,
but also for user code: operator>> is (besides operator<<)
/the/ main reason to use the QDataStream class, so if we consider
this risky, QDataStream itself should not be used, i.e. it would
be better to flagging code that creates QDataStream objects not
every use of operator>> of such objects.

Change-Id: If758bde3a77f64cc8c06f8328459dfcd2d94dc8f
Reviewed-by: Matti Paaso <matti.paaso@qt.io>
2025-11-22 20:41:08 +01:00
Tero Heikkinen
cdf01ee62c sbom: New SBOM_PYTHON_INTERP_PATH env to use correct python3 for SBOM
To all linux, macOS and Windows platforms.

Task-number: QTQAINFRA-7554
Change-Id: I677440fb9faf3f3d36744b59f91f0036449b639b
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
2025-11-22 21:41:06 +02:00
Elias Toivola
6384a76d09 Add Red Hat 9.6 with non-blocking tests in CI
RHEL-9.6 will be run in parallel with RHEL-9.4 with insignificant tests
until RHEL-9.6 is confirmed stable, then it will replace RHEL-9.4.
[CI Platforms]

Task-number: QTQAINFRA-7528
Change-Id: I5fe6bfe6f57f1dfb7ec4aeb05560dd7f01fc7f2f
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
2025-11-21 18:13:43 +02:00
Tero Heikkinen
82bedb07a1 Add more info how vcpkg install script works
Task-number: QTQAINFRA-7522
Task-number: QTQAINFRA-7455
Change-Id: I6ae31d66128d3238fa933249f0efe55169a6e52a
Reviewed-by: Simo Fält <simo.falt@qt.io>
Reviewed-by: Aku Pietikäinen <aku.pietikainen@qt.io>
2025-11-20 08:34:44 +02:00
Tero Heikkinen
1abd2e7028 Update Git version
Newer needed for openSUSE 16.0

Task-number: QTQAINFRA-7517
Change-Id: I636c0f293c78e8d8dcc0810c52589a0e7e809854
Reviewed-by: Simo Fält <simo.falt@qt.io>
2025-11-20 08:34:42 +02:00
Tero Heikkinen
4f405340c5 openSUSE 16.0: Upgrade openSSL from 3.0.7 to 3.5.4 (LTS)
openSSL 3.2.0 or newer required for libcurl in openSUSE 16.0

This solution has possibility to leave default openSSL
version into use for others, and openSUSE 16.0 (or others)
can move to a newer version if needed.

There are currently two tests failing in this update,
but as openSUSE 16.0 is non-blocking in the CI, it
doesn't get blocked.

Tickets created to fix those:
  - QTBUG-141722
  - QTBUG-141723

Task-number: QTQAINFRA-7502
Task-number: QTQAINFRA-7455
Task-number: QTQAINFRA-7452
Change-Id: Ie9995a3afcdb09d091d75651528a94f71f5ece2a
Reviewed-by: Elias Toivola <elias.toivola@qt.io>
Reviewed-by: Simo Fält <simo.falt@qt.io>
2025-11-20 08:34:40 +02:00
Tero Heikkinen
b5a3958912 Add openSUSE Leap 16.0 with non-blocking tests in CI
Notes:
  - GCC 15
  - Python 3.13
  - MimerSQL with openSSL 3
  - CINetworkTest skipped until newer ICU 77 version available
  - gstreamer-plugin-openh264 not available

Repository names have changed:
  - Old: /etc/zypp/repos.d/repo-oss.repo
  - New: /etc/zypp/repos.d/openSUSE:repo-oss.repo

Not installed by default, therefore no need to disable anymore:
  - balooctl
  - ntp

Task-number: QTQAINFRA-7455
Task-number: QTQAINFRA-7452
Change-Id: I2af7f828e07d31d3622cf46e819318c71d28783e
Reviewed-by: Simo Fält <simo.falt@qt.io>
Reviewed-by: Elias Toivola <elias.toivola@qt.io>
2025-11-20 08:34:38 +02:00
hjk
23cf42d87a Disable Axivion reports for Qt-FunctionArgsByValueRef
This is an unfortunate combination of clazy-function-args-by-ref and
clazy-function-args-by-value.

function-args-by-ref fixes are almost always safe to apply. They
actually may save an unbounded amount of cycles, and there are typically
only a few of them.

On the other hand, function-args-by-value is a mixed bag: There are a
lot of them and the expected gain is small: It's typically trading one
or two register for one register and a "hot" location on the stack.
Especially when passing down such objects to a through a sequence of
function calls this is not even necessarily a clear win on all
architecture.

In any case it should be considered that especially in the Qt context
changing signatures of public functions is not cheap, if possible
at all.

Change-Id: I281ea086fb15e0a045316591d9af620b5e730f4a
Reviewed-by: Matti Paaso <matti.paaso@qt.io>
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
2025-11-06 08:12:35 +01:00
Alexey Edelev
b64ad9500b Move the vcpkg baseline forward
Change-Id: Ic00b75b9973db5795e69ce70842a06fecbfadf35
Reviewed-by: Simo Fält <simo.falt@qt.io>
2025-11-01 01:52:02 +02:00
Alexey Edelev
63fd087fa0 Upgrade vcpkg to version 2025-09-03
Change-Id: I5501f28cbcf7cc9e88b32031a7fd2e1c763981bf
Reviewed-by: Simo Fält <simo.falt@qt.io>
2025-11-01 01:51:59 +02:00
Elias Toivola
4dcaf6ec01 Android: move platform dependency from RHEL 8 to RHEL 9
Pick-to: 6.10 6.8 6.5
Task-number: QTQAINFRA-7498
Change-Id: I48a72860fe9d06cde1f014298e68fa28caff730d
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
2025-10-30 13:52:12 +02:00
Nils Petter Skålerud
c3b80178ee FFmpeg, iOS: Automatically grab FFmpeg version in Info.plist manifest
Our iOS FFmpeg provisioning includes build info.plist manifest files
for the FFMpeg framework files. This manifest includes the version of
FFmpeg that we are deploying. This version string is currently
hardcoded and does not match the version we are actually building.

This patch changes the 'install-ffmpeg-ios.sh' script to
programmatically grab the FFmpeg version from our related scripts, and
inserts it in the info.plist manifest.

Pick-to: 6.10
Task-number: QTBUG-136480
Change-Id: Iafeaade2ff6f2a933a0ba48749af459eef37ab51
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
2025-10-28 14:12:58 +02:00
Tatiana Borisova
a42d6a4ac7 Install javac for qtopenapi
- javac was not found on sles and opensuse, so installing
an additional package is required.

Change-Id: Ic26615dc8f7433c3acd870cc85ce16622a046d0f
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2025-10-24 09:14:37 +00:00
Tatiana Borisova
0ac4df3e52 Add maven provisioning for qtopenapi build
Change-Id: I4439cb8d8f1327e474d272819557e8e64ef17c83
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2025-10-24 09:14:33 +00:00
Tatiana Borisova
f4fbffc0d9 Add sles-15_sp6-static for qtopenapi
Change-Id: I2b03523cf8c56228ccc4c6eb97fbec642aa0dc40
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2025-10-23 17:58:02 +02:00
Tatiana Borisova
3e2dc98344 Remove duplicating golang provisioning file
- there is already 43-install-golang.sh file presented

Change-Id: I92fd18a95f21e084affe21d74d34aa706399bdfc
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2025-10-21 15:49:03 +02:00
Matti Paaso
9e2db25bd5 Enable CWE checks to Axivion configuration
Task-number: QTQAINFRA-7401
Pick-to: 6.8 6.5
Change-Id: I3173acc2941e3811aeb7e56752a56125f00d8f89
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
2025-10-17 11:24:19 +03:00
Tatiana Borisova
6c37ba367a Extend qtopenapi builds
- Add macos13, macos26 configurations for qtopenapi
- Add Ubuntu 20, 22 configurations
- Add Ubuntu 24 aarch64 configuration
- Add RHEL8.10 and Debian configurations

Task-number: QTBUG-140130
Change-Id: Idca79c1e05b012f675aff975fcfc82be9f01538b
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2025-10-16 11:04:27 +02:00
Tatiana Borisova
41dd17028c Add Golang provisionings for qtopenapi builds
- Add macos13, macos26 configurations
- Add Ubuntu 22 configurations
- Add Ubuntu 24 aarch64 configuration
- Add Debian configurations

Task-number: QTBUG-140130
Change-Id: I34f65c7fee4177cf712b5ec5bc54e50773c370d5
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2025-10-16 11:04:27 +02:00
Tatiana Borisova
9381c3673b Update qtopenapi provisioning
- add openSUSE15.6 build configuration for qtopenapi.
- add rhel9.4 build configuration for qtopenapi.
- delete macos15-x86_64 build configuration for qtopenapi,
  because the current qtopenapi code only builds go binaries
  targeting arm64 architecture, and the x86_64 configuration would
  fail trying to run those binaries.

Task-number: QTBUG-140130
Change-Id: Ia4f1b91345d3d7a87916ceee319a6037318fac63
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2025-10-16 11:04:27 +02:00
Tatiana Borisova
493a11caee Update Golang provisioning
- replace the linux/install-golang.sh to the unix/install-golang.sh
  for macos and linux provisioning configurations.

NOTE:
The Golang version is updated from 1.22.4 to 1.25.2.

Task-number: QTBUG-140130
Change-Id: Ic5e7a93bcad4d82210bcd5c7f4144153c938a603
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2025-10-16 09:04:27 +00:00
Matti Paaso
3ff6bed04a Provisioning: Make bootstrap autostart run without terminal
Copy bootstrap autostart also into Ubuntu 24.04 aarch64

Pick-to: 6.10 6.8 6.5
Change-Id: If815476e072d62752d6ea0e5081ec982f2c8c6d9
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
2025-10-16 09:45:18 +03:00
Matti Paaso
996d1ca0e1 Update Axivion bauhaus-suite tool version
Task-number: QTQAINFRA-7438
Pick-to: 6.8 6.5
Change-Id: I7adc2cba468d73385c46731d7c18777599ca58fb
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
2025-10-14 13:40:51 +03:00
Samuli Piippo
19487355f3 Provisioning: fix use of NFS4 mounts with bitbake
'cp -p' attempts to copy NFSv4 ACL extended attributes when preserving
permissions. On filesystems that do not support these xattrs (e.g., ext4),
this results in `Operation not supported` and causes 'cp' to fail.

Add explicit skip entries for these attributes in /etc/xattr.conf
so libattr ignores them during copy operations. This is needed to get
bitbake builds to work when using download cache from NFS4 mount.

Change-Id: I3dabb065c4d9928121fe14d0fdc896c7415bdcb9
Reviewed-by: Toni Saario <toni.saario@qt.io>
2025-10-14 12:46:31 +03:00
Liang Qi
e5b56d1d37 coin: install libc++-20-dev on Ubuntu 24.04 arm64
Task-number: QTQAINFRA-6203
Change-Id: I46c1fc36150b2b73682033c88dfcca45a0280778
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
2025-10-14 10:55:55 +02:00
Assam Boudjelthia
05f46d0e54 CI: add more options for Android emulator launcher and help section
Allow the emulator launcher to take new options that are commonly
used:
 * --window: shows the emulator window instead of running headless
 * --avd: set the emulator name instead of using the env var, this
          can be more intuitive and more expected than the env var.
 * --help: to guide users how to use this script.

Also, the script now will print a list of available AVD names to
use instead of the less obvious error of no AVD name provided
which forces the user to manually find the names first.

This also, sets the COIN_CTEST_RESULTSDIR to CWD in case
it's not set, this is the case when running as a debug VM.

Pick-to: 6.5 6.8 6.10
Change-Id: Id90ca2fddda713645e9c1621e346d73f1dc85ea1
Reviewed-by: Dimitrios Apostolou <jimis@qt.io>
2025-10-11 11:25:48 +00:00
Pavel Dubsky
c3809a73ea Update FFmpeg version to n7.1.2
Task-number: QTBUG-140468
Pick-to: 6.10
Change-Id: Ia77053bd4022a9691b4729e748884fd42ee2d1a8
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
2025-10-10 14:27:22 +02:00
Tero Heikkinen
ecce36a343 Linux: Fix SBOM verification error with pinned reuse 5.1.1 version
Task-number: QTBUG-140916
Change-Id: I63893c434526d4d0a9767f418a3d3db154181071
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2025-10-09 18:10:19 +03:00
Samuli Piippo
3571545c28 Provisioning: Fix bitbake with apparmor on Ubuntu 24.04
Ubuntu 23.10 introduced new apparmor features and those prevent bitbake
to work correctly until a apparmor configuration file is installed.

Task-number: QTBUG-137321
Change-Id: Ib3f5faae07ea116012b1c66554211c53ca0e77e7
Reviewed-by: Toni Saario <toni.saario@qt.io>
2025-10-09 18:10:16 +03:00
Tor Arne Vestbø
ed82b7ec6f Remove QNX provisioning from macOS Apple Silicon
The toolchain is x86_64 only, which trips up xcodebuild if Rosetta2
is not installed: https://github.com/swiftlang/swift-build/issues/836

We don't have any CI configurations that build QNX on macOS, so we
don't need to install it.

Pick-to: 6.10 6.8 6.5
Change-Id: I8714438c6373e613f28f67b48d2f4f78a723bc9d
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
Reviewed-by: Marianne Yrjänä <marianne.yrjana@qt.io>
2025-10-04 07:47:15 +02:00
Simo Fält
293714d7bd COIN: Enable Accessibility service for Squish on macOS
Task-number: QTQAINFRA-7123
Pick-to: 6.9 6.10
Change-Id: I06aadb58583e073b13362ed20fae2550869a7c52
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
2025-10-02 22:02:15 +03:00
Matti Paaso
ab8b59805a Provisioning: Remove python2 installation
Provision started to fail in python2 installation.

Task-number: QTQAINFRA-7459
Pick-to: 6.10 6.8 6.5
Change-Id: I3059615e8469bf935031791fa826452e01f4f972
Reviewed-by: Simo Fält <simo.falt@qt.io>
2025-10-02 22:02:13 +03:00
Matti Paaso
986d4b8760 Provisioning: Fix pyenv installation
Task-number: QTQAINFRA-7439
Pick-to: 6.10 6.8 6.5
Change-Id: I02202d1b53ab5442e04b6e5c0d7ff3119686f117
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
2025-10-02 22:02:10 +03:00
Liang Qi
f43db86634 coin: install clang-20 on Ubuntu 24.04 arm64
Task-number: QTQAINFRA-6203
Change-Id: If1350343969694940d610f042405248c5aa080a9
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
2025-10-02 09:55:54 +02:00
Matti Paaso
75ae0803f3 Provisioning: Update Axivion bauhaus-suite license file
Task-number: QTQAINFRA-7433
Pick-to: 6.8 6.5
Change-Id: I04fc35138d53bfe19fb7e94e9955923188e43582
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
2025-09-30 16:28:10 +03:00
Ville-Pekka Karhu
5966e804b0 Provisioning: Ubuntu 22.04 to use new repo-clones
Task-number: QTQAINFRA-7426
Pick-to: 6.10 6.8 6.5
Change-Id: I868644526ddeb50e15b69f87263ea9bcf9021a8a
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
Reviewed-by: Aku Pietikäinen <aku.pietikainen@qt.io>
2025-09-30 09:08:09 +03:00
Elias Toivola
b050b59af6 Windows: set cache URL for nuget
The directory and file did not exist in cache. Added them and this
change sets versioning to the nuget file name in cache.

Pick-to: 6.10
Task-number: QTQAINFRA-7264
Task-number: QTQAINFRA-7265
Change-Id: I4cf7ce1b547bd8cd4272a981de6845c06a4d1d79
Reviewed-by: Aku Pietikäinen <aku.pietikainen@qt.io>
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
2025-09-28 16:12:07 +03:00
Elias Toivola
c781ce2c92 Android: Fix cache URLs
Pick-to: 6.10 6.9 6.8 6.5
Task-number: QTQAINFRA-7264
Task-number: QTQAINFRA-7265
Change-Id: I68cf0dc47c50bb7a817860d6607db5910225996a
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
2025-09-28 16:12:05 +03:00
Dominik Holland
cd85327e85 Provisioning: Downgrade python 3.13. to 3.12 for macOS packaging config
Nuitka doesn't support Python 3.13 yet.

Pick-to: 6.10
Change-Id: I577237b50e16053346d6adbb137a63a0ba41257b
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
2025-09-25 21:35:55 +02:00
Rami Potinkara
05b5626379 Android: FFmpeg to support 16KB page sizes on Windows
This patch introduces 16KB page size support for Windows
host to do Qt for Android build.

Currently Windows only builds FFmpeg on armeabi-v7a ABI.
32-bit ABI's like armeabi-v7a do not support 16KB page
sizes so the build is done for 4KB page size.

Amends ce488ecbc125cb3484f1cbed592ac9e28867eb66

Task-number: QTBUG-139762
Pick-to: 6.10 6.9 6.8 6.5
Change-Id: Ife7d56dd4a9f6d2892127571cab616b3f861dee6
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
2025-09-24 10:06:15 +03:00
Simo Fält
c969215383 Provisioning: Update dotnet installation
Install missing workload module.

Pick-to: 6.10
Change-Id: I8ec4e5389000f043d296d87e7c3fed8e06451cf3
Reviewed-by: Elias Toivola <elias.toivola@qt.io>
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
2025-09-24 06:23:03 +00:00
Simo Fält
10a687324c Provisioning: Install openjdk@21 for QtBridges
Pick-to: 6.10
Change-Id: Ibad51807cf188016e761e76bc62c1fd80aabfbc7
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
2025-09-24 06:23:01 +00:00