Commit Graph

44 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
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
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
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
Tim Blechmann
c52c9ef8b8 provisioning: openSUSE-15.6 - fix gstreamer h264 codec installation
the gstreamer-1.20-plugin-openh264 package seems to be outdated, as
opensuse's openh264 repo seems to have moved to gstreamer-1.24 and
renamed the package to gstreamer-plugin-openh264:
https://codecs.opensuse.org/openh264/openSUSE_Leap/x86_64/

This partially reverts 69f651b01794c93da20894a7ea5728a332903850.

Pick-to: 6.10 6.9
Change-Id: Ie159ec48f83a7b7d10671d2200f7eb4fbcf93db3
Reviewed-by: Lars Sutterud <lars.sutterud@qt.io>
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
2025-08-12 13:29:44 +08:00
Lars Sutterud
9c0de61c89 Temporarily remove open264 GStremer plugin from openSUSE builds on CI
Fix build issue for openSUSE on CI, probably related to the
gstreamer-plugin-openh264 plugin being obsolete for the latest
gstreamer-plugins-bad package
https://forums.opensuse.org/t/gstreamer-plugins-bad-wants-to-obsolete-gstreamer-plugin-openh264/186318

GStreamer tests are disabled on openSUSE anyway atm.

Pick-to: 6.10 6.9 6.8
Change-Id: I6e19e655c8753de879d6bbf82e532d18b25a01cb
Reviewed-by: Tim Blechmann <tim.blechmann@qt.io>
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
2025-08-12 07:29:41 +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
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
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
Ville-Pekka Karhu
9b703ece5f Provisioning: Enable local repo for openSUSE codecs
Task-number: QTQAINFRA-6467
Change-Id: I490c1bd2c3e4fa003b19e1418b05e8c84490f207
Reviewed-by: Matti Paaso <matti.paaso@qt.io>
2024-11-24 12:12:28 +02: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
Elias Toivola
0f96857410 OpenSUSE 15.5: set working mirrors for zypper
OpenSUSE 15.5 provision can fail to a failed zypper install with
qemu-guest-agent due to a broken/expired mirror. This may be
eventually fixed by the package manager. This changes adds a working
source for zypper and the package.

Sometimes installing any package with zypper can output:
"Repository 'Update repository of openSUSE Backports' is invalid.".
This may mean a current mirror/repo for it is not functioning at that time. Specifying a functioning mirror fixes this.

Change-Id: I7b8ea8f1db291a1001a7d062a3da91ded99301f2
Reviewed-by: Simo Fält <simo.falt@qt.io>
2024-11-14 06:19:57 +00:00
Matti Paaso
dbb4ca8e26 Add Java 17 into OpenSuSE 15
RTA Jenkins needs this

Task-number: QTQAINFRA-6263
Pick-to: 6.5 6.8
Change-Id: Ied9465f1c5542f77e327e3e515ed2b831e606569
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
Reviewed-by: Simo Fält <simo.falt@qt.io>
Reviewed-by: Aku Pietikäinen <aku.pietikainen@qt.io>
Reviewed-by: Johanna Äijälä <johanna.aijala@qt.io>
2024-11-14 08:19:56 +02:00
Tim Blechmann
01f6c96002 provisioning: install development files for gstreamer-plugins-bad
Required for gst-play

Pick-to: 6.8
Change-Id: Id41d4359aa8e573e360c565eea6900b33918743f
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
2024-11-09 09:31:40 +08:00
Tim Blechmann
58e0090020 provisioning: install gstreamer h264 codec on openSUSE and rhel9
The h264 codec is required to run the gstreamer-based unit tests on CI.

Pick-to: 6.8
Change-Id: Ic47ee086687230613d56f30d3fd613288e37ce7f
Reviewed-by: Jøger Hansegård <joger.hansegard@qt.io>
2024-11-07 10:33:37 +08: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
Tero Heikkinen
01256c68c2 Provisioning: Fix missing libtommath-dev for Firebird in RTA
Needed for these (Linux x64):
  - Rhel 9.2
  - SLES 15 SP5
  - OpenSUSE 15.5
  - Ubuntu 22.04

SLES 15 SP5 needs to activate PackageHub/15.5/x86_64 -module

Firebird was enabled in here:
333cbd0592

Task-number: QTBUG-129845
Change-Id: Ia3a270502e6985a7edab5c9dc937491c7ac6038f
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2024-10-23 00:23:03 +03:00
Christian Ehrlicher
2beda8e695 Coin: Enable Oracle Instant Client provisioning
Enable OCI provisioning for
 - Windows 10 22H2
 - Windows 11 23H2
 - Ubuntu 22.04 x86_64
 - RHEL 9.2 x86_64
 - SLES 15 SP5 x86_64
 - openSUSE 15.5 x86_64

Task-number: QTBUG-128873
Change-Id: I8d0886f9059cd5941ac9f9174f899b1e125168e3
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
2024-10-05 11:18:56 +02:00
Piotr Wierciński
ab8d3fad65 Provisioning: Remove unnecessary Chrome instalation for WASM testing
Task-number: QTQAINFRA-6465
Change-Id: Icec3933871800ef691361da10bd065b72b8c9bb2
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
2024-09-26 10:09:34 +00:00
Christian Ehrlicher
333cbd0592 Coin: Enable firebird provisioning
Enable Firebird provisioning for
 - Windows 10 22H2
 - Windows 11 23H2
 - Ubuntu 22.04 x86_64
 - RHEL 9.2 x86_64
 - SLES 15 SP5 x86_64
 - openSUSE 15.5 x86_64

Change-Id: I075d4c468ed7c103b9e1090aea3ff36014b4e8fc
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
2024-09-12 10:11:43 +02:00
Piotr Wierciński
963d722008 Provisioning: Pin version of Chrome and chromedriver for WASM tests
Install Chrome and chromedriver from our cache with
specific version for better CI stability.

Fixes: QTQAINFRA-6465
Change-Id: I34f84563c6eb5feea4f112adbd20136974b211c8
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
2024-09-11 11:46:34 +02:00
Tim Blechmann
0020fd1b3e Provisioning: install dummy sound device on ubuntu VMs
Pick-to: 6.5 6.7 6.8
Change-Id: I71a518576c1ef0677855561edbd2dc5560727c35
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
2024-08-16 17:52:48 +08:00
Liang Qi
fcdce53b89 Provisioning: install pipewire dev packages on Linux
Task-number: QTBUG-121452
Pick-to: 6.8
Change-Id: I5e9087b09f64750135ebea9030073cd1a20c5f46
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
2024-06-22 09:25:54 +02:00
Alexandru Croitor
1f2fb6312c coin: Add python packages to allow validating Qt generated SBOM files
Add a sbom_requirements.txt file and install it using the
various platform specific pip installations.

Partially restores b87b44168c but
without the wheel cache.

Pick-to: 6.8
Task-number: QTBUG-122899
Change-Id: I8002898866acbc226ffebb59dcf5b3a58237ea34
Reviewed-by: Toni Saario <toni.saario@qt.io>
2024-06-20 06:56:17 +02:00
Piotr Wiercinski
a84104df1c Provisioning: Install webdriver-manager for Python3
WebDriverManager will be used to install correct version of
chromedriver for WebAssembly Selenium testing.

Task-number: QTBUG-122729
Change-Id: I49b61da3d8dd20b36ec6965c258a6a608ac33a63
Reviewed-by: Simo Fält <simo.falt@qt.io>
2024-03-12 14:37:27 +00:00
Dimitrios Apostolou
e1054c8abb Enable gdb stacktraces on all Linux configurations
This amends commit c66f8407a8 by running
the script on the remaining Linux configurations where gdb stacktraces
were already working, in order to avoid breakage in the future.

Change-Id: Ic069ed5369f761dcc3557b2ea7e09de703ebc142
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
2024-02-06 16:11:09 +01:00
Piotr Wierciński
b9214c7dd9 Provisioning: Update Python installation
For WebAssembly selenium tests we need a newer
version of Python (>3.7), so install 3.11 instead
of default 3.6.
Selenium and Netifaces pip packages are also required.

Change-Id: I9e3b317b359e8775d90bd143ff9692fc2a90cf42
Reviewed-by: Dominik Holland <dominik.holland@qt.io>
2024-02-02 07:23:30 +00:00
Axel Spoerl
b93bcc2c9c COIN: Install a systemd script for starting a dummy sound device
Don't load the dummy sound module directly.
Install a systemd script instead.

This amends 198cd69244.

Fixes: QTBUG-120655
Pick-to: 6.7 6.6 6.5
Change-Id: If727a60d1cf3683615775ae55efe9bae159d147e
Reviewed-by: Toni Saario <toni.saario@qt.io>
2024-01-16 13:01:08 +01:00
Axel Spoerl
198cd69244 COIN: Install dummy sound device on openSuSE Leap 15.5
Add missing dummy sound device, to prevent sound based tests from
failing / flaking.

Fixes: QTBUG-120655
Pick-to: 6.7 6.6 6.5
Change-Id: I555d1391b49892226732f36c6a67be7d8dae3d4b
Reviewed-by: Elias Toivola <elias.toivola@qt.io>
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
2024-01-12 10:46:00 +01:00
Amir Masoud Abdol
a5a6393145 Provisioning: Install OpenSSL via Vcpkg on Linux
- Add a custom triplets for building dynamic android libraries
- Set `ANDROID_NDK_HOME` environment variable, as it is needed when
  vcpkg builds for Android.
- Install `perl-IPC-Cmd` when necessary, requirement for OpenSSL.
- Install openSSL for x64-linux-qt, x86-android-qt, and
  x86_64-android-qt. The latter android triplet has been renamed from
  vcpkg's official `x64-android.cmake` triplet to further clarify the
  android abi.
- Adjusted version.txt to account for the existence of two OpenSSL. The
  system OpenSSL now shows up as `System's OpenSSL` in `version.txt`.

Task-number: QTBUG-115715
Change-Id: I6cf9b808d26bbea97ebeeadac58cef5ede25ee50
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2023-12-18 06:32:32 +01:00
Amir Masoud Abdol
9e1b456953 Provisioning: Install vcpkg on Linux
- Building the vcpkg executable
- Cloning an internal mirror of the vcpkg's official repository, and
  setting the VCPKG_ROOT to its path. The mirror is under my personal
  namespace in `git.qt.io` and will be replaced by official qt mirror
  in the future.
- Adding an empty `vcpkg.json` for Linux.
- Setting environment variables for Binary and Asset cache
- Run `install-vcpkg.sh` on all active Linux hosts

Task-number: QTBUG-115715
Change-Id: I9a4249a2fc265e4dc4c3083d1b411dffb84bfdf3
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2023-12-18 06:32:22 +01:00
Amir Masoud Abdol
c1847f4f5b Provisioning: Install zip on Linux
Vcpkg needs zip for compressing the build artifacts, etc. for caching.

Task-number: QTBUG-115715
Change-Id: I1f0c056ca44a94ddfc181e6ce0213790e616e431
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2023-12-18 06:32:12 +01:00
Amir Masoud Abdol
d591095e7c Provisioning: Install jq
jq is used during the provisioning of vcpkg ports to extract the version
string of packages from vcpkg.json file.

Task-number: QTBUG-115715
Change-Id: I73d95b8d8399b25a9aa58855b9d65cac968618fc
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2023-12-18 06:32:00 +01:00
Amir Masoud Abdol
991ed8bc74 Provisioning: Install cif-utils (and keyutils) for mounting SMB on Linux
Change-Id: I91df89bd9741010f384c2c097363614438819a92
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
2023-11-05 10:05:55 +01:00
Amir Masoud Abdol
10b0282ea2 Provisioning: Mount Vcpkg Cache Drive on Linux
Change-Id: Ib7345f622e05248aa0a61e44a4d079666e56ae7d
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
2023-11-05 10:05:47 +01:00
Tony Sarajärvi
620666bce4 Fix shellcheck complaints about provisioning scripts
Also adds executable attributes to shell scripts that were missing it.

Change-Id: Id52ef495147fdbfb5cb1a1f711fac530e0e85f3b
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2023-09-13 06:44:02 +00:00
Axel Spoerl
095fb20175 Add cache cleanup script to openSuSE 15.4 and 15.5 provisioning
Change-Id: I5f3465f1492fd5c047cfe4cd570a06ec25a73fad
Reviewed-by: Toni Saario <toni.saario@qt.io>
2023-09-02 13:58:38 +02:00
Axel Spoerl
71b55915f0 OpenSuSE: disable kwin overview
The KDE window manager kwin launches window overview, when the mouse
remains in the top left for about 1 second. This causes flakiness in
autotests, if they move the mouse to the top left.

=> Disable the overview function, which is enabled by default.

Change-Id: I43925d15db99f5d40b6cc0cdba39203513e8c59f
Reviewed-by: Toni Saario <toni.saario@qt.io>
2023-09-01 06:16:49 +02:00
Tero Heikkinen
0122ea6e0a Replace OpenSUSE leap 15.4 with OpenSUSE leap 15.5
OpenSUSE 15.5 will replace 15.4 in yaml configurations
at first and OpenSUSE 15.4 scripts are still kept for some time.

OpenSUSE 15.4 scripts will be removed later.

Task-number: QTQAINFRA-5666
Change-Id: Ic04dee5935b2d0ea9b99dd103f796d38ea90ba2d
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2023-08-29 09:56:43 +03:00