Commit Graph

33 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
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
Axel Spoerl
f379f4552f Unix provisioning: Don't hardcode dynamic libclang version in file names
coin/provisioning/common/unix/libclang-v100-dyn.sh had the libclang
version 10.0 hard coded in the filename.
All local provisioning scripts calling the latter also had the same
version hard coded in their respective filenames.
At the same time coin/provisioning/common/unix/libclang-v100-dyn.sh
sets the version to be downloaded in a local variable.

When the download version is bumped, there is a mismatch between file
names and actually installed version.

Remove version from common installer and related local scripts.

Task-number: QTQAINFRA-7353
Change-Id: I7489489056e611d6ab84862dafbe48e4e2532780
Reviewed-by: Dimitrios Apostolou <jimis@qt.io>
Reviewed-by: Simo Fält <simo.falt@qt.io>
2025-08-22 12:33:57 +02:00
Tero Heikkinen
3ba1fb95be Linux: Add glibc versions visible in versions.txt
Will also make glibc versions visible in Tools and Versions pages.

Task-number: QTQAINFRA-7333
Pick-to: 6.10 6.9 6.8 6.5
Change-Id: Ic0274822f326e4b23ed423d8da20002bc6d4f20a
Reviewed-by: Simo Fält <simo.falt@qt.io>
2025-08-20 08:11:50 +03:00
Alexey Edelev
efb8dc4713 Add Android bundletool provisioning
Tool allows managing modern android bundles. Provision it on RHEL
8.10 platform - the one we use for the Qt for Android x86_64 builds.

Change-Id: Ia1a7bb077e9dc0afc95ad92cbd85c96724ab0ced
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
2025-07-03 11:23:53 +02:00
Tim Blechmann
fb878af9e7 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.8 6.9 6.10
Change-Id: Ieefe42f67009b99cc95f54567f224972d12c1538
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
Reviewed-by: Tim Blechmann <tim.blechmann@qt.io>
2025-06-30 16:50:23 +08:00
Liang Qi
3d9bbd5324 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.10 6.9 6.8
Task-number: QTBUG-137004
Change-Id: Iffb9ab7d62a2bea3cb8e27354d25957c49911859
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2025-06-03 03:43:43 +00: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
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
Tero Heikkinen
1144b14584 RHEL: Add ca-certificate install to fix missing certificate issues
Other linux distros have similar ca-certificate install/update in use.

Issue was noticed in RTA, and if similar happens again, these RHELs
need new provisioning to get up-to-date ca-certificates available.

Task-number: QTQAINFRA-7014
Pick-to: 6.9 6.8
Change-Id: Id0ef369b0d714b40b66117d6e62ddd6a787cae71
Reviewed-by: Simo Fält <simo.falt@qt.io>
2025-03-13 12:09:28 +02:00
Axel Spoerl
abbffb449e Add Linux provisioning script for network test
Implement installation script in common/linux and call it from all
distros except arm (for which currently no binary exists).

Run executable after installation.
Warn only, to enable integration.

Task-number: QTQAINFRA-6796
Change-Id: Id0ebed7ae7d43733acb53d908750174634a4e676
Reviewed-by: Dimitrios Apostolou <jimis@qt.io>
2025-03-13 11:09:05 +01:00
Tero Heikkinen
98e55af0f2 Synchronize GNOME based Linux gsettings into a common script
Pick-to: 6.9 6.8
Task-number: QTQAINFRA-6967
Change-Id: Ib2f17a49931dc546af82f1e0384814f9f359a3f3
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2025-02-27 14:34:43 +02:00
Tero Heikkinen
5f627786ef Linux: Add GCC versions visible in versions.txt
Currently only SLES and openSUSE has GCC in versions.txt.
Will also make GCC versions visible in Tools and Versions pages.

Task-number: QTQAINFRA-5901
Pick-to: 6.9 6.8 6.5
Change-Id: I9742c3151e074c503947018a0c7f7c2e0c1077bd
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
2025-02-25 21:36:09 +02:00
Artem Dyomin
39ad0317d1 Decouple install-ffmpeg on linux and macos specific files
The FFmpeg building flow has become too different on linux and macos.
Decoupling the logic makes it more simple to follow.

The CR also fixes nits and shellcheck warnings in install-ffmpeg.

Pick-to: 6.8 6.9
Change-Id: I28639d28c7210809e52ff18ce612da52f8754285
Reviewed-by: Jøger Hansegård <joger.hansegard@qt.io>
2025-01-17 07:15:13 +01:00
Tero Heikkinen
6c6faeefd2 Add Perl JSON module
Needed with all the machines generating SBOM

Task-number: QTQAINFRA-6871
Task-number: QTBUG-131434
Pick-to: 6.9
Change-Id: I15a79c005f530c551f9026e2cbfb465ed1211e98
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2025-01-14 18:41:47 +02:00
Michal Klocek
f8e873b188 Add html5lib to python.3.11
RHEL 8 installs python3-html5lib, however this only affects
installed pythnon 3.6, webengine should use
3.11 therefore add it to pip installer.

The change for switching webengine to 3.11 is in
so installing of python3-htmllib can be removed.

Change-Id: Ia6f4262971f60b960a61a466f418750c0d956cbc
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2024-12-20 19:47:50 +01:00
Axel Spoerl
d58d59693a Linux Provisioning: Turn off window animations
Window animations change the physical geometry in relation to the
geometry known in Qt. Windows may not be found by
QGuiApplication::topLevelAt() as expected.

Turn animations off in Linux provisioning.

Task-number: QTBUG-130811
Pick-to: 6.8 6.8.1 6.5
Change-Id: Id0fa13f4dd38b21dd141f4b51308903ccaf40bba
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Reviewed-by: Liang Qi <liang.qi@qt.io>
2024-11-23 06:40:52 +00:00
Toni Saario
9f1cba8637 Coin: Limit avahi-daemon interfaces
Avahi-daemon often hogs 100% of CPU on the VMs. This particularly
causes issue on 2 core(thread) VMs where tests compete for CPU
with avahi.

Limiting avahi to test service related interfaces eliminates the
abnormal CPU usage.

Avahi should be only needed for tests to see the docker test services.

Pick-to: 6.8 6.5 5.15
Task-number: QTQAINFRA-6697
Change-Id: I30d75f2118501cd69d98aeea8c62722a0fb238c5
Reviewed-by: Dimitrios Apostolou <jimis@qt.io>
2024-11-23 08:40:44 +02:00
Artem Dyomin
6cd74e132a Replace static FFmpeg build with shared on rhel8
On RHEL8, openssl1.x.x is default, and openssl3 pc files
are with the suffix "3", so FFmpeg cannot find them.

The patch fixes pc files so that ffmpeg can find them.

Task-number: QTBUG-130257
Change-Id: I5a95daae0a78aadede109535b2823483bfcbc09d
Pick-to: 6.8
Reviewed-by: Tim Blechmann <tim.blechmann@qt.io>
Reviewed-by: Pavel Dubsky <pavel.dubsky@qt.io>
Reviewed-by: Jøger Hansegård <joger.hansegard@qt.io>
2024-11-01 06:22:28 +00:00
Alexandru Croitor
6f991b55a3 coin: Explicitly specify SBOM_PYTHON_APPS_PATH for all platforms
Instead of relying on the qtbase coin instructions to compute the
SBOM_PYTHON_APPS_PATH path based on the platform, which does not work
reliably, especially when multiple python installations are present,
explicitly specify the path in the provisioning scripts.

Amends 1f2fb6312c

Pick-to: 6.8
Task-number: QTBUG-122899
Task-number: QTBUG-124453
Task-number: QTBUG-125211
Change-Id: I097fd1c4119a203d82f88c477dbf0fc0f67f19f2
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2024-10-25 16:13:04 +02:00
Alexandru Croitor
da3c68ba0c coin: Provision ninja 1.12.1 for RHEL 8.10 and 9.2
It is needed to successfully build Qt with CMake 3.30.

Pick-to: 6.8
Fixes: QTQAINFRA-6484
Change-Id: I70b7d91571f5b20a008947eb0837dd8351965665
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2024-10-19 21:17:40 +02:00
Eike Ziller
3369aab7fb COIN: Add libsecret-dev on Linux machines for Qt Creator
Qt Creator uses libsecret for saving passwords.
It is dynamically resolved during runtime, but we need the
development package at build time to enable the feature.

Fixes: QTCREATORBUG-31381
Pick-to: 6.8
Change-Id: I71077694ff0f4d04b1d85215791dc7f6f6663f64
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
2024-10-11 07:08:42 +02:00
Elias Toivola
b22b144f65 Add golang and upx to RHEL-8.10 and WoA
Current RHEL 8 version is 8.10 in dev and soon in 6.8 (6.8.1). WoA is also an active platform in dev and 6.8 so let's add Go to it, upx for Windows on Arm has not been implemented yet.

This amends: 337206334e

Pick-to: 6.8
Change-Id: I8b538e5d68db529e4f396059565856d0af4d8f54
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
2024-09-18 12:49:55 +00:00
Alexandru Croitor
8ad05756ed coin: Explicitly provision the libzstd-dev package
It used to be installed as a dependency of some other package, but
stopped doing lately, which causes qtbase to build without zstd
support.

This change explicitly installs the libzstd-dev package to prevent
this from happening again.

Pick-to: 6.7 6.8
Fixes: QTBUG-124787
Fixes: QTBUG-127644
Change-Id: I72793ed96ef39ec07244079c51efe17ae1f9af66
Reviewed-by:  Alexey Edelev <alexey.edelev@qt.io>
2024-08-08 08:45:10 +02:00
Bartlomiej Moskal
62b60c4caa coin: Move install-patchelf script to unix directory
This patch prepare install-patchelf.sh script for use on MacOs

Pick-to: 6.8
Task-number: QTBUG-126861
Change-Id: Id16462a2819da748ecd0b04f1df57968e9d90c37
Reviewed-by: Jøger Hansegård <joger.hansegard@qt.io>
2024-07-29 19:07:14 +02:00
Elias Toivola
ba9d0e2e4e Provisioning: Add Red Hat 8.10 as non-blocking in CI
RHEL-8.10 will be run in parallel with RHEL-8.8 in CI as non-blocking
until RHEL-8.10 is confirmed stable, then it will replace RHEL-8.8. [CI Platforms]

Task-number: QTQAINFRA-6366
Change-Id: I4b470754895a72be026e869eb4e4d273eb3801b4
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
Reviewed-by: Simo Fält <simo.falt@qt.io>
2024-07-25 13:39:34 +00:00