Commit Graph

1952 Commits

Author SHA1 Message Date
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
Rami Potinkara
875297edfc Android: FFmpeg to support 16KB page sizes
This patch adds needed linker flags for FFmpeg Android
compilation to get FFmpeg binary to be compliant for
16KB page size. 16KB page size is compliant with 4KB
page size.

This patch updates Android OpenSSL to be version 3.0.7,
which is build with two NDK's: NDK27c and NDK29-beta2.
Both with 16KB page size support. They are build with https://github.com/KDAB/android_openssl/pull/69
just changing OpenSSL version from 3.1.1 to 3.0.7 and
NDK version from 25.2.9519653 to 27.2.12479018 (27c) and
another build with 29.0.13599879 (beta2). The both build
artefacts are added to CI-files to be usable.

As the 16KB page size is applicable only to 64-bit ABI's
this patch adds the variable to 90-install-ffmpeg.sh files
for android-x86_64 and android-arm64.

Change is picked to all branches using Android 15 or newer
as Android 15 introduced the 16KB page size support.

Fixes: QTBUG-139762
Pick-to: 6.10 6.9 6.8 6.5
Change-Id: I50bab81b97dad3e9d8c1e834c1928949d1e19687
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
2025-09-23 15:05:59 +00:00
Tatiana Borisova
3e8edbc4ca Add openapi-generator-cli.jar for playground/qtopenapi provisioning
Related to 33dd0de8fb51bb83230b8c2524d5aae28ffc799b

Task-number: QTBUG-138144
Change-Id: I2aa4a67f8c14de6645f5e821d269474646e616f3
Reviewed-by: Toni Saario <toni.saario@qt.io>
2025-09-21 16:06:17 +02:00
Ville-Pekka Karhu
ca70ac0d16 Provisioning: Update macOS 26 ARM to official release
Update also Xcode to 26 official release

Task-number: QTQAINFRA-7196
Change-Id: I3549f0b5e7a153cb2728a66a7d69ab4378e0acb6
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Reviewed-by: Aku Pietikäinen <aku.pietikainen@qt.io>
2025-09-18 17:59:17 +03:00
Matti Paaso
66fd8fb132 Provisioning: Fix macos nodejs installation
Brew install started to fail on older macos arm versions. Getting
rid of all brew install to avoid future problems with it.

Task-number: QTAINFRA-7408
Pick-to: 6.10 6.9 6.8 6.5
Change-Id: I22eddfad1f49b0814841a5d554100fdffd329593
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
2025-09-18 12:12:44 +03:00
Rami Potinkara
1ce81f80e4 Android 16: Introduce NDK r29-beta2 as preview NDK
This patch introduces preview NDK. Environment variables related to
preview NDK's are marked with _PREVIEW. The patch introduces NDK
29.0.13599879-beta2 as first _PREVIEW NDK. This preview NDK will be
first used in insignificant platforms Android 16.

Task-number: QTQAINFRA-7290
Fixes: QTQAINFRA-7291
Change-Id: Id093b8f71970f77409bd805d6d1d153f47ade762
Reviewed-by: Rami Potinkara <rami.potinkara@qt.io>
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
Reviewed-by: Elias Toivola <elias.toivola@qt.io>
2025-09-15 20:59:39 +03:00
Matti Paaso
f2303b428f Update Axivion analysis configuration
Update QR rule set and add user name mapping into email to enable
erosion notification.

Task-number: QTQAINFRA-7222
Change-Id: I98fa2f278c3fea7dde61477841ef03ce10223d58
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
2025-09-12 09:03:47 +03:00
Simo Fält
e8106d5615 Provisioning: Update python 3.9 to 3.13 for macOS packaging config
After swapping the packaging node from x86_64 to arm64 the
default python got downgraded from 3.11 to 3.9.

Pick-to: 6.10
Change-Id: Iea65e3c3d959c22e1a12d2a4f12ba466de4dbf24
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2025-09-12 07:20:18 +03:00
Even Oscar Andersen
aa81fb2989 wasm: Install dependencies of qtwasmserver for python 3.11
We provide qtwasmserver.py when running the selenium tests,
but the dependencies of it must be installed.

Change-Id: Ib12ff04ec6bed28e44b7b2517339669fde9f256a
Reviewed-by: Piotr Wierciński <piotr.wiercinski@qt.io>
2025-09-11 06:32:36 +02:00
Even Oscar Andersen
f084f4f5e0 wasm: Download chromedriver 139.0.7258.138
We install the new driver alongside the old one,
to make sure that existing builds work unmodified.

The new chromedriver is needed for jspi to work.

We set environment variables:

-- for existing builds
BROWSER_FOR_WASM
CHROMEDRIVER_PATH

-- for new builds
WASM_BROWSER_JSPI
WASM_BROWSER_JSPI_ARGS
WASM_CHROMEDRIVER_PATH_JSPI
WASM_CHROMEDRIVER_PATH_JSPI_ARGS

Change-Id: Ia83d639ea2daf34cf44bd72bae455211fd64a441
Reviewed-by: Piotr Wierciński <piotr.wiercinski@qt.io>
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
2025-09-10 15:58:21 +02:00
Simo Fält
202622c541 COIN: Fix Debian bookworm pgp key in Ubuntu 22.04 for debootstrap
Pick-to: 6.9 6.8
Change-Id: Ie06c37987cf21ee0f8f60528af5d70cbf8b5490d
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
(cherry picked from commit e6eaa4f3ef)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-09-10 05:43:54 +00:00
Simo Fält
a792a399e3 COIN: Fix Debian with missing debootstrap key
Pick-to: 6.9 6.8
Change-Id: I61f6a4834b034bb52323416499d71543f290ccf6
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
(cherry picked from commit 4bb846dd6d)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-09-10 04:29:50 +00:00
Elias Toivola
0f3d085101 Windows: Add a helper to cleanly invoke NMake with zlib
Invoke-NMake helper temporarily clears MAKE flags, such as
MAKEFLAGS='-j8', to prevent errors from GNU-style flags and to reduce
flakiness with NMAKE.

The helper is used to build zlib and to prevent:
error U1065: invalid option '-'

Pick-to: 6.10 6.9 6.8 6.5
Task-number: QTQAINFRA-7363
Change-Id: Ia80216677eba6fd8f8364741b6999e6155d678ab
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
2025-09-09 14:01:45 +03:00
Toni Saario
b8995e0ebc Delete macOS GCA keys and dhcp lease after provisioning
This ensures that link-local IPv6 address is unique per
each VM.

Task-number: QTQAINFRA-7383
Pick-to: 6.10 6.9 6.8 6.5
Change-Id: I53434ec3a158cec09f03c96087a401ef05f47b86
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2025-09-09 05:01:58 +00:00
Aku Pietikäinen
1126034d5b Use common p7zip install script and remove unnecessary brew update
Change-Id: Id704953bf2eb9a2cfb11dbdb47451aed7bbc736b
Task-number: QTQAINFRA-7381
Pick-to: 6.10 6.9 6.8 6.5
Reviewed-by: Simo Fält <simo.falt@qt.io>
2025-09-09 05:01:55 +00:00
Frederic Lefebvre
f9d8882a51 Provisioning: Do not hardcode dynamic libclang version in file names
libclang-v100-dyn.sh had the libclang version 10.0 hard coded in the
file name for the Windows scripts. All local provisioning scripts
calling the latter also had the same version hard coded in their
respective filenames. libclang-v100-dyn.sh also sets the version to be
downloaded in a local variable

There is a mismatch between file names and actually installed version
when the download version is modified.

Remote version from common installer and related local scripts.

Change-Id: I81773ff5a834b6f396ce17af93c6510991de129a
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
2025-09-08 07:09:11 +02:00