Add Axivion analysis commands

Task-number: QTQAINFRA-5244
Change-Id: Ib577237d73863140386edce9acc2913acc9e2813
Reviewed-by: Toni Saario <toni.saario@qt.io>
This commit is contained in:
Matti Paaso 2023-01-13 07:35:16 +02:00
parent 15eca98214
commit 5379e93c65
4 changed files with 197 additions and 1 deletions

View File

@ -0,0 +1,65 @@
{
"Project": {
"Git": {
"_active": true,
"sourceserver_gitdir": "/data/axivion/databases/$(env:TESTED_MODULE_COIN).git"
},
"BuildSystemIntegration": {
"child_order": [
"GCCSetup",
"CMake",
"LinkLibraries"
]
},
"CMake": {
"_active": true,
"_copy_from": "CMakeIntegration",
"build_environment": {},
"build_options": "-j4",
"generate_options": "--fresh",
"generator": "Ninja"
},
"GCCSetup": {
"_active": true,
"_copy_from": "Command",
"build_command": "gccsetup --cc gcc --cxx g++ --config ../../../axivion/"
},
"LinkLibraries": {
"_active": true,
"_copy_from": "AxivionLinker",
"input_files": [
"build/lib/lib*.so*.ir"
],
"ir": "build/$(env:TESTED_MODULE_COIN).ir",
"plugin_files": [
"build/plugins/*/lib*.so*.ir"
]
},
"Project-GlobalOptions": {
"ci_mode": {
"clean_before": false
},
"directory": "../work/qt/$(env:TESTED_MODULE_COIN)",
"ir": "build/$(env:TESTED_MODULE_COIN).ir",
"name": "qt_$(env:TESTED_MODULE_COIN)_dev_$(env:TARGET_OS_COIN)"
}
},
"Results": {
"Dashboard": {
"dashboard_url": "https://axivion-srv.ci.qt.io/axivion/"
},
"Database": {
"ci_mode": {
"directory": "/data/axivion/databases"
}
}
},
"_Format": "1.0",
"_Version": "trunk-9e0ef9c5818",
"_VersionNum": [
7,
6,
9999,
11489
]
}

View File

@ -0,0 +1,98 @@
analysis_instructions_axivion: &analysis_instructions_axivion
type: Group
instructions:
- type: Group
instructions:
- type: EnvironmentVariable
variableName: AXIVION_CHAINLOAD_TOOLCHAIN_FILE
variableValue: "{{.AgentWorkingDir}}/install/lib/cmake/Qt6/qt.toolchain.cmake"
- type: EnvironmentVariable
variableName: CMAKE_PREFIX_PATH
variableValue: "{{.AgentWorkingDir}}/install/lib/cmake"
enable_if:
condition: runtime
env_var: TESTED_MODULE_COIN
not_equals_value: "qtbase"
- type: Group
instructions:
- type: Rename
sourcePath: "{{.SourceDir}}/coin/axivion/ci_config_{{.Env.TARGET_OS_COIN}}.json"
targetPath: "{{.Env.HOME}}/axivion/ci_config.json"
userMessageOnFailure: "Moving ci_config.json failed. Make sure you have included the file in coin/axivion/ -folder"
- type: SetBuildDirectory
directory: "{{.SourceDir}}"
- type: ChangeDirectory
directory: "{{.BuildDir}}"
- type: ExecuteCommand
command: ["../../../axivion/start_analysis.sh"]
maxTimeInSeconds: 28800
maxTimeBetweenOutput: 28800
userMessageOnFailure: "Failed to run analysis"
build_environment_axivion: &build_environment_axivion
type: Group
instructions:
- type: ExecuteCommand
command: ["sudo", "mkdir", "-p","/data/axivion"]
maxTimeInSeconds: 100
maxTimeBetweenOutput: 100
userMessageOnFailure: "Create mount point for results failed"
- type: ExecuteCommand
command: ["sudo", "mount", "-o", "rw", "10.212.0.93:/data/axivion", "/data/axivion"]
maxTimeInSeconds: 100
maxTimeBetweenOutput: 100
userMessageOnFailure: "Mount failed"
- type: ExecuteCommand
command: ["rm","-rf","{{.SourceDir}}"]
maxTimeInSeconds: 100
maxTimeBetweenOutput: 100
userMessageOnFailure: "Failed to remove source directory"
- type: MakeDirectory
directory: "{{.SourceDir}}"
- type: ChangeDirectory
directory: "{{.SourceDir}}"
- type: ExecuteCommand
command: ["git", "clone", "--jobs={{.NumCPU}}", "-n","--depth=50", "git://{{.Env.QT_COIN_GIT_DAEMON}}/qt-project/qt/{{.Env.TESTED_MODULE_COIN}}","."]
maxTimeInSeconds: 900
maxTimeBetweenOutput: 900
userMessageOnFailure: "Failed to clone repository"
- type: ExecuteCommand
command: ["git", "fetch", "--recurse-submodules", "origin", "{{.Env.TESTED_MODULE_REVISION_COIN}}"]
maxTimeInSeconds: 900
maxTimeBetweenOutput: 900
userMessageOnFailure: "Failed to fetch sources"
- type: ExecuteCommand
command: ["git", "checkout", "--force", "{{.Env.TESTED_MODULE_REVISION_COIN}}"]
maxTimeInSeconds: 900
maxTimeBetweenOutput: 900
userMessageOnFailure: "Failed to checkout sources"
- type: ExecuteCommand
command: ["git", "submodule", "update", "--init", "--recursive"]
maxTimeInSeconds: 1800
maxTimeBetweenOutput: 900
userMessageOnFailure: "Failed to initialize git submodules"
- type: Group
instructions:
- !include "{{qt/qtbase}}/cmake_module_build_instructions.yaml"
enable_if:
condition: runtime
env_var: TESTED_MODULE_COIN
not_equals_value: "qtbase"
- type: Group
instructions:
- !include "{{qt/qtbase}}/cmake_qtbase_build_instructions.yaml"
enable_if:
condition: runtime
env_var: TESTED_MODULE_COIN
equals_value: "qtbase"
type: Group
instructions:
- !include "{{qt/qtbase}}/prepare_building_env.yaml"
- *build_environment_axivion
- *analysis_instructions_axivion
enable_if:
condition: property
property: features
contains_value: Axivion

View File

@ -27,6 +27,30 @@ instructions:
- condition: property
property: features
not_contains_value: "DebianPackaging"
- condition: property
property: features
not_contains_value: Axivion
- type: Group
instructions:
- !include "{{qt/qtbase}}/coin_module_axivion_template_v2.yaml"
enable_if:
condition: and
conditions:
- condition: property
property: features
contains_value: Axivion
- condition: runtime
env_var: TESTED_MODULE_COIN
not_equals_value: "qtdoc"
- condition: runtime
env_var: TESTED_MODULE_COIN
not_equals_value: "qtquickeffectmaker"
- condition: runtime
env_var: TESTED_MODULE_COIN
not_equals_value: "qttranslations"
- condition: runtime
env_var: TESTED_MODULE_COIN
not_equals_value: "qtwebengine"
- type: Group
instructions:
- !include "{{qt/qtbase}}/cmake_cross_compilation_module_build_instructions.yaml"

View File

@ -20,7 +20,16 @@ instructions:
- condition: property
property: features
not_contains_value: "DebianPackaging"
- condition: property
property: features
not_contains_value: Axivion
- type: Group
instructions:
- !include "{{qt/qtbase}}/coin_module_axivion_template_v2.yaml"
enable_if:
condition: property
property: features
contains_value: Axivion
- type: Group
instructions:
- type: Group