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>
This commit is contained in:
Tero Heikkinen 2023-06-27 17:44:19 +03:00
parent a47b307520
commit 0122ea6e0a
36 changed files with 373 additions and 9 deletions

View File

@ -1,8 +1,8 @@
Version: 2
Configurations:
-
Id: 'opensuse-15.4-host-asan'
Template: 'qtci-linux-openSUSE-15.4-x86_64-50'
Id: 'opensuse-15.5-host-asan'
Template: 'qtci-linux-openSUSE-15.5-x86_64-51'
Compiler: 'GCC'
Features: ['Sccache', 'WarningsAreErrors', 'UseConfigure', 'UseAddressSanitizer']
Configure arguments: '-nomake examples -developer-build'

View File

@ -39,8 +39,8 @@ Configurations:
Features: ['Sccache', 'TestOnly']
Platform dependency: 'ubuntu-22.04'
-
Id: 'opensuse-15.4-developer-build'
Template: 'qtci-linux-openSUSE-15.4-x86_64-50'
Id: 'opensuse-15.5-developer-build'
Template: 'qtci-linux-openSUSE-15.5-x86_64-51'
Compiler: 'GCC'
Features: ['Sccache', 'WarningsAreErrors', 'UseConfigure']
Configure arguments: '-nomake examples -developer-build'

View File

@ -2,10 +2,10 @@ Version: 2
Configurations:
-
Id: 'webassembly-linux-thread-asyncify'
Template: 'qtci-linux-openSUSE-15.4-x86_64-50'
Template: 'qtci-linux-openSUSE-15.5-x86_64-51'
Target os: 'WebAssembly'
Compiler: 'GCC'
Platform dependency: 'opensuse-15.4-developer-build'
Platform dependency: 'opensuse-15.5-developer-build'
Features: ['Sccache', 'DoNotRunTests', 'UseConfigure']
Environment variables: [
'EM_CONFIG={{.Env.EMSDK}}/.emscripten',

View File

@ -8,7 +8,7 @@ Include: [
cmake_platforms.yaml: [
"ubuntu-22.04",
"ubuntu-22.04-documentation",
"opensuse-15.4-developer-build",
"opensuse-15.5-developer-build",
"sles-15_sp4-static",
"windows-10_22h2-msvc2019",
"windows-10_22h2-msvc2022",

View File

@ -8,7 +8,7 @@ Include: [
cmake_platforms.yaml: [
"ubuntu-22.04",
"ubuntu-22.04-documentation",
"opensuse-15.4-developer-build",
"opensuse-15.5-developer-build",
"sles-15_sp4-static",
"windows-10_22h2-msvc2019",
"windows-10_22h2-msvc2022",

View File

@ -2,7 +2,7 @@ Version: 2
Configurations:
-
Id: 'webassembly-linux-thread-asyncify-tests'
Template: 'qtci-linux-openSUSE-15.4-x86_64-50'
Template: 'qtci-linux-openSUSE-15.5-x86_64-51'
Target os: 'WebAssembly'
Compiler: 'GCC'
Features: ['Sccache', 'TestOnly']

View File

@ -0,0 +1,43 @@
### OpenSUSE Leap 15.5 ###
## KDE ##
## In qtci-linux-openSUSE-15.5-x86_64-51 > Graphics Platform: X11 (System default) ##
# Installation #
Language: English (US)
Keyboard Layout: English (US)
Activate online repositories during installation (yes)
Use default selections
Desktop with KDE Plasma
Suggested Partitioning - default values
Time Zone: UTC
## Configurations ##
Before coin-setup add 'qt ALL=NOPASSWD: ALL' to /etc/sudoers.d/qt
Download and run coin-setup binary - http://coin/coin/binary/linux_amd64/coin-setup
YaST - System - Services Manager - Firewalld - Stop
# enable ssh access
sudo rcsshd start
Workspace Behavior - Screen locking - Lock screen automatically - unselect options
Startup and Shutdown - Behavior - Login Screen - Select Automatically log in with session (System default)
Add below to '$HOME/.config/autostart/coin-bootstrap-agent.desktop' if missing
[Desktop Entry]
Type=Application
Exec=/usr/bin/gnome-terminal -e "/home/qt/bootstrap-agent /dev/ttyS0"
Hidden=false
X-GNOME-Autostart-enabled=true
Name=Coin
Notifications
Critical notifications - unselect
Low priority notifications - unselect
Application progress: Show in task manager - unselect
Show in notifications - unselect
Notification badges: Show in task manager - unselect
Display and Monitor - Display Configuration - 1280x800
Power Management: Screen Energy Saving - unselect
Suspend Session - unselect
Reboot

View File

@ -0,0 +1,4 @@
#!/bin/sh
echo "ethtool -K \${DEVICE_IFACE} tso off" | sudo tee -a /etc/NetworkManager/dispatcher.d/net_tso_off
sudo chmod +x /etc/NetworkManager/dispatcher.d/net_tso_off

View File

@ -0,0 +1,3 @@
#!/bin/sh
"$(dirname "$0")"/../common/unix/telegraf_install.sh

View File

@ -0,0 +1,6 @@
#!/usr/bin/env bash
set -ex
BASEDIR=$(dirname "$0")
"$BASEDIR/../common/linux/set_ulimit.sh"

View File

@ -0,0 +1,42 @@
#!/usr/bin/env bash
# Copyright (C) 2022 The Qt Company Ltd.
set -ex
BASEDIR=$(dirname "$0")
# shellcheck source=../common/shared/network_test_server_ip.txt
source "$BASEDIR/../common/shared/network_test_server_ip.txt"
# shellcheck source=../common/unix/check_and_set_proxy.sh
source "${BASH_SOURCE%/*}/../common/unix/check_and_set_proxy.sh"
# https://bugzilla.opensuse.org/show_bug.cgi?id=1032027
sudo btrfs quota disable /
sed -i '$ a\[Daemon\]\nAutolock=false\nLockOnResume=false' ~/.config/kscreenlockerrc
sudo sed -i 's|GRUB_TIMEOUT=8|GRUB_TIMEOUT=0|g' /etc/default/grub
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
echo "Set Network Test Server address to $network_test_server_ip in /etc/hosts"
echo "$network_test_server_ip qt-test-server qt-test-server.qt-test-net" | sudo tee -a /etc/hosts
echo "Set DISPLAY"
echo 'export DISPLAY=":0"' >> ~/.bashrc
echo "Disabling file indexing."
sudo balooctl disable
sudo systemctl stop packagekit
sudo systemctl disable packagekit
sudo systemctl mask packagekit
while sudo fuser /usr/lib/packagekitd >/dev/null 2>&1 ; do
echo "Waiting for PackageKit to finish..."
sleep 0.5
done
echo "Disabling update notifications"
sudo zypper -nq remove plasma5-pk-updates
# shellcheck disable=SC2031
if [ "$http_proxy" != "" ]; then
sudo sed -i 's/PROXY_ENABLED=\"no\"/PROXY_ENABLED=\"yes\"/' /etc/sysconfig/proxy
sudo sed -i "s|HTTP_PROXY=\".*\"|HTTP_PROXY=\"$proxy\"|" /etc/sysconfig/proxy
fi

View File

@ -0,0 +1,3 @@
#!/usr/bin/env bash
# shellcheck source=../common/linux/disable-ntp_linux.sh
source "${BASH_SOURCE%/*}/../common/linux/disable-ntp_linux.sh"

View File

@ -0,0 +1,12 @@
#!/usr/bin/env bash
# Copyright (C) 2020 The Qt Company Ltd.
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
set -ex
sudo sed -i "s#baseurl=.*#baseurl=http://repo-clones.ci.qt.io/repos/opensuse/distribution/leap/15.5/repo/oss/#g" /etc/zypp/repos.d/repo-oss.repo
sudo sed -i "s#baseurl=.*#baseurl=http://repo-clones.ci.qt.io/repos/opensuse/distribution/leap/15.5/repo/non-oss/#g" /etc/zypp/repos.d/repo-non-oss.repo
sudo sed -i "s#baseurl=.*#baseurl=http://repo-clones.ci.qt.io/repos/opensuse/update/leap/15.5/oss/#g" /etc/zypp/repos.d/repo-update.repo
sudo sed -i "s#baseurl=.*#baseurl=http://repo-clones.ci.qt.io/repos/opensuse/update/leap/15.5/non-oss/#g" /etc/zypp/repos.d/repo-update-non-oss.repo
sudo zypper lr -u

View File

@ -0,0 +1,76 @@
#!/usr/bin/env bash
# Copyright (C) 2022 The Qt Company Ltd.
set -ex
sudo zypper -nq install git gcc9 gcc9-c++ ninja
sudo /usr/sbin/update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 1 \
--slave /usr/bin/g++ g++ /usr/bin/g++-9 \
--slave /usr/bin/cc cc /usr/bin/gcc-9 \
--slave /usr/bin/c++ c++ /usr/bin/g++-9
sudo zypper -nq install bison flex gperf \
zlib-devel \
systemd-devel \
glib2-devel \
libopenssl-3-devel \
freetype2-devel \
fontconfig-devel \
sqlite3-devel \
libxkbcommon-devel \
libxkbcommon-x11-devel \
pcre2-devel libpng16-devel
# EGL support
sudo zypper -nq install Mesa-libEGL-devel Mesa-libGL-devel
# Xinput2
sudo zypper -nq install libXi-devel
# system provided XCB libraries
sudo zypper -nq install xcb-util-devel xcb-util-image-devel xcb-util-keysyms-devel \
xcb-util-wm-devel xcb-util-renderutil-devel xcb-util-cursor-devel
# ICU
sudo zypper -nq install libicu-devel
# qtwebengine
# Removing nodejs12 as it's not available and testing with common nodejs 18.16.0
sudo zypper -nq install alsa-devel dbus-1-devel libxkbfile-devel \
libXcomposite-devel libXcursor-devel libXrandr-devel libXtst-devel \
mozilla-nspr-devel mozilla-nss-devel glproto-devel \
libxshmfence-devel libXdamage-devel
# qtwebkit
sudo zypper -nq install libxml2-devel libxslt-devel
# yasm (for ffmpeg in multimedia)
sudo zypper -nq install yasm
# GStreamer (qtwebkit and qtmultimedia), pulseaudio (qtmultimedia)
sudo zypper -nq install gstreamer-devel gstreamer-plugins-base-devel libpulse-devel
# cups
sudo zypper -nq install cups-devel
#speech-dispatcher
sudo zypper -nq install libspeechd-devel
# make
sudo zypper -nq install make
# Tools to build Git
sudo zypper -nq install autoconf libcurl-devel libexpat-devel
# OpenSSL 3
sudo zypper -nq install openssl-3
# Valgrind (Needed for testlib selftests)
sudo zypper -nq install valgrind-devel
gccVersion="$(gcc --version |grep gcc |cut -b 17-23)"
echo "GCC = $gccVersion" >> versions.txt
OpenSSLVersion="$(openssl-3 version |cut -b 9-14)"
echo "OpenSSL = $OpenSSLVersion" >> ~/versions.txt

View File

@ -0,0 +1,7 @@
#!/usr/bin/env bash
set -ex
BASEDIR=$(dirname "$0")
# shellcheck source=../common/unix/libclang-v100-dyn.sh
"$BASEDIR/../common/unix/libclang-v100-dyn.sh"

View File

@ -0,0 +1,7 @@
#!/usr/bin/env bash
set -ex
BASEDIR=$(dirname "$0")
# shellcheck source=../common/unix/libclang.sh
"$BASEDIR/../common/unix/libclang.sh"

View File

@ -0,0 +1,13 @@
#!/usr/bin/env bash
# Copyright (C) 2022 The Qt Company Ltd.
# provides: python development libraries
# version: provided by default Linux distribution repository
# needed to build pyside
set -ex
sudo zypper -nq install python-devel python-xml
# install python3
sudo zypper -nq install python3-base python3 python3-pip python3-devel python3-virtualenv python3-wheel

View File

@ -0,0 +1,5 @@
#!/usr/bin/env bash
set -ex
"$(dirname "$0")/../common/linux/cmake_linux.sh"

View File

@ -0,0 +1,5 @@
#!/usr/bin/env bash
set -ex
"$(dirname "$0")/../common/unix/install-openssl.sh" "linux"

View File

@ -0,0 +1,8 @@
#!/usr/bin/env bash
set -ex
"$(dirname "$0")/../common/linux/cmake_min_supported.sh"
# For testing Qt's CMake deployment API with CMake < 3.21, we need patchelf.
sudo zypper -nq install patchelf

View File

@ -0,0 +1,3 @@
#!/usr/bin/env bash
source "${BASH_SOURCE%/*}/../common/linux/sccache.sh"

View File

@ -0,0 +1,6 @@
#!/usr/bin/env bash
# Copyright (C) 2017 The Qt Company Ltd.
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
# shellcheck source=../common/unix/mqtt_broker.sh
source "${BASH_SOURCE%/*}/../common/unix/mqtt_broker.sh"

View File

@ -0,0 +1,6 @@
#!/usr/bin/env bash
set -ex
BASEDIR=$(dirname "$0")
"$BASEDIR/../common/unix/install-conan.sh" "linux"

View File

@ -0,0 +1,6 @@
#!/usr/bin/env bash
set -ex
BASEDIR=$(dirname "$0")
"$BASEDIR/../common/linux/install-git.sh"

View File

@ -0,0 +1,6 @@
#!/usr/bin/env bash
set -ex
BASEDIR=$(dirname "$0")
"$BASEDIR/../common/linux/install-flite.sh"

View File

@ -0,0 +1,8 @@
#!/usr/bin/env bash
# Copyright (C) 2018 The Qt Company Ltd.
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
set -ex
# shellcheck source=../common/unix/emsdk.sh
source "${BASH_SOURCE%/*}/../common/unix/emsdk.sh"

View File

@ -0,0 +1,9 @@
#!/usr/bin/env bash
# Copyright (C) 2022 The Qt Company Ltd.
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
set -ex
# shellcheck source=../common/unix/install_protobuf.sh
source "${BASH_SOURCE%/*}/../common/unix/install_protobuf.sh"

View File

@ -0,0 +1,9 @@
#!/usr/bin/env bash
# Copyright (C) 2022 The Qt Company Ltd.
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
set -ex
# shellcheck source=../common/unix/install_grpc.sh
source "${BASH_SOURCE%/*}/../common/unix/install_grpc.sh"

View File

@ -0,0 +1,9 @@
#!/usr/bin/env bash
# Copyright (C) 2020 The Qt Company Ltd.
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
# This script installs QEMU Guest Agent
set -ex
sudo zypper -nq install qemu-guest-agent

View File

@ -0,0 +1,24 @@
#!/usr/bin/env bash
# Copyright (C) 2022 The Qt Company Ltd.
set -ex
# This script will install up-to-date google Chrome needed for Webassembly auto tests.
# shellcheck source=../common/unix/DownloadURL.sh
source "${BASH_SOURCE%/*}/../common/unix/DownloadURL.sh"
# Webassembly auto tests run requires latest Chrome. Let's use the latest stable one which means we can't cache this
sudo zypper ar http://dl.google.com/linux/chrome/rpm/stable/x86_64 Google-Chrome
# Add the Google public signing key
externalUrl="https://dl.google.com/linux/linux_signing_key.pub"
Download "$externalUrl" "/tmp/linux_signing_key.pub"
sudo rpm --import /tmp/linux_signing_key.pub
# Update the repo cache of zypper and install Chrome
sudo zypper ref -f
sudo zypper -nq install --no-confirm google-chrome-stable
# Install Chromedriver Chromium
sudo zypper -nq install chromedriver

View File

@ -0,0 +1,3 @@
#!/usr/bin/env bash
source "${BASH_SOURCE%/*}/../common/linux/bootstrap-autostart.sh"

View File

@ -0,0 +1,3 @@
#!/usr/bin/env bash
source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg.sh" "linux"

View File

@ -0,0 +1,8 @@
#!/usr/bin/env bash
# Copyright (C) 2022 The Qt Company Ltd.
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
set -ex
BASEDIR=$(dirname "$0")
"$BASEDIR/../common/linux/mimersql.sh" "openssl-1" "rpm"

View File

@ -0,0 +1,4 @@
#!/usr/bin/env bash
BASEDIR=$(dirname "$0")
"$BASEDIR/../common/unix/squishInstall.sh"

View File

@ -0,0 +1,9 @@
#!/usr/bin/env bash
# Copyright (C) 2017 The Qt Company Ltd.
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
set -ex
# Having proxy set while running autotests makes them fail
sudo sed -i 's/PROXY_ENABLED=\"yes\"/PROXY_ENABLED=\"no\"/' /etc/sysconfig/proxy

View File

@ -0,0 +1,17 @@
#!/usr/bin/env bash
# Copyright (C) 2018 The Qt Company Ltd.
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
# This script needs to be called last during provisioning so that the software information will show up last in provision log.
# Storage installed RPM packages information
set -ex
# shellcheck disable=SC2129
echo "*********************************************" >> ~/versions.txt
echo "***** All installed RPM packages *****" >> ~/versions.txt
rpm -q -a | sort >> ~/versions.txt
echo "*********************************************" >> ~/versions.txt
"$(dirname "$0")/../common/linux/version.sh"