Enable QNX8.0 builds in CI

Added CI configs for QNX8.0. Toolchain updated to latest version.
Qemu build files updated for new toolchain.

Task-number: QTBUG-131708
Change-Id: I25f5386c85f6bc2f87c69bf820d1bacc0ebd2a47
Reviewed-by: Simo Fält <simo.falt@qt.io>
This commit is contained in:
Marianne Yrjänä
2025-05-23 16:06:12 +03:00
parent 1dffbe8157
commit 3247258700
9 changed files with 53 additions and 11 deletions

View File

@@ -1,7 +1,7 @@
Version: 2
Include: [
cmake_platforms_qemu.yaml,
cmake_platforms_qemu_qnx710.yaml,
cmake_platforms_qemu_qnx.yaml,
cmake_platforms_target_android.yaml,
cmake_platforms_wasm.yaml,
macos.yaml

View File

@@ -14,7 +14,7 @@ Configurations:
'TARGET_CMAKE_ARGS=-DCMAKE_TOOLCHAIN_FILE={{.Env.QNX_710}}/qnx-toolchain-x8664.cmake -DQT_GENERATE_WRAPPER_SCRIPTS_FOR_ALL_HOSTS=ON',
'QT_CMAKE_DIR=/opt/cmake-3.30.5/bin',
'QNX_TEST_ENV=LD_LIBRARY_PATH={{.Env.QNX_QEMU_LD_LIBRARY_PATH}} QSG_RHI_BACKEND=software QT_QPA_PLATFORM=offscreen QTEST_ENVIRONMENT=ci',
'NON_QTBASE_TARGET_CMAKE_ARGS= -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include',
'NON_QTBASE_TARGET_CMAKE_ARGS=-DCMAKE_SYSTEM_VERSION=710 -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include',
'QNX_QEMU={{.Env.QNX_710_QEMU}}',
'VCPKG_HOST_TRIPLET=x64-linux-qt',
'VCPKG_TARGET_TRIPLET=x64-qnx-qt',
@@ -31,7 +31,7 @@ Configurations:
Environment variables: [
'TARGET_CONFIGURE_ARGS=-release -force-debug-info -no-dbus -nomake examples',
'TARGET_CMAKE_ARGS=-DCMAKE_TOOLCHAIN_FILE={{.Env.QNX_710}}/qnx-toolchain-aarch64le.cmake -DQT_GENERATE_WRAPPER_SCRIPTS_FOR_ALL_HOSTS=ON',
'NON_QTBASE_TARGET_CMAKE_ARGS= -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include',
'NON_QTBASE_TARGET_CMAKE_ARGS=-DCMAKE_SYSTEM_VERSION=710 -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include',
'VCPKG_HOST_TRIPLET=x64-linux-qt',
'VCPKG_TARGET_TRIPLET=arm64-qnx-qt',
]
@@ -47,7 +47,42 @@ Configurations:
Environment variables: [
'TARGET_CONFIGURE_ARGS=-release -force-debug-info -no-dbus -nomake examples',
'TARGET_CMAKE_ARGS=-DCMAKE_TOOLCHAIN_FILE={{.Env.QNX_710}}/qnx-toolchain-armv7le.cmake -DQT_GENERATE_WRAPPER_SCRIPTS_FOR_ALL_HOSTS=ON',
'NON_QTBASE_TARGET_CMAKE_ARGS= -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include',
'NON_QTBASE_TARGET_CMAKE_ARGS=-DCMAKE_SYSTEM_VERSION=710 -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include',
'VCPKG_HOST_TRIPLET=x64-linux-qt',
'VCPKG_TARGET_TRIPLET=armv7-qnx-qt',
]
-
Id: 'qnx-800-x86_64-developer-build-on-linux'
Template: 'qtci-linux-Ubuntu-22.04-x86_64-51'
Target os: 'QNX_800'
Target arch: 'x86_64'
Compiler: 'GCC'
Target compiler: 'QCC'
Platform dependency: 'ubuntu-22.04'
Features: ['Packaging', 'VMSize8', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM', 'InsignificantTests']
Environment variables: [
'TARGET_CONFIGURE_ARGS=-release -force-debug-info -developer-build -no-dbus -nomake examples',
'TARGET_CMAKE_ARGS=-DCMAKE_TOOLCHAIN_FILE={{.Env.QNX_800}}/qnx-toolchain-x8664.cmake -DQT_GENERATE_WRAPPER_SCRIPTS_FOR_ALL_HOSTS=ON',
'QT_CMAKE_DIR=/opt/cmake-3.30.5/bin',
'QNX_TEST_ENV=LD_LIBRARY_PATH={{.Env.QNX_QEMU_LD_LIBRARY_PATH}} QSG_RHI_BACKEND=software QT_QPA_PLATFORM=offscreen QTEST_ENVIRONMENT=ci',
'NON_QTBASE_TARGET_CMAKE_ARGS=-DCMAKE_SYSTEM_VERSION=802 -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include',
'QNX_QEMU={{.Env.QNX_800_QEMU}}',
'VCPKG_HOST_TRIPLET=x64-linux-qt',
'VCPKG_TARGET_TRIPLET=x64-qnx-qt',
]
-
Id: 'qnx-800-arm64-on-linux'
Template: 'qtci-linux-Ubuntu-22.04-x86_64-51'
Target os: 'QNX_800'
Target arch: 'arm64'
Compiler: 'GCC'
Target compiler: 'QCC'
Platform dependency: 'ubuntu-22.04'
Features: ['Packaging', 'DisableTests', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM']
Environment variables: [
'TARGET_CONFIGURE_ARGS=-release -force-debug-info -no-dbus -nomake examples',
'TARGET_CMAKE_ARGS=-DCMAKE_TOOLCHAIN_FILE={{.Env.QNX_800}}/qnx-toolchain-aarch64le.cmake -DQT_GENERATE_WRAPPER_SCRIPTS_FOR_ALL_HOSTS=ON',
'NON_QTBASE_TARGET_CMAKE_ARGS=-DCMAKE_SYSTEM_VERSION=802 -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include',
'VCPKG_HOST_TRIPLET=x64-linux-qt',
'VCPKG_TARGET_TRIPLET=arm64-qnx-qt',
]

View File

@@ -18,7 +18,7 @@ Include: [
cmake_platforms_qemu.yaml: [
"qemu-armv7-developer-build"
],
cmake_platforms_qemu_qnx710.yaml: [
cmake_platforms_qemu_qnx.yaml: [
"qnx-710-x86_64-developer-build-on-linux"
]
]

View File

@@ -18,7 +18,7 @@ Include: [
"windows-11_24H2-msvc2022",
"windows-11_22h2-arm64-msvc2022"
],
cmake_platforms_qemu_qnx710.yaml: [
cmake_platforms_qemu_qnx.yaml: [
"qnx-710-x86_64-developer-build-on-linux",
"qnx-710-arm64-on-linux",
"qnx-710-armv7-on-linux"

View File

@@ -19,7 +19,7 @@ Include: [
"windows-11_24H2-msvc2022",
"windows-11_22h2-arm64-msvc2022"
],
cmake_platforms_qemu_qnx710.yaml: [
cmake_platforms_qemu_qnx.yaml: [
"qnx-710-x86_64-developer-build-on-linux",
"qnx-710-arm64-on-linux",
"qnx-710-armv7-on-linux"

View File

@@ -43,9 +43,9 @@ if [ ! -d "$targetFolder" ]; then
fi
# QNX SDP
sourceFile="http://ci-files01-hki.ci.qt.io/input/qnx/qnx800-windows-linux-20240930.tar.xz"
sourceFile="http://ci-files01-hki.ci.qt.io/input/qnx/qnx800-windows-linux-20250612.tar.xz"
targetFile="qnx800.tar.xz"
sha1="a86d6e001e4ad46f50ed430fb85e8230e730751b"
sha1="d7ca20be6867b569067a17e8b3fa633c7eadad89"
DownloadAndExtract "$sourceFile" "$sha1" "$targetFile" "$targetFolder"
sudo cp "$aarch64le_toolchain" "$targetPath"
@@ -79,6 +79,10 @@ then
exit 1
fi
# Target folder has been renamed on QNX8.0 SDP. Link is created to simplify environment
# setting at qtBase
sudo ln -s $targetPath/target/qnx $targetPath/target/qnx7
# Set env variables
SetEnvVar "QNX_800" "$targetPath"
SetEnvVar "QNX_800_QEMU" "$qemuTargetPath"

View File

@@ -0,0 +1,3 @@
# local/snippets/ifs_files.custom
# Placeholder for local list of files to add to ifs
/usr/libexec/sshd-session=usr/libexec/sshd-session

View File

@@ -21,7 +21,7 @@ fc-cache &
echo "---> Restart ssh daemon"
slay sshd
/system/xbin/sshd -f /system/data/etc/ssh/sshd_config
/system/bin/sshd -f /system/data/etc/ssh/sshd_config
# Add default route so QNX knows where to send
# requests for unknown network

View File

@@ -10,7 +10,7 @@ AuthenticationMethods none
PermitEmptyPasswords yes
PermitRootLogin yes
PidFile none
Subsystem sftp /system/xbin/sftp-server
Subsystem sftp /system/bin/sftp-server
}
# libraries Qt requires