Add RHEL 9 to CI

This will replace RHEL 8

Task-number: QTQAINFRA-5111
Change-Id: Ib65e9b7a2afa85418d5113261bc83ba915b2bce0
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io>
This commit is contained in:
Heikki Halmet 2022-12-07 13:08:37 +00:00
parent 0dfc13cfaf
commit 5880c423c8
14 changed files with 74 additions and 93 deletions

View File

@ -147,8 +147,8 @@ Configurations:
'gRPC_ROOT={{.Env.gRPC_ROOT_msvc}}',
]
-
Id: 'RHEL-8.4-host'
Template: 'qtci-linux-RHEL-8.4-x86_64-50'
Id: 'RHEL-9.0-host'
Template: 'qtci-linux-RHEL-9.0-x86_64-50'
Compiler: 'GCC'
Features: ['Packaging', 'Sccache', 'UseConfigure', 'InstallQt5Dependencies']
Configure arguments: '-nomake examples -release -force-debug-info -headersclean -separate-debug-info -qt-libjpeg -qt-libpng -qt-pcre -qt-harfbuzz -qt-doubleconversion -no-libudev -bundled-xcb-xinput'

View File

@ -35,13 +35,13 @@ Configurations:
'ANDROID_NDK_ROOT={{.Env.ANDROID_NDK_ROOT_DEFAULT}}'
]
-
Id: 'RHEL-8.4-Android-x86'
Template: 'qtci-linux-RHEL-8.4-x86_64-50'
Id: 'RHEL-9.0-Android-x86'
Template: 'qtci-linux-RHEL-9.0-x86_64-50'
Target os: 'Android_ANY'
Target arch: 'x86'
Compiler: 'GCC'
Target compiler: 'Clang'
Platform dependency: 'RHEL-8.4-host'
Platform dependency: 'RHEL-9.0-host'
Features: ['Packaging', 'Sccache', 'AndroidTestRun', 'VMSize8', 'UseConfigure']
Environment variables: [
'TARGET_CONFIGURE_ARGS=-nomake examples -release -force-debug-info -android-ndk {{.Env.ANDROID_NDK_ROOT_DEFAULT}} -android-sdk {{.Env.ANDROID_SDK_ROOT}} -android-abis x86',
@ -52,13 +52,13 @@ Configurations:
'ANDROID_NDK_ROOT={{.Env.ANDROID_NDK_ROOT_DEFAULT}}'
]
-
Id: 'RHEL-8.4-Android-x86_64'
Template: 'qtci-linux-RHEL-8.4-x86_64-50'
Id: 'RHEL-9.0-Android-x86_64'
Template: 'qtci-linux-RHEL-9.0-x86_64-50'
Target os: 'Android_ANY'
Target arch: 'x86_64'
Compiler: 'GCC'
Target compiler: 'Clang'
Platform dependency: 'RHEL-8.4-host'
Platform dependency: 'RHEL-9.0-host'
Features: ['Packaging', 'Sccache', 'DisableTests', 'UseConfigure']
Environment variables: [
'TARGET_CONFIGURE_ARGS=-nomake examples -release -force-debug-info -android-ndk {{.Env.ANDROID_NDK_ROOT_DEFAULT}} -android-sdk {{.Env.ANDROID_SDK_ROOT}} -android-abis x86_64',

View File

@ -1,12 +1,12 @@
Version: 2
Configurations:
-
Template: 'qtci-linux-RHEL-8.4-x86_64-50'
Template: 'qtci-linux-RHEL-9.0-x86_64-50'
Target os: 'Android_ANY'
Target arch: 'x86_64'
Compiler: 'GCC'
Target compiler: 'Clang'
Platform dependency: 'RHEL-8.4-host'
Platform dependency: 'RHEL-9.0-host'
Features: ['Packaging', 'Sccache', 'AndroidTestRun', 'VMSize8', 'UseConfigure']
Environment variables: [
'TARGET_CONFIGURE_ARGS=-nomake examples -release -force-debug-info -android-ndk {{.Env.ANDROID_NDK_ROOT_DEFAULT}} -android-sdk {{.Env.ANDROID_SDK_ROOT}} -android-abis x86_64',

View File

@ -1,12 +1,12 @@
Version: 2
Configurations:
-
Template: 'qtci-linux-RHEL-8.4-x86_64-50'
Template: 'qtci-linux-RHEL-9.0-x86_64-50'
Target os: 'Android_ANY'
Target arch: 'x86_64'
Compiler: 'GCC'
Target compiler: 'Clang'
Platform dependency: 'RHEL-8.4-host'
Platform dependency: 'RHEL-9.0-host'
Features: ['Packaging', 'Sccache', 'AndroidTestRun', 'VMSize8', 'UseConfigure', 'InsignificantTests']
Environment variables: [
'TARGET_CONFIGURE_ARGS=-nomake examples -release -force-debug-info -android-ndk {{.Env.ANDROID_NDK_ROOT_DEFAULT}} -android-sdk {{.Env.ANDROID_SDK_ROOT}} -android-abis x86_64',

View File

@ -24,7 +24,7 @@ Configurations:
Features: ['Packaging', 'UseLegacyInstructions']
Configure arguments: '-qmake -opensource -confirm-license -verbose -prefix c:\Users\qt\work\install -debug-and-release -release -force-debug-info -nomake tests -nomake examples -opengl dynamic -openssl -I %OPENSSL_INCLUDE_x86% -L %OPENSSL_LIB_x86% -no-sql-mysql -plugin-sql-sqlite -plugin-sql-odbc -I %MYSQL_INCLUDE_x86% -L %MYSQL_LIB_x86% -plugin-sql-psql -I %POSTGRESQL_INCLUDE_x86% -L %POSTGRESQL_LIB_x86% -static -no-icu'
-
Template: 'qtci-linux-RHEL-8.4-x86_64-50'
Template: 'qtci-linux-RHEL-9.0-x86_64-50'
Compiler: 'GCC'
Features: ['Packaging', 'UseLegacyInstructions']
Configure arguments: '-qmake -opensource -confirm-license -verbose -prefix /home/qt/work/install -release -nomake tests -nomake examples -no-libudev -no-use-gold-linker -force-debug-info -no-sql-mysql -plugin-sql-psql -plugin-sql-sqlite -qt-libjpeg -qt-libpng -qt-xcb -sysconfdir /etc/xdg -qt-pcre -openssl -qt-harfbuzz QMAKE_LFLAGS_APP+=-s -static -no-icu'

View File

@ -1,12 +1,12 @@
Version: 2
Configurations:
-
Template: 'qtci-linux-RHEL-8.4-x86_64-50'
Template: 'qtci-linux-RHEL-9.0-x86_64-50'
Target os: 'Android_ANY'
Target arch: 'x86'
Compiler: 'GCC'
Target compiler: 'Clang'
Platform dependency: 'RHEL-8.4-host'
Platform dependency: 'RHEL-9.0-host'
Features: ['Packaging', 'Sccache', 'AndroidTestRun', 'UseConfigure']
Environment variables: [
'TARGET_CONFIGURE_ARGS=-nomake examples -debug -developer-build -android-ndk {{.Env.ANDROID_NDK_ROOT_DEFAULT}} -android-sdk {{.Env.ANDROID_SDK_ROOT}} -android-abis x86',

View File

@ -1,16 +1,16 @@
Version: 2
Configurations:
-
Id: 'RHEL_Android_Multi'
Template: 'qtci-linux-RHEL-8.4-x86_64-50'
Id: 'RHEL_9_Android_Multi'
Template: 'qtci-linux-RHEL-9.0-x86_64-50'
Target os: 'Android_ANY'
Target arch: 'multi'
Compiler: 'GCC'
Target compiler: 'Clang'
Platform dependency: [
'RHEL-8.4-host',
'RHEL-8.4-Android-x86',
'RHEL-8.4-Android-x86_64'
'RHEL-9.0-host',
'RHEL-9.0-Android-x86',
'RHEL-9.0-Android-x86_64'
]
Features: [
'Sccache',
@ -19,8 +19,8 @@ Configurations:
'InstallDepsPerPlatformSubdir'
]
Environment variables: [
'QT_CI_ARTIFACT_ID_PATH_Android-host=QT_CI_ARTIFACT_ID_PATH_RHEL-8.4-host',
'QT_CI_ARTIFACT_ID_PATH_Android-x86=QT_CI_ARTIFACT_ID_PATH_RHEL-8.4-Android-x86',
'QT_CI_ARTIFACT_ID_PATH_Android-x86_64=QT_CI_ARTIFACT_ID_PATH_RHEL-8.4-Android-x86_64',
'QT_CI_ARTIFACT_ID_PATH_Android-host=QT_CI_ARTIFACT_ID_PATH_RHEL-9.0-host',
'QT_CI_ARTIFACT_ID_PATH_Android-x86=QT_CI_ARTIFACT_ID_PATH_RHEL-9.0-Android-x86',
'QT_CI_ARTIFACT_ID_PATH_Android-x86_64=QT_CI_ARTIFACT_ID_PATH_RHEL-9.0-Android-x86_64',
'COMMON_TARGET_TEST_CMAKE_ARGS=-DQT_ANDROID_ABIS="x86;x86_64"'
]

View File

@ -1,44 +0,0 @@
Version: 2
Configurations:
-
Id: 'RHEL-9.0-host'
Template: 'qtci-linux-RHEL-9.0-x86_64-50'
Compiler: 'GCC'
Features: ['Packaging', 'Sccache', 'UseConfigure']
Configure arguments: '-nomake examples -release -force-debug-info -headersclean -separate-debug-info -qt-libjpeg -qt-libpng -qt-pcre -qt-harfbuzz -qt-doubleconversion -no-libudev -bundled-xcb-xinput'
Environment variables: [
'CMAKE_ARGS=-DOpenGL_GL_PREFERENCE=LEGACY',
'CONAN_PROFILE=coin/conan/profiles/ci-linux-x86_64-gcc',
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}}'
]
-
Template: 'qtci-linux-RHEL-9.0-x86_64-50'
Target os: 'Android_ANY'
Target arch: 'x86'
Compiler: 'GCC'
Target compiler: 'Clang'
Platform dependency: 'RHEL-9.0-host'
Features: ['Packaging', 'Sccache', 'AndroidTestRun', 'VMSize8', 'UseConfigure']
Environment variables: [
'TARGET_CONFIGURE_ARGS=-nomake examples -release -force-debug-info -android-ndk {{.Env.ANDROID_NDK_ROOT_DEFAULT}} -android-sdk {{.Env.ANDROID_SDK_ROOT}} -android-abis x86',
'TARGET_CMAKE_ARGS=-DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME}}',
'CONAN_HOST_PROFILE=coin/conan/profiles/ci-linux-x86_64-gcc',
'CONAN_PROFILE=coin/conan/profiles/ci-unix-android-x86-clang',
'ANDROID_EMULATOR=@emulator_x86_api_23',
'ANDROID_NDK_ROOT={{.Env.ANDROID_NDK_ROOT_DEFAULT}}'
]
-
Template: 'qtci-linux-RHEL-9.0-x86_64-50'
Target os: 'Android_ANY'
Target arch: 'x86_64'
Compiler: 'GCC'
Target compiler: 'Clang'
Platform dependency: 'RHEL-9.0-host'
Features: ['Packaging', 'Sccache', 'DisableTests', 'UseConfigure']
Environment variables: [
'TARGET_CONFIGURE_ARGS=-nomake examples -release -force-debug-info -android-ndk {{.Env.ANDROID_NDK_ROOT_DEFAULT}} -android-sdk {{.Env.ANDROID_SDK_ROOT}} -android-abis x86_64',
'TARGET_CMAKE_ARGS=-DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME}}',
'CONAN_HOST_PROFILE=coin/conan/profiles/ci-linux-x86_64-gcc',
'CONAN_PROFILE=coin/conan/profiles/ci-unix-android-x86_64-clang',
'ANDROID_NDK_ROOT={{.Env.ANDROID_NDK_ROOT_DEFAULT}}'
]

View File

@ -10,7 +10,7 @@ Configurations:
Compiler: 'Clang'
Features: ['DisableTests']
-
Template: 'qtci-linux-RHEL-8.4-x86_64-50'
Template: 'qtci-linux-RHEL-9.0-x86_64-50'
Compiler: 'GCC'
Features: ['DisableTests']
-

View File

@ -16,13 +16,13 @@ Configurations:
Environment variables: []
Environment script: ['%ProgramFiles%\Microsoft Visual Studio\2019\Professional\VC\Auxiliary\Build\vcvarsall.bat', 'x86']
-
Template: 'qtci-linux-RHEL-8.4-x86_64-50'
Template: 'qtci-linux-RHEL-9.0-x86_64-50'
Compiler: 'GCC'
Features: ['Packaging', 'Sccache', 'DebugAndRelease']
Configure arguments: ''
Environment variables: []
-
Template: 'qtci-linux-RHEL-8.4-x86_64-50'
Template: 'qtci-linux-RHEL-9.0-x86_64-50'
Compiler: 'GCC'
Features: ['Qt5', 'Sccache', 'DebugAndRelease']
Configure arguments: ''

View File

@ -13,7 +13,7 @@ Configurations:
Features: ['Packaging', 'DisableTests', 'UseLegacyInstructions']
Configure arguments: '-qmake -opensource -confirm-license -verbose -prefix c:\Users\qt\work\install -release -static -nomake tests -nomake examples -no-icu -opengl dynamic -openssl -I %OPENSSL_INCLUDE_x64% -L %OPENSSL_LIB_x64% -plugin-sql-mysql -plugin-sql-sqlite -plugin-sql-odbc -I %MYSQL_INCLUDE_x64% -L %MYSQL_LIB_x64% -platform win32-g++'
-
Template: 'qtci-linux-RHEL-8.4-x86_64-50'
Template: 'qtci-linux-RHEL-9.0-x86_64-50'
Compiler: 'GCC'
Features: ['Packaging', 'DisableTests', 'UseLegacyInstructions']
Configure arguments: '-qmake -opensource -confirm-license -verbose -prefix /home/qt/work/install -release -static -nomake tests -nomake examples -no-use-gold-linker -no-icu -no-fontconfig -qt-freetype -no-opengl -qpa offscreen -no-xcb -qt-libpng -no-vulkan'

View File

@ -32,8 +32,8 @@ Configurations:
'CONAN_PROFILE=coin/conan/profiles/macos-universal-clang'
]
-
Id: 'RHEL-8.4-host'
Template: 'qtci-linux-RHEL-8.4-x86_64-50'
Id: 'RHEL-9.0-host'
Template: 'qtci-linux-RHEL-9.0-x86_64-50'
Compiler: 'GCC'
Features: ['Packaging', 'Sccache', 'DoNotRunTests', 'UseConfigure']
Configure arguments: '-nomake examples -release -force-debug-info -headersclean -separate-debug-info -qt-libjpeg -qt-libpng -qt-pcre -qt-harfbuzz -qt-doubleconversion -no-libudev -bundled-xcb-xinput'
@ -42,12 +42,12 @@ Configurations:
'CONAN_PROFILE=coin/conan/profiles/linux-x86_64-gcc'
]
-
Template: 'qtci-linux-RHEL-8.4-x86_64-50'
Template: 'qtci-linux-RHEL-9.0-x86_64-50'
Target os: 'Android_ANY'
Target arch: 'x86'
Compiler: 'GCC'
Target compiler: 'Clang'
Platform dependency: 'RHEL-8.4-host'
Platform dependency: 'RHEL-9.0-host'
Features: ['Packaging', 'Sccache', 'AndroidTestRun', 'VMSize8', 'UseConfigure']
Environment variables: [
'TARGET_CONFIGURE_ARGS=-nomake examples -release -force-debug-info -android-ndk {{.Env.ANDROID_NDK_ROOT_DEFAULT}} -android-sdk {{.Env.ANDROID_SDK_ROOT}} -android-abis x86',

View File

@ -39,7 +39,7 @@
##
#############################################################################
# This script install prebuilt OpenSSL which was built against Android NDK 21.
# This script install prebuilt OpenSSL which was built against Android NDK 25.
# OpenSSL build will fail with Android NDK 22, because it's missing platforms and sysroot directories
set -ex
@ -48,9 +48,16 @@ source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh"
# shellcheck source=../unix/SetEnvVar.sh
source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
version="3.0.3"
: ' SOURCE BUILD INSTRUCTIONS - Openssl prebuilt was made using Android NDK 21
# Source built requires GCC and Perl to be in PATH.
version="3.0.7"
ndkVersionLatest="r25b"
ndkVersionDefault=$ndkVersionLatest
prebuiltOpensslNdkShaDarwinLatest="5cf5ef6c19e62954ccffcd1e31ac1f331028de0d"
prebuiltOpensslNdkShaLinuxLatest="f5e7e840dc1fac2868033ecfc0eeb79742b0daff"
prebuiltOpensslNdkShaDarwinDefault=$prebuiltOpensslNdkShaDarwinLatest
prebuiltOpensslNdkShaLinuxDefault=$prebuiltOpensslNdkShaLinuxLatest
: ' SOURCE BUILD INSTRUCTIONS - Openssl prebuilt was made using Android NDK 25
# Source built requires GCC and Perl to be in PATH. Rhel "requires yum install perl-IPC-Cmd"
exports_file="/tmp/export.sh"
# source previously made environmental variables.
if uname -a |grep -q "Ubuntu"; then
@ -63,10 +70,13 @@ else
rm -rf "$exports_file"
fi
# ANDROID_NDK_ROOT is required during Configure
export ANDROID_NDK_ROOT=/opt/android/android-ndk-r25b
officialUrl="https://www.openssl.org/source/openssl-$version.tar.gz"
cachedUrl="http://ci-files01-hki.intra.qt.io/input/openssl/openssl-$version.tar.gz"
targetFile="/tmp/openssl-$version.tar.gz"
sha="1138de3f1a2f573ae69302ab52ecd9bbf5e063ca"
sha="f20736d6aae36bcbfa9aba0d358c71601833bf27"
opensslHome="${HOME}/openssl/android/openssl-${version}"
DownloadURL "$cachedUrl" "$officialUrl" "$sha" "$targetFile"
mkdir -p "${HOME}/openssl/android/"
@ -81,18 +91,33 @@ PATH=$TOOLCHAIN:$PATH CC=clang ./Configure android-arm
PATH=$TOOLCHAIN:$PATH CC=clang make build_generated
'
if uname -a |grep -q "Darwin"; then
prebuiltUrl="http://ci-files01-hki.intra.qt.io/input/openssl/prebuilt-openssl-3.0.3-for-android-ndk-r23b-darwin.tar.gz"
sha="d204cb4011ba8672aec62ab36a00dd3e32a3a5e9"
else
prebuiltUrl="http://ci-files01-hki.intra.qt.io/input/openssl/prebuilt-openssl-3.0.3-for-android-ndk-r23b-linux.tar.gz"
sha="2d1b6f5d90b5e3ae6a7e2a376250c66e99371485"
fi
targetFile="/tmp/prebuilt-openssl-$version.tar.gz"
DownloadURL "$prebuiltUrl" "$prebuiltUrl" "$sha" "$targetFile"
tar -xzf "$targetFile" -C "${HOME}"
function InstallPrebuiltOpenssl() {
opensslHome="${HOME}/openssl/android/openssl-${version}"
SetEnvVar "OPENSSL_ANDROID_HOME" "$opensslHome"
ndkVersion=$1
nkdSha=$2
os=$3
if [[ ! -d ${HOME}/openssl_android_ndk_${ndkVersion}/android/openssl-${version} ]]; then
prebuiltUrl="http://ci-files01-hki.intra.qt.io/input/openssl/prebuilt-openssl-${version}-for-android-ndk-${ndkVersion}-${os}.tar.gz"
targetFile="/tmp/prebuilt-openssl-${version}-for-android-ndk-${ndkVersion}-${os}.tar.gz"
DownloadURL "$prebuiltUrl" "$prebuiltUrl" "$nkdSha" "$targetFile"
tar -xzf "$targetFile" -C "${HOME}"
opensslHome="${HOME}/openssl_android_ndk_${ndkVersion}/android/openssl-${version}"
sudo rm -f $targetFile
fi
}
if uname -a |grep -q "Darwin"; then
InstallPrebuiltOpenssl $ndkVersionDefault $prebuiltOpensslNdkShaDarwinDefault "darwin"
SetEnvVar "OPENSSL_ANDROID_HOME_DEFAULT" "$opensslHome"
InstallPrebuiltOpenssl $ndkVersionLatest $prebuiltOpensslNdkShaDarwinLatest "darwin"
SetEnvVar "OPENSSL_ANDROID_HOME_LATEST" "$opensslHome"
else
InstallPrebuiltOpenssl $ndkVersionDefault $prebuiltOpensslNdkShaLinuxDefault "linux"
SetEnvVar "OPENSSL_ANDROID_HOME_DEFAULT" "$opensslHome"
InstallPrebuiltOpenssl $ndkVersionLatest $prebuiltOpensslNdkShaLinuxLatest "linux"
SetEnvVar "OPENSSL_ANDROID_HOME_LATEST" "$opensslHome"
fi
echo "OpenSSL for Android = $version" >> ~/versions.txt

View File

@ -2,7 +2,7 @@
#############################################################################
##
## Copyright (C) 2021 The Qt Company Ltd.
## Copyright (C) 2022 The Qt Company Ltd.
## Contact: https://www.qt.io/licensing/
##
## This file is part of the provisioning scripts of the Qt Toolkit.