summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatti Paaso <matti.paaso@qt.io>2023-01-13 07:35:16 +0200
committerMatti Paaso <matti.paaso@qt.io>2023-05-17 14:04:48 +0300
commit5379e93c65ccf4b878a0508622e0f6d368798d48 (patch)
treef3170d0a7f45bee9c7d87a67dfa506f61d1a5366
parent15eca98214d10e4ee5c49e9dbcee002687826fd2 (diff)
downloadqtbase-dev.tar.gz
Add Axivion analysis commandsHEADdev
Task-number: QTQAINFRA-5244 Change-Id: Ib577237d73863140386edce9acc2913acc9e2813 Reviewed-by: Toni Saario <toni.saario@qt.io>
-rw-r--r--coin/axivion/ci_config_linux.json65
-rw-r--r--coin/instructions/coin_module_axivion_template_v2.yaml98
-rw-r--r--coin/instructions/coin_module_build_template_v2.yaml24
-rw-r--r--coin/instructions/coin_qtbase_build_template_v2.yaml11
4 files changed, 197 insertions, 1 deletions
diff --git a/coin/axivion/ci_config_linux.json b/coin/axivion/ci_config_linux.json
new file mode 100644
index 0000000000..2354781590
--- /dev/null
+++ b/coin/axivion/ci_config_linux.json
@@ -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
+ ]
+}
diff --git a/coin/instructions/coin_module_axivion_template_v2.yaml b/coin/instructions/coin_module_axivion_template_v2.yaml
new file mode 100644
index 0000000000..0eebe34e0d
--- /dev/null
+++ b/coin/instructions/coin_module_axivion_template_v2.yaml
@@ -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
+
diff --git a/coin/instructions/coin_module_build_template_v2.yaml b/coin/instructions/coin_module_build_template_v2.yaml
index ccd9f97413..2b36fb1c95 100644
--- a/coin/instructions/coin_module_build_template_v2.yaml
+++ b/coin/instructions/coin_module_build_template_v2.yaml
@@ -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"
diff --git a/coin/instructions/coin_qtbase_build_template_v2.yaml b/coin/instructions/coin_qtbase_build_template_v2.yaml
index 94b07f09a8..e5ae8068e4 100644
--- a/coin/instructions/coin_qtbase_build_template_v2.yaml
+++ b/coin/instructions/coin_qtbase_build_template_v2.yaml
@@ -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