Commit Graph

35 Commits

Author SHA1 Message Date
Tero Heikkinen
4a184bed88 Unix: Bash scripts needs to be executable
Pick-to: 6.10 6.8 6.5
Task-number: QTQAINFRA-7709
Change-Id: Ia8802cc2c5e7fb8ed63e261f70fb343cd55a1dfa
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
(cherry picked from commit 0ab91c0886)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2026-02-23 05:30:25 +00:00
Tero Heikkinen
00b0638d66 Linux: Keep the IANA time zone database (tzdata/timezone) up to date
Need upgrade of the IANA db to 2022g or later with Ubuntu 22.04. Ensure
zoneinfo (tzdata/timezone) always stays up to date with all Linux OS.

Both packages (tzdata/timezone) provide the same thing:
  - the IANA TZ database under /usr/share/zoneinfo/

tzdata:
  - Debian
  - Ubuntu
  - RHEL

timezone:
  - openSUSE
  - SLES

Pick-to: 6.10 6.8 6.5
Fixes: COIN-1282
Change-Id: I6fe7d548470d8f0f63e5451a6b5203e658575f48
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
(cherry picked from commit 9deb066d4c)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2026-02-23 05:30:23 +00:00
Johanna Äijälä
622385a2ba Provisioning: cleanup, remove Squish installations
RTA is using different means to install Squish for RTA tests, no need
to do it in general provisioning.

Change-Id: I4858a282ad7a0b1412f6dd0f4876109fe54a4c88
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
(cherry picked from commit 4bff151490)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Reviewed-by: Aku Pietikäinen <aku.pietikainen@qt.io>
2026-01-02 11:56:35 +00: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
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
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
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
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
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
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
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
Alexandru Croitor
6ab08cfdc4 coin: Update linux SLES Python to 3.12.3
Pick-to: 6.8
Change-Id: I217feaee4071ff06f6fd16a2f3b2111d87ce1862
Reviewed-by: Aku Pietikäinen <aku.pietikainen@qt.io>
Reviewed-by: Toni Saario <toni.saario@qt.io>
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
2024-06-20 06:56:14 +02:00
Artem Dyomin
83adc86c53 Build shared FFmpeg on Linux and set dependencies to stubs
Pick-to: 6.8
Task-number: QTBUG-120990
Change-Id: I8fccf8ef58cf6334e71287450ee30cc2256516d9
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2024-06-15 16:59:36 +00:00
Dimitrios Apostolou
c66f8407a8 Enable automatic gdb stacktrace in QTest, in case a test crashes
On Linux, this requires that gdb can be found in PATH, and that no
kernel security settings like yama.ptrace_scope  prevent it.

Patch contains also a drive-by architecture detection fix for Debian arm64.

Fixes: QTQAINFRA-6029
Fixes: QTQAINFRA-5940
Fixes: QTQAINFRA-6030
Fixes: QTQAINFRA-6046
Fixes: QTQAINFRA-6012
Fixes: QTQAINFRA-5930
Task-number: QTQAINFRA-5933
Change-Id: Ie6debde94c1cc5783161ffa7354b58734c372702
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Reviewed-by: Toni Saario <toni.saario@qt.io>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
2024-01-31 20:07:09 +01:00
Tero Heikkinen
f7702f8e42 Provisioning: Add vulkan package to SLES 15 SP5 for RTA usage
Task-number: QTQAINFRA-5969
Task-number: QTBUG-115722
Pick-to: 6.7 6.6
Change-Id: I16bedf931ea09b7dc5589ec2f465952ea66b73ca
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
Reviewed-by: Simo Fält <simo.falt@qt.io>
2023-12-18 07:32:49 +02: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
Tony Sarajärvi
cef68a74ea Fix shellcheck complaints in vcpkg mounting scripts
Change-Id: Iae479d43f98e057ebffdc66a407691bdcfc14229
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2023-12-15 12:35:25 +00:00
Johanna Äijälä
72861b5f57 Provisioning: add nodejs18 to SLES15_SP5
Needed for QtWebEngine build done in RTA.

Pick-to: 6.6
Change-Id: Ia2338ac9446960cd6a56d4956126698e9400af32
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
2023-11-08 22:38:39 +02: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
Tero Heikkinen
530f00502a Provisioning: Fix SLES 15 SP5 packagekit flakiness
Task-number: QTQAINFRA-5899
Change-Id: Ie5070cc4d99e7fe451c394c3078aeb60e8332fff
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2023-10-27 21:55:15 +03:00
Tony Sarajärvi
1576772ad9 Fix shellcheck complaints on SLES provisioning script
Change-Id: I0ac463851ef65f449165f7fa36008093850861db
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
2023-09-28 06:49:16 +00:00
Tero Heikkinen
f81b389059 Add SLES 15.5 to CI with InsignificantTests flag enabled
SLES 15.5 will be added as parallel with SLES 15.4 until
packaging site gives green light to remove the older version.

Upgrade nodejs to commonly used 18.16.0 version

This is following the new CI process to introduce new platforms in
parallel with Insignificant flags in use. Flags removed later after
flakiness has been monitored enough to give green for OS replacing.

Pick-to: 6.6
Task-number: QTQAINFRA-5667
Change-Id: I66d325f0e20f536b8e8b61ce3eb9f1dbc6a9f204
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
2023-09-14 13:59:23 +03:00