Skip to content

Commit 5a79cf9

Browse files
Tero Heikkinenliangqi
authored andcommitted
Provisioning: Add Ubuntu 24.04 x64 as non-blocking in CI
Adding all builds Wayland which is the default display server for Ubuntu. Testing each module in X11, and testing Wayland client plugin for each module in Qt Wayland integration. [CI Platforms] TestDocs was removed, see also QTQAINFRA-6068. Task-number: QTQAINFRA-6322 Task-number: QTQAINFRA-6098 Task-number: QTQAINFRA-6203 Change-Id: I8db0d861940bdd558384f1cc24243c6a84e133e2 Reviewed-by: Liang Qi <[email protected]>
1 parent bd4c8c2 commit 5a79cf9

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

54 files changed

+1059
-1
lines changed

coin/platform_configs/cmake_platforms.yaml

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,37 @@ Configurations:
6060
'QT_QPA_PLATFORM=offscreen'
6161
]
6262
Platform dependency: 'ubuntu-24.04-arm64'
63+
# Build on Ubuntu 24.04 x64 Wayland and test on both X11 and Wayland (Wayland=default)
64+
-
65+
Id: 'ubuntu-24.04-x64-documentation'
66+
Template: 'qtci-linux-Ubuntu-24.04-x86_64-50'
67+
Compiler: 'GCC'
68+
Features: ['Sccache', 'Documentation', 'UseConfigure', 'DoNotRunTests']
69+
Configure arguments: '-make examples -developer-build -c++std c++20 -linker gold -qtlibinfix TestInfix -qtnamespace TestNamespace'
70+
Environment variables: ['NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}}']
71+
-
72+
Id: 'ubuntu-24.04-x64'
73+
Template: 'qtci-linux-Ubuntu-24.04-x86_64-50'
74+
Compiler: 'GCC'
75+
Features: ['Sccache', 'UseConfigure', 'DoNotRunTests']
76+
Configure arguments: '-nomake examples -release -force-debug-info -separate-debug-info -headersclean -qt-libjpeg -qt-libpng -qt-pcre -qt-harfbuzz -qt-doubleconversion -no-libudev -bundled-xcb-xinput'
77+
Environment variables: [
78+
'CMAKE_ARGS=-DOpenGL_GL_PREFERENCE=LEGACY',
79+
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DINPUT_headersclean=ON'
80+
]
81+
# Test on Ubuntu 24.04 x64 X11
82+
-
83+
Id: 'ubuntu-24.04-x64-documentation-x11-tests'
84+
Template: 'qtci-linux-Ubuntu-24.04-x86_64-51'
85+
Compiler: 'GCC'
86+
Features: ['Sccache', 'TestOnly', 'InsignificantTests']
87+
Platform dependency: 'ubuntu-24.04-x64-documentation'
88+
-
89+
Id: 'ubuntu-24.04-x64-x11-tests'
90+
Template: 'qtci-linux-Ubuntu-24.04-x86_64-51'
91+
Compiler: 'GCC'
92+
Features: ['Sccache', 'TestOnly', 'InsignificantTests']
93+
Platform dependency: 'ubuntu-24.04-x64'
6394
-
6495
Id: 'opensuse-15.5-developer-build'
6596
Template: 'qtci-linux-openSUSE-15.5-x86_64-52'

coin/platform_configs/default.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,3 +5,8 @@ Configurations:
55
Template: 'qtci-linux-Ubuntu-22.04-x86_64-51'
66
Compiler: 'GCC'
77
Features: ['TestOnly', 'LicenseCheck', 'UseLegacyInstructions']
8+
-
9+
Id: 'ubuntu-24.04-x64-license-check'
10+
Template: 'qtci-linux-Ubuntu-24.04-x86_64-50'
11+
Compiler: 'GCC'
12+
Features: ['TestOnly', 'LicenseCheck', 'UseLegacyInstructions']

coin/platform_configs/qtwayland.yaml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,19 @@ Configurations:
2424
Compiler: 'GCC'
2525
Features: ['TestOnly', 'RunDependencyTests', 'InsignificantTests']
2626
Platform dependency: 'ubuntu-24.04-arm64'
27+
# Test on Ubuntu 24.04 x64 Wayland
28+
-
29+
Id: 'ubuntu-24.04-x64-documentation-wayland-tests'
30+
Template: 'qtci-linux-Ubuntu-24.04-x86_64-50'
31+
Compiler: 'GCC'
32+
Features: ['TestOnly', 'RunDependencyTests', 'InsignificantTests']
33+
Platform dependency: 'ubuntu-24.04-x64-documentation'
34+
-
35+
Id: 'ubuntu-24.04-x64-wayland-tests'
36+
Template: 'qtci-linux-Ubuntu-24.04-x86_64-50'
37+
Compiler: 'GCC'
38+
Features: ['TestOnly', 'RunDependencyTests', 'InsignificantTests']
39+
Platform dependency: 'ubuntu-24.04-x64'
2740
# Test on Debian-11.6 Wayland
2841
-
2942
Id: 'debian-11.6-arm64-wayland-tests'
Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
### Ubuntu 24.04 ###
2+
Hard Disk: 1TB
3+
4+
Language: English (United States)
5+
Time & Date: Etc/Coordinated Universal Time
6+
Software Selection: Desktop image, minimal install
7+
8+
Language: English (US)
9+
Typing: English (US)
10+
Privacy: Location Services: OFF
11+
Connect Your Online Accounts: Skip
12+
13+
14+
# Configure Settings
15+
Notifications:
16+
* Notification Popups: OFF
17+
* Lock Screen Notifications: OFF
18+
Privacy:
19+
* Screen Lock: OFF
20+
* File History & Rubbish Bin:
21+
* File History: Off
22+
* Diagnostics:
23+
* Send error reports to Canonical: Never
24+
Power:
25+
* Blank screen: Never
26+
* Automatic suspend: Off
27+
Appearance:
28+
* Auto-hide the dock: Off
29+
Devices:
30+
* Displays: Resolution 1280 x 800
31+
Details:
32+
* Time Zone: UTC
33+
* run "sudo timedatectl set-timezone UTC"
34+
* Users: Automatic login on
35+
36+
Software & Updates:
37+
* Updates:
38+
* Subscribed to: Security updates only
39+
* Automatically check for updates: Never
40+
* Notify me of a new Ubuntu version: Never
41+
42+
# Add user to sudoers
43+
Add 'qt ALL=NOPASSWD: ALL' to /etc/sudoers.d/qt
44+
45+
Add 'GRUB_GFXMODE=1280x800' to /etc/default/grub
46+
run 'sudo grub-mkconfig'
47+
48+
# Install ssh server
49+
run 'sudo apt install openssh-server'
50+
51+
# Disable firewall
52+
run 'sudo ufw disable'
53+
54+
# Fetch and run coin-setup (in Opennebula)
55+
Download http://coin/coin/binary/linux_amd64/coin-setup
56+
run 'chmod +x ./coin-setup' to make it executable
57+
run './coin-setup'
58+
59+
Reboot
60+

coin/provisioning/common/unix/install-conan.sh

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,10 @@ source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
99
# Note! Python3 is required for Conan installation
1010

1111
os="$1"
12+
params="$2"
1213

1314
# Install Conan to Python user install directory (typically ~./local/)
14-
pip3 install conan --user
15+
pip3 install conan --user $params
1516

1617
SetEnvVar "CONAN_REVISIONS_ENABLED" "1"
1718
SetEnvVar "CONAN_V2_MODE" "1"
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
#!/usr/bin/env bash
2+
# Copyright (C) 2023 The Qt Company Ltd.
3+
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
4+
5+
set -ex
6+
7+
# Disalbe updates
8+
echo "Disabling auto-upgrades"
9+
sudo sed -i 's/"1"/"0"/g' /etc/apt/apt.conf.d/20auto-upgrades
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
#!/bin/sh
2+
#Copyright (C) 2023 The Qt Company Ltd
3+
#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
4+
5+
echo "ethtool -K \${DEVICE_IFACE} tso off" | sudo tee -a /etc/NetworkManager/dispatcher.d/pre-up.d/net_tso_off
6+
sudo chmod +x /etc/NetworkManager/dispatcher.d/pre-up.d/net_tso_off
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
#!/bin/sh
2+
3+
"$(dirname "$0")"/../common/unix/telegraf_install.sh
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
#!/usr/bin/env bash
2+
#Copyright (C) 2023 The Qt Company Ltd
3+
#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
4+
5+
set -ex
6+
7+
BASEDIR=$(dirname "$0")
8+
"$BASEDIR/../common/linux/set_ulimit.sh"
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
#!/usr/bin/env bash
2+
# Copyright (C) 2017 The Qt Company Ltd.
3+
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
4+
5+
# This script modifies system settings for automated use
6+
7+
set -ex
8+
9+
# shellcheck source=../common/unix/check_and_set_proxy.sh
10+
source "${BASH_SOURCE%/*}/../common/unix/check_and_set_proxy.sh"
11+
12+
NTS_IP=10.212.2.216
13+
14+
echo "Set timezone to UTC."
15+
sudo timedatectl set-timezone Etc/UTC
16+
echo "Timeout for blanking the screen (0 = never)"
17+
gsettings set org.gnome.desktop.session idle-delay 0
18+
echo "Prevents screen lock when screesaver goes active."
19+
gsettings set org.gnome.desktop.screensaver lock-enabled false
20+
echo "Set grub timeout to 0"
21+
sudo sed -i 's|GRUB_TIMEOUT=10|GRUB_TIMEOUT=0|g' /etc/default/grub
22+
sudo update-grub
23+
24+
# https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1624320
25+
# Checking if Ubuntu 20.04 works without this
26+
#echo "Setting up workaround for Ubuntu systemd resolve bug"
27+
#sudo rm -f /etc/resolv.conf
28+
#sudo ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf
29+
30+
# remove hostname to get unique based on IP address
31+
sudo rm /etc/hostname
32+
33+
echo "Set Network Test Server address to $NTS_IP in /etc/hosts"
34+
echo "$NTS_IP qt-test-server qt-test-server.qt-test-net" | sudo tee -a /etc/hosts
35+
36+
echo 'LC_ALL=en_US.UTF8' | sudo tee /etc/default/locale
37+
38+
if [ "$http_proxy" != "" ]; then
39+
echo "Acquire::http::Proxy \"$proxy\";" | sudo tee -a /etc/apt/apt.conf
40+
fi
41+
42+
# This script diverts qtlogging.ini file so we don't get debugging related auto-test failures.
43+
sudo dpkg-divert --divert /etc/xdg/QtProject/qtlogging.ini.foo --rename /etc/xdg/QtProject/qtlogging.ini

0 commit comments

Comments
 (0)