summaryrefslogtreecommitdiffstats
path: root/coin/instructions
diff options
context:
space:
mode:
Diffstat (limited to 'coin/instructions')
-rw-r--r--coin/instructions/call_cmake_for_standalone_examples.yaml26
-rw-r--r--coin/instructions/call_host_install.yaml4
-rw-r--r--coin/instructions/call_target_install.yaml4
-rw-r--r--coin/instructions/cmake_build_and_upload_test_artifacts_host.yaml11
-rw-r--r--coin/instructions/cmake_build_and_upload_test_artifacts_target.yaml11
-rw-r--r--coin/instructions/cmake_build_standalone_examples.yaml32
-rw-r--r--coin/instructions/cmake_build_standalone_examples_host.yaml16
-rw-r--r--coin/instructions/cmake_build_standalone_examples_target.yaml30
-rw-r--r--coin/instructions/cmake_cross_compilation_module_build_instructions.yaml45
-rw-r--r--coin/instructions/cmake_cross_compilation_qtbase_build_instructions.yaml45
-rw-r--r--coin/instructions/cmake_module_build_instructions.yaml4
-rw-r--r--coin/instructions/cmake_qtbase_build_instructions.yaml26
-rw-r--r--coin/instructions/cmake_regular_test_instructions.yaml19
-rw-r--r--coin/instructions/cmake_regular_test_instructions_common.yaml13
-rw-r--r--coin/instructions/cmake_regular_test_instructions_enforced.yaml4
-rw-r--r--coin/instructions/cmake_run_ctest.yaml (renamed from coin/instructions/cmake_run_ctest_enforce_exit_code.yaml)82
-rw-r--r--coin/instructions/cmake_run_ctest_ignore_exit_code.yaml20
-rw-r--r--coin/instructions/coin_module_axivion_template_v2.yaml98
-rw-r--r--coin/instructions/coin_module_build_template_v2.yaml45
-rw-r--r--coin/instructions/coin_module_test_android_start_emulator.yaml4
-rw-r--r--coin/instructions/coin_module_test_template_common.yaml1
-rw-r--r--coin/instructions/coin_module_test_template_v2.yaml3
-rw-r--r--coin/instructions/coin_module_test_template_v3.yaml2
-rw-r--r--coin/instructions/coin_qtbase_build_template_v2.yaml31
-rw-r--r--coin/instructions/debian/debian_build_module.yaml125
-rw-r--r--coin/instructions/debian/prepare_debian_env.yaml82
-rw-r--r--coin/instructions/prepare_building_env.yaml99
27 files changed, 778 insertions, 104 deletions
diff --git a/coin/instructions/call_cmake_for_standalone_examples.yaml b/coin/instructions/call_cmake_for_standalone_examples.yaml
new file mode 100644
index 0000000000..eb811cbea4
--- /dev/null
+++ b/coin/instructions/call_cmake_for_standalone_examples.yaml
@@ -0,0 +1,26 @@
+type: Group
+instructions:
+ - type: ChangeDirectory
+ directory: "{{.BuildDir}}"
+ - type: ExecuteCommand
+ command: "{{.Env.EXAMPLES_ENV_PREFIX}} {{.Env.INSTALL_DIR_FOR_EXAMPLES}}\\bin\\qt-internal-configure-examples {{.Env.COIN_CMAKE_ARGS}}"
+ executeCommandArgumentSplitingBehavior: SplitAfterVariableSubstitution
+ maxTimeInSeconds: 6000
+ maxTimeBetweenOutput: 1200
+ userMessageOnFailure: >
+ Failed to call configure examples.
+ enable_if:
+ condition: property
+ property: host.os
+ equals_value: Windows
+ - type: ExecuteCommand
+ command: "{{.Env.EXAMPLES_ENV_PREFIX}} {{.Env.INSTALL_DIR_FOR_EXAMPLES}}/libexec/qt-internal-configure-examples {{.Env.COIN_CMAKE_ARGS}}"
+ executeCommandArgumentSplitingBehavior: SplitAfterVariableSubstitution
+ maxTimeInSeconds: 6000
+ maxTimeBetweenOutput: 1200
+ userMessageOnFailure: >
+ Failed to call configure examples.
+ disable_if:
+ condition: property
+ property: host.os
+ equals_value: Windows
diff --git a/coin/instructions/call_host_install.yaml b/coin/instructions/call_host_install.yaml
index 1d2bac610e..1d923fa8f5 100644
--- a/coin/instructions/call_host_install.yaml
+++ b/coin/instructions/call_host_install.yaml
@@ -8,7 +8,7 @@ instructions:
enable_if:
condition: runtime
env_var: TESTED_MODULE_COIN
- equals_value: qtbase
+ contains_value: qtbase
userMessageOnFailure: >
Failed to install package.
- type: ExecuteCommand
@@ -19,6 +19,6 @@ instructions:
disable_if:
condition: runtime
env_var: TESTED_MODULE_COIN
- equals_value: qtbase
+ contains_value: qtbase
userMessageOnFailure: >
Failed to install package.
diff --git a/coin/instructions/call_target_install.yaml b/coin/instructions/call_target_install.yaml
index 6684ec1062..f2a7fc10ef 100644
--- a/coin/instructions/call_target_install.yaml
+++ b/coin/instructions/call_target_install.yaml
@@ -8,7 +8,7 @@ instructions:
enable_if:
condition: runtime
env_var: TESTED_MODULE_COIN
- equals_value: qtbase
+ contains_value: qtbase
userMessageOnFailure: >
Failed to install package.
- type: ExecuteCommand
@@ -19,6 +19,6 @@ instructions:
disable_if:
condition: runtime
env_var: TESTED_MODULE_COIN
- equals_value: qtbase
+ contains_value: qtbase
userMessageOnFailure: >
Failed to install package.
diff --git a/coin/instructions/cmake_build_and_upload_test_artifacts_host.yaml b/coin/instructions/cmake_build_and_upload_test_artifacts_host.yaml
index 3592ac4270..bc16368fc2 100644
--- a/coin/instructions/cmake_build_and_upload_test_artifacts_host.yaml
+++ b/coin/instructions/cmake_build_and_upload_test_artifacts_host.yaml
@@ -13,6 +13,11 @@ instructions:
variableValue: "{{.Env.COMMON_TEST_CMAKE_ARGS}}"
- !include "{{qt/qtbase}}/cmake_build_and_upload_test_artifacts.yaml"
disable_if:
- condition: property
- property: features
- contains_value: DisableTests
+ condition: or
+ conditions:
+ - condition: property
+ property: features
+ contains_value: DisableTests
+ - condition: property
+ property: features
+ contains_value: DoNotBuildTests
diff --git a/coin/instructions/cmake_build_and_upload_test_artifacts_target.yaml b/coin/instructions/cmake_build_and_upload_test_artifacts_target.yaml
index be4db4f64e..afc20b98a9 100644
--- a/coin/instructions/cmake_build_and_upload_test_artifacts_target.yaml
+++ b/coin/instructions/cmake_build_and_upload_test_artifacts_target.yaml
@@ -34,6 +34,11 @@ instructions:
variableValue: "{{.Env.COMMON_TARGET_TEST_CMAKE_ARGS}}"
- !include "{{qt/qtbase}}/cmake_build_and_upload_test_artifacts.yaml"
disable_if:
- condition: property
- property: features
- contains_value: DisableTests
+ condition: or
+ conditions:
+ - condition: property
+ property: features
+ contains_value: DisableTests
+ - condition: property
+ property: features
+ contains_value: DoNotBuildTests
diff --git a/coin/instructions/cmake_build_standalone_examples.yaml b/coin/instructions/cmake_build_standalone_examples.yaml
new file mode 100644
index 0000000000..ecc0d3a23b
--- /dev/null
+++ b/coin/instructions/cmake_build_standalone_examples.yaml
@@ -0,0 +1,32 @@
+type: Group
+instructions:
+ - type: ChangeDirectory
+ directory: "{{.SourceDir}}"
+ - type: MakeDirectory
+ directory: "{{.SourceDir}}_standalone_examples"
+ - type: SetBuildDirectory
+ directory: "{{.SourceDir}}_standalone_examples"
+ - type: ChangeDirectory
+ directory: "{{.BuildDir}}"
+ - type: AppendToEnvironmentVariable
+ variableName: COIN_CMAKE_ARGS
+ variableValue: " -S {{.SourceDir}} -B ."
+ disable_if:
+ condition: runtime
+ env_var: COIN_CMAKE_ARGS
+ equals_value: null
+ - type: EnvironmentVariable
+ variableName: COIN_CMAKE_ARGS
+ variableValue: "-S {{.SourceDir}} -B ."
+ enable_if:
+ condition: runtime
+ env_var: COIN_CMAKE_ARGS
+ equals_value: null
+
+ - !include "{{qt/qtbase}}/call_cmake_for_standalone_examples.yaml"
+ - type: ExecuteCommand
+ command: "{{.Env.EXAMPLES_ENV_PREFIX}} cmake --build . --parallel -v"
+ maxTimeInSeconds: 6000
+ maxTimeBetweenOutput: 4800
+ userMessageOnFailure: >
+ Failed to build examples.
diff --git a/coin/instructions/cmake_build_standalone_examples_host.yaml b/coin/instructions/cmake_build_standalone_examples_host.yaml
new file mode 100644
index 0000000000..47f5ea05d3
--- /dev/null
+++ b/coin/instructions/cmake_build_standalone_examples_host.yaml
@@ -0,0 +1,16 @@
+type: Group
+instructions:
+ - type: EnvironmentVariable
+ variableName: EXAMPLES_ENV_PREFIX
+ variableValue: "{{.Env.ENV_PREFIX}}"
+ - type: EnvironmentVariable
+ variableName: INSTALL_DIR_FOR_EXAMPLES
+ variableValue: "{{.InstallDir}}"
+ - type: EnvironmentVariable
+ variableName: COIN_CMAKE_ARGS
+ variableValue: "{{.Env.COMMON_EXAMPLES_CMAKE_ARGS}}"
+ - !include "{{qt/qtbase}}/cmake_build_standalone_examples.yaml"
+enable_if:
+ condition: property
+ property: features
+ contains_value: StandaloneExamples
diff --git a/coin/instructions/cmake_build_standalone_examples_target.yaml b/coin/instructions/cmake_build_standalone_examples_target.yaml
new file mode 100644
index 0000000000..faf7300430
--- /dev/null
+++ b/coin/instructions/cmake_build_standalone_examples_target.yaml
@@ -0,0 +1,30 @@
+type: Group
+instructions:
+ - type: EnvironmentVariable
+ variableName: EXAMPLES_ENV_PREFIX
+ variableValue: "{{.Env.TARGET_ENV_PREFIX}}"
+ - type: EnvironmentVariable
+ variableName: INSTALL_DIR_FOR_EXAMPLES
+ variableValue: "{{.InstallDir}}\\target"
+ enable_if:
+ condition: property
+ property: host.os
+ equals_value: Windows
+ - type: EnvironmentVariable
+ variableName: INSTALL_DIR_FOR_EXAMPLES
+ variableValue: "{{.InstallDir}}/target"
+ # TODO: Might need android multi-abi support whenever we decide to build examples for that
+ # config. See 7b9bb698b93e747e02bf6ab8310c439867318f8e in qtbase and how the instructions
+ # were modified for multi-abi android tests.
+ disable_if:
+ condition: property
+ property: host.os
+ equals_value: Windows
+ - type: EnvironmentVariable
+ variableName: COIN_CMAKE_ARGS
+ variableValue: "{{.Env.COMMON_TARGET_EXAMPLES_CMAKE_ARGS}}"
+ - !include "{{qt/qtbase}}/cmake_build_standalone_examples.yaml"
+enable_if:
+ condition: property
+ property: features
+ contains_value: StandaloneExamples
diff --git a/coin/instructions/cmake_cross_compilation_module_build_instructions.yaml b/coin/instructions/cmake_cross_compilation_module_build_instructions.yaml
index 4541088285..a62ab0f48e 100644
--- a/coin/instructions/cmake_cross_compilation_module_build_instructions.yaml
+++ b/coin/instructions/cmake_cross_compilation_module_build_instructions.yaml
@@ -61,9 +61,14 @@ instructions:
- condition: property
property: host.os
equals_value: Windows
- - condition: property
- property: target.osVersion
- not_in_values: [WebAssembly, Android_ANY]
+ - condition: and
+ conditions:
+ - condition: property
+ property: target.os
+ not_equals_value: QNX
+ - condition: property
+ property: target.osVersion
+ not_in_values: [WebAssembly, Android_ANY]
- type: EnvironmentVariable
variableName: COIN_CMAKE_INSTALL_LIBEXEC_DIR
variableValue: "{{.InstallDir}}{{.Env.CI_PATH_SEP}}host{{.Env.CI_PATH_SEP}}bin"
@@ -73,9 +78,14 @@ instructions:
- condition: property
property: host.os
equals_value: Windows
- - condition: property
- property: target.osVersion
- not_in_values: [WebAssembly, Android_ANY]
+ - condition: and
+ conditions:
+ - condition: property
+ property: target.os
+ not_equals_value: QNX
+ - condition: property
+ property: target.osVersion
+ not_in_values: [WebAssembly, Android_ANY]
- !include "{{qt/qtbase}}/call_host_install.yaml"
- type: EnvironmentVariable
variableName: DESTDIR
@@ -123,9 +133,14 @@ instructions:
- condition: property
property: host.os
equals_value: Windows
- - condition: property
- property: target.osVersion
- not_in_values: [WebAssembly, Android_ANY]
+ - condition: and
+ conditions:
+ - condition: property
+ property: target.os
+ not_equals_value: QNX
+ - condition: property
+ property: target.osVersion
+ not_in_values: [WebAssembly, Android_ANY]
- type: EnvironmentVariable
variableName: COIN_CMAKE_INSTALL_LIBEXEC_DIR
variableValue: "{{.InstallDir}}{{.Env.CI_PATH_SEP}}target{{.Env.CI_PATH_SEP}}bin"
@@ -135,9 +150,14 @@ instructions:
- condition: property
property: host.os
equals_value: Windows
- - condition: property
- property: target.osVersion
- not_in_values: [WebAssembly, Android_ANY]
+ - condition: and
+ conditions:
+ - condition: property
+ property: target.os
+ not_equals_value: QNX
+ - condition: property
+ property: target.osVersion
+ not_in_values: [WebAssembly, Android_ANY]
- !include "{{qt/qtbase}}/call_target_install.yaml"
- type: EnvironmentVariable
variableName: DESTDIR
@@ -154,5 +174,6 @@ instructions:
- type: EnvironmentVariable
variableName: COIN_CONFIG_TYPE
variableValue: "Target"
+ - !include "{{qt/qtbase}}/cmake_build_standalone_examples_target.yaml"
- !include "{{qt/qtbase}}/qmake/get_qmake_location_target.yaml"
- !include "{{qt/qtbase}}/qmake_examples/build_qmake_examples_instructions.yaml"
diff --git a/coin/instructions/cmake_cross_compilation_qtbase_build_instructions.yaml b/coin/instructions/cmake_cross_compilation_qtbase_build_instructions.yaml
index 4a1ed61328..84dc535b61 100644
--- a/coin/instructions/cmake_cross_compilation_qtbase_build_instructions.yaml
+++ b/coin/instructions/cmake_cross_compilation_qtbase_build_instructions.yaml
@@ -47,9 +47,14 @@ instructions:
- condition: property
property: host.os
equals_value: Windows
- - condition: property
- property: target.osVersion
- not_in_values: [WebAssembly, Android_ANY]
+ - condition: and
+ conditions:
+ - condition: property
+ property: target.os
+ not_equals_value: QNX
+ - condition: property
+ property: target.osVersion
+ not_in_values: [WebAssembly, Android_ANY]
- type: EnvironmentVariable
variableName: COIN_CMAKE_BUILD_LIBEXEC_DIR
variableValue: "{{.BuildDir}}{{.Env.CI_PATH_SEP}}bin"
@@ -59,9 +64,14 @@ instructions:
- condition: property
property: host.os
equals_value: Windows
- - condition: property
- property: target.osVersion
- not_in_values: [WebAssembly, Android_ANY]
+ - condition: and
+ conditions:
+ - condition: property
+ property: target.os
+ not_equals_value: QNX
+ - condition: property
+ property: target.osVersion
+ not_in_values: [WebAssembly, Android_ANY]
- !include "{{qt/qtbase}}/call_host_install.yaml"
- type: EnvironmentVariable
variableName: DESTDIR
@@ -124,9 +134,14 @@ instructions:
- condition: property
property: host.os
equals_value: Windows
- - condition: property
- property: target.osVersion
- not_in_values: [WebAssembly, Android_ANY]
+ - condition: and
+ conditions:
+ - condition: property
+ property: target.os
+ not_equals_value: QNX
+ - condition: property
+ property: target.osVersion
+ not_in_values: [WebAssembly, Android_ANY]
- type: EnvironmentVariable
variableName: COIN_CMAKE_BUILD_LIBEXEC_DIR
variableValue: "{{.Env.COIN_CMAKE_BUILD_DIR}}{{.Env.CI_PATH_SEP}}bin"
@@ -136,9 +151,14 @@ instructions:
- condition: property
property: host.os
equals_value: Windows
- - condition: property
- property: target.osVersion
- not_in_values: [WebAssembly, Android_ANY]
+ - condition: and
+ conditions:
+ - condition: property
+ property: target.os
+ not_equals_value: QNX
+ - condition: property
+ property: target.osVersion
+ not_in_values: [WebAssembly, Android_ANY]
- !include "{{qt/qtbase}}/call_target_install.yaml"
- type: EnvironmentVariable
variableName: DESTDIR
@@ -155,5 +175,6 @@ instructions:
- type: EnvironmentVariable
variableName: COIN_CONFIG_TYPE
variableValue: "Target"
+ - !include "{{qt/qtbase}}/cmake_build_standalone_examples_target.yaml"
- !include "{{qt/qtbase}}/qmake/get_qmake_location_target.yaml"
- !include "{{qt/qtbase}}/qmake_examples/build_qmake_examples_instructions.yaml"
diff --git a/coin/instructions/cmake_module_build_instructions.yaml b/coin/instructions/cmake_module_build_instructions.yaml
index 88717ba206..262fbfe540 100644
--- a/coin/instructions/cmake_module_build_instructions.yaml
+++ b/coin/instructions/cmake_module_build_instructions.yaml
@@ -84,6 +84,9 @@ instructions:
- condition: property
property: features
contains_value: Packaging
+ - condition: property
+ property: host.arch
+ equals_value: X86_64 # Sign only on X86 until Coin has support for arm signing
directory: "{{.InstallRoot}}/{{.AgentWorkingDir}}"
maxTimeInSeconds: 1200
maxTimeBetweenOutput: 1200
@@ -95,5 +98,6 @@ instructions:
- type: EnvironmentVariable
variableName: COIN_CONFIG_TYPE
variableValue: "Host"
+ - !include "{{qt/qtbase}}/cmake_build_standalone_examples_host.yaml"
- !include "{{qt/qtbase}}/qmake/get_qmake_location_host.yaml"
- !include "{{qt/qtbase}}/qmake_examples/build_qmake_examples_instructions.yaml"
diff --git a/coin/instructions/cmake_qtbase_build_instructions.yaml b/coin/instructions/cmake_qtbase_build_instructions.yaml
index b5cd9f60b7..05c05d0bfb 100644
--- a/coin/instructions/cmake_qtbase_build_instructions.yaml
+++ b/coin/instructions/cmake_qtbase_build_instructions.yaml
@@ -41,9 +41,14 @@ instructions:
- condition: property
property: host.os
equals_value: Windows
- - condition: property
- property: target.osVersion
- not_in_values: [WebAssembly, Android_ANY]
+ - condition: and
+ conditions:
+ - condition: property
+ property: target.os
+ not_equals_value: QNX
+ - condition: property
+ property: target.osVersion
+ not_in_values: [WebAssembly, Android_ANY]
- type: EnvironmentVariable
variableName: COIN_CMAKE_BUILD_LIBEXEC_DIR
variableValue: "{{.Env.COIN_CMAKE_BUILD_DIR}}{{.Env.CI_PATH_SEP}}bin"
@@ -53,9 +58,14 @@ instructions:
- condition: property
property: host.os
equals_value: Windows
- - condition: property
- property: target.osVersion
- not_in_values: [WebAssembly, Android_ANY]
+ - condition: and
+ conditions:
+ - condition: property
+ property: target.os
+ not_equals_value: QNX
+ - condition: property
+ property: target.osVersion
+ not_in_values: [WebAssembly, Android_ANY]
- !include "{{qt/qtbase}}/call_host_install.yaml"
- type: EnvironmentVariable
variableName: DESTDIR
@@ -71,6 +81,9 @@ instructions:
- condition: property
property: features
contains_value: Packaging
+ - condition: property
+ property: host.arch
+ equals_value: X86_64 # Sign only on X86 until Coin has support for arm signing
directory: "{{.InstallRoot}}/{{.AgentWorkingDir}}"
maxTimeInSeconds: 1200
maxTimeBetweenOutput: 1200
@@ -82,5 +95,6 @@ instructions:
- type: EnvironmentVariable
variableName: COIN_CONFIG_TYPE
variableValue: "Host"
+ - !include "{{qt/qtbase}}/cmake_build_standalone_examples_host.yaml"
- !include "{{qt/qtbase}}/qmake/get_qmake_location_host.yaml"
- !include "{{qt/qtbase}}/qmake_examples/build_qmake_examples_instructions.yaml"
diff --git a/coin/instructions/cmake_regular_test_instructions.yaml b/coin/instructions/cmake_regular_test_instructions.yaml
index 5d3571c5d8..4b21c47b72 100644
--- a/coin/instructions/cmake_regular_test_instructions.yaml
+++ b/coin/instructions/cmake_regular_test_instructions.yaml
@@ -1,8 +1,15 @@
type: Group
instructions:
- - !include "{{qt/qtbase}}/cmake_regular_test_instructions_common.yaml"
- - !include "{{qt/qtbase}}/cmake_run_ctest_ignore_exit_code.yaml"
-disable_if:
- condition: property
- property: configureArgs
- contains_value: "-DBUILD_SHARED_LIBS=OFF"
+ - type: MakeDirectory
+ directory: "{{.SourceDir}}_standalone_tests"
+ - type: InstallTestBinaryArchive
+ relativeStoragePath: "{{.Env.MODULE_ARTIFACTS_RELATIVE_STORAGE_PATH}}/tests.tar.gz"
+ directory: "{{.SourceDir}}_standalone_tests"
+ maxTimeInSeconds: 1200
+ maxTimeBetweenOutput: 1200
+ userMessageOnFailure: >
+ Failed to install tests archive.
+ - type: ChangeDirectory
+ directory: "{{.SourceDir}}_standalone_tests"
+
+ - !include "{{qt/qtbase}}/cmake_run_ctest.yaml"
diff --git a/coin/instructions/cmake_regular_test_instructions_common.yaml b/coin/instructions/cmake_regular_test_instructions_common.yaml
deleted file mode 100644
index ec6f23a3f7..0000000000
--- a/coin/instructions/cmake_regular_test_instructions_common.yaml
+++ /dev/null
@@ -1,13 +0,0 @@
-type: Group
-instructions:
- - type: MakeDirectory
- directory: "{{.SourceDir}}_standalone_tests"
- - type: InstallTestBinaryArchive
- relativeStoragePath: "{{.Env.MODULE_ARTIFACTS_RELATIVE_STORAGE_PATH}}/tests.tar.gz"
- directory: "{{.SourceDir}}_standalone_tests"
- maxTimeInSeconds: 1200
- maxTimeBetweenOutput: 1200
- userMessageOnFailure: >
- Failed to install tests archive.
- - type: ChangeDirectory
- directory: "{{.SourceDir}}_standalone_tests"
diff --git a/coin/instructions/cmake_regular_test_instructions_enforced.yaml b/coin/instructions/cmake_regular_test_instructions_enforced.yaml
deleted file mode 100644
index 197b925c2a..0000000000
--- a/coin/instructions/cmake_regular_test_instructions_enforced.yaml
+++ /dev/null
@@ -1,4 +0,0 @@
-type: Group
-instructions:
- - !include "{{qt/qtbase}}/cmake_regular_test_instructions_common.yaml"
- - !include "{{qt/qtbase}}/cmake_run_ctest_enforce_exit_code.yaml"
diff --git a/coin/instructions/cmake_run_ctest_enforce_exit_code.yaml b/coin/instructions/cmake_run_ctest.yaml
index 8a381992fd..e51c9bbd76 100644
--- a/coin/instructions/cmake_run_ctest_enforce_exit_code.yaml
+++ b/coin/instructions/cmake_run_ctest.yaml
@@ -51,9 +51,24 @@ instructions:
condition: property
property: host.os
equals_value: Windows
+
+ # Keep the testrun quiet for ASAN testruns, since there are FAILs happening all over the place...
- type: EnvironmentVariable
variableName: CTEST_ARGS
variableValue: "-V"
+ disable_if:
+ condition: property
+ property: features
+ contains_value: UseAddressSanitizer
+ # ...and only print the output from a failing test, i.e. test with ASAN errors.
+ - type: EnvironmentVariable
+ variableName: CTEST_OUTPUT_ON_FAILURE
+ variableValue: "1"
+ enable_if:
+ condition: property
+ property: features
+ contains_value: UseAddressSanitizer
+
- type: AppendToEnvironmentVariable
variableName: CTEST_ARGS
variableValue: " --stop-on-failure"
@@ -61,14 +76,65 @@ instructions:
condition: property
property: features
contains_value: AbortTestingOnFirstFailure
- - type: ExecuteCommand
- command: "{{.Env.TESTS_ENV_PREFIX}} ctest {{.Env.CTEST_ARGS}}"
- executeCommandArgumentSplitingBehavior: SplitAfterVariableSubstitution
- ignoreExitCode: false
- maxTimeInSeconds: 10800
- maxTimeBetweenOutput: 900
- userMessageOnFailure: >
- Failed to run tests.
+
+ # Enable CTest's JUnit XML summary only for recent versions
+ - type: AppendToEnvironmentVariable
+ variableName: CTEST_ARGS
+ variableValue: " --output-junit {{.Env.COIN_CTEST_RESULTSDIR}}{{.Env.CI_PATH_SEP}}test_summary.ctest_junit_xml"
+ enable_if:
+ condition: runtime
+ env_var: CMAKE_MIN_SUPPORTED_BIN_PATH
+ equals_value: null
+
+ - !include "{{qt/qtbase}}/coin_module_test_android_start_emulator.yaml"
+
+ - type: EnvironmentVariable
+ variableName: COIN_CROSS_PLATFORM_VERSION_TEST
+ variableValue: "TRUE"
+ enable_if:
+ condition: and
+ conditions:
+ - condition: property
+ property: platformDependency
+ not_equals_value: null
+ - condition: property
+ property: platformDependency.target.osVersion
+ not_equals_property: target.osVersion
+ - condition: property
+ property: features
+ contains_value: TestOnly
+
+ # Run CTest, with or without ignoring exit code
+ # FIXME: De-duplicate the CTest instruction when
+ # ignoreExitCode expands environment variables.
+ - type: Group
+ enable_if:
+ condition: runtime
+ env_var: COIN_CTEST_IGNORE_EXIT_CODE
+ not_equals_value: "1"
+ instructions:
+ - type: ExecuteCommand
+ command: "{{.Env.TESTS_ENV_PREFIX}} ctest {{.Env.CTEST_ARGS}}"
+ executeCommandArgumentSplitingBehavior: SplitAfterVariableSubstitution
+ ignoreExitCode: false
+ maxTimeInSeconds: 10800
+ maxTimeBetweenOutput: "{{.Env.COIN_COMMAND_OUTPUT_TIMEOUT}}"
+ userMessageOnFailure: >
+ Failed to run tests.
+ - type: Group
+ enable_if:
+ condition: runtime
+ env_var: COIN_CTEST_IGNORE_EXIT_CODE
+ equals_value: "1"
+ instructions:
+ - type: ExecuteCommand
+ command: "{{.Env.TESTS_ENV_PREFIX}} ctest {{.Env.CTEST_ARGS}}"
+ executeCommandArgumentSplitingBehavior: SplitAfterVariableSubstitution
+ ignoreExitCode: true
+ maxTimeInSeconds: 10800
+ maxTimeBetweenOutput: "{{.Env.COIN_COMMAND_OUTPUT_TIMEOUT}}"
+ userMessageOnFailure: >
+ Failed to run tests.
- type: Group
instructions:
diff --git a/coin/instructions/cmake_run_ctest_ignore_exit_code.yaml b/coin/instructions/cmake_run_ctest_ignore_exit_code.yaml
deleted file mode 100644
index b94717730b..0000000000
--- a/coin/instructions/cmake_run_ctest_ignore_exit_code.yaml
+++ /dev/null
@@ -1,20 +0,0 @@
-type: Group
-instructions:
- - type: EnvironmentVariable
- variableName: CTEST_ARGS
- variableValue: "-V --rerun-failed --force-new-ctest-process"
- - type: AppendToEnvironmentVariable
- variableName: CTEST_ARGS
- variableValue: " --stop-on-failure"
- enable_if:
- condition: property
- property: features
- contains_value: AbortTestingOnFirstFailure
- - type: ExecuteCommand
- command: "{{.Env.TESTS_ENV_PREFIX}} ctest {{.Env.CTEST_ARGS}}"
- executeCommandArgumentSplitingBehavior: SplitAfterVariableSubstitution
- ignoreExitCode: true
- maxTimeInSeconds: 10800
- maxTimeBetweenOutput: 900
- userMessageOnFailure: >
- Failed to run tests.
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..87d32f5d37
--- /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", "-t", "nfs", "-o", "rw,nfsvers=3", "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: runtime
+ env_var: AXIVION_ANALYSIS
+ equals_value: "1"
+
diff --git a/coin/instructions/coin_module_build_template_v2.yaml b/coin/instructions/coin_module_build_template_v2.yaml
index 14c8555854..e7f47328e8 100644
--- a/coin/instructions/coin_module_build_template_v2.yaml
+++ b/coin/instructions/coin_module_build_template_v2.yaml
@@ -20,10 +20,37 @@ instructions:
equals_property: target.os
- condition: property
property: target.osVersion
- not_in_values: [QEMU, WebAssembly, INTEGRITY]
+ not_in_values: [QEMU, WebAssembly, INTEGRITY, VxWorks]
- condition: property
property: features
not_contains_value: "TargetBuildOnly"
+ - condition: property
+ property: features
+ not_contains_value: "DebianPackaging"
+ - condition: runtime
+ env_var: AXIVION_ANALYSIS
+ not_equals_value: "1"
+ - type: Group
+ instructions:
+ - !include "{{qt/qtbase}}/coin_module_axivion_template_v2.yaml"
+ enable_if:
+ condition: and
+ conditions:
+ - condition: runtime
+ env_var: AXIVION_ANALYSIS
+ equals_value: "1"
+ - 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"
@@ -33,13 +60,13 @@ instructions:
enable_if:
condition: property
property: target.osVersion
- in_values: [Android_ANY, QEMU, IOS_ANY, QNX_710, WebAssembly, INTEGRITY]
+ in_values: [Android_ANY, QEMU, IOS_ANY, QNX_710, WebAssembly, INTEGRITY, VxWorks]
enable_if:
condition: or
conditions:
- condition: property
property: target.osVersion
- in_values: [Android_ANY, QEMU, IOS_ANY, QNX_710, WebAssembly, INTEGRITY]
+ in_values: [Android_ANY, QEMU, IOS_ANY, QNX_710, WebAssembly, INTEGRITY, VxWorks]
- condition: and
conditions:
- condition: property
@@ -48,3 +75,15 @@ instructions:
- condition: property
property: target.arch
equals_value: ARM64
+ - condition: property
+ property: features
+ not_contains_value: "DebianPackaging"
+ - type: Group
+ instructions:
+ - type: Group
+ instructions:
+ - !include "{{qt/qtbase}}/debian/debian_build_module.yaml"
+ enable_if:
+ condition: property
+ property: features
+ contains_value: "DebianPackaging"
diff --git a/coin/instructions/coin_module_test_android_start_emulator.yaml b/coin/instructions/coin_module_test_android_start_emulator.yaml
index 105b3f1038..eff28ff494 100644
--- a/coin/instructions/coin_module_test_android_start_emulator.yaml
+++ b/coin/instructions/coin_module_test_android_start_emulator.yaml
@@ -3,10 +3,10 @@ instructions:
- type: Group
instructions:
- type: ExecuteCommand
- command: "{{.Env.LIBEXEC_INSTALL_DIR}}/android_emulator_launcher.sh"
+ command: "{{.Env.ANDROID_EMULATOR_RUNNER}}"
maxTimeInSeconds: 600
maxTimeBetweenOutput: 300
- userMessageOnFailure: "Failed to start emulator, check coin log and ~/emulator.log"
+ userMessageOnFailure: "Failed to start emulator, check coin log and testresults log files."
enable_if:
condition: property
property: features
diff --git a/coin/instructions/coin_module_test_template_common.yaml b/coin/instructions/coin_module_test_template_common.yaml
index 16fac8dd5d..19c51e23c6 100644
--- a/coin/instructions/coin_module_test_template_common.yaml
+++ b/coin/instructions/coin_module_test_template_common.yaml
@@ -2,7 +2,6 @@ type: Group
instructions:
# The build env is needed on MSVC so that tst_qmake can properly build apps / libraries.
- !include "{{qt/qtbase}}/prepare_building_env.yaml"
- - !include "{{qt/qtbase}}/coin_module_test_android_start_emulator.yaml"
- !include "{{qt/qtbase}}/coin_module_test_qnx_start_emulator.yaml"
# The test env vars are needed to pick the proper prefix.bat file.
- !include "{{qt/qtbase}}/cmake_setup_running_tests_env_vars.yaml"
diff --git a/coin/instructions/coin_module_test_template_v2.yaml b/coin/instructions/coin_module_test_template_v2.yaml
index 423d292bf7..3776584689 100644
--- a/coin/instructions/coin_module_test_template_v2.yaml
+++ b/coin/instructions/coin_module_test_template_v2.yaml
@@ -5,6 +5,9 @@ instructions:
- !include "{{qt/qtbase}}/coin_module_test_template_common.yaml"
- type: Group
instructions:
+ - type: EnvironmentVariable
+ variableName: COIN_CTEST_IGNORE_EXIT_CODE
+ variableValue: "1"
- !include "{{qt/qtbase}}/cmake_regular_test_instructions.yaml"
enable_if:
condition: or
diff --git a/coin/instructions/coin_module_test_template_v3.yaml b/coin/instructions/coin_module_test_template_v3.yaml
index de870b9d45..83b40c141b 100644
--- a/coin/instructions/coin_module_test_template_v3.yaml
+++ b/coin/instructions/coin_module_test_template_v3.yaml
@@ -5,7 +5,7 @@ instructions:
- !include "{{qt/qtbase}}/coin_module_test_template_common.yaml"
- type: Group
instructions:
- - !include "{{qt/qtbase}}/cmake_regular_test_instructions_enforced.yaml"
+ - !include "{{qt/qtbase}}/cmake_regular_test_instructions.yaml"
enable_if:
condition: or
conditions:
diff --git a/coin/instructions/coin_qtbase_build_template_v2.yaml b/coin/instructions/coin_qtbase_build_template_v2.yaml
index a0edaa8e7c..bcba742781 100644
--- a/coin/instructions/coin_qtbase_build_template_v2.yaml
+++ b/coin/instructions/coin_qtbase_build_template_v2.yaml
@@ -13,10 +13,23 @@ instructions:
equals_property: target.os
- condition: property
property: target.osVersion
- not_in_values: [QEMU, WebAssembly, INTEGRITY]
+ not_in_values: [QEMU, WebAssembly, INTEGRITY, VxWorks]
- condition: property
property: features
not_contains_value: "TargetBuildOnly"
+ - condition: property
+ property: features
+ not_contains_value: "DebianPackaging"
+ - condition: runtime
+ env_var: AXIVION_ANALYSIS
+ not_equals_value: "1"
+ - type: Group
+ instructions:
+ - !include "{{qt/qtbase}}/coin_module_axivion_template_v2.yaml"
+ enable_if:
+ condition: runtime
+ env_var: AXIVION_ANALYSIS
+ equals_value: "1"
- type: Group
instructions:
- type: Group
@@ -38,13 +51,13 @@ instructions:
enable_if:
condition: property
property: target.osVersion
- in_values: [Android_ANY, QEMU, IOS_ANY, QNX_710, WebAssembly, INTEGRITY]
+ in_values: [Android_ANY, QEMU, IOS_ANY, QNX_710, WebAssembly, INTEGRITY, VxWorks]
enable_if:
condition: or
conditions:
- condition: property
property: target.osVersion
- in_values: [Android_ANY, QEMU, IOS_ANY, QNX_710, WebAssembly, INTEGRITY]
+ in_values: [Android_ANY, QEMU, IOS_ANY, QNX_710, WebAssembly, INTEGRITY, VxWorks]
- condition: and
conditions:
- condition: property
@@ -53,3 +66,15 @@ instructions:
- condition: property
property: target.arch
equals_value: ARM64
+ - condition: property
+ property: features
+ not_contains_value: "DebianPackaging"
+ - type: Group
+ instructions:
+ - type: Group
+ instructions:
+ - !include "{{qt/qtbase}}/debian/debian_build_module.yaml"
+ enable_if:
+ condition: property
+ property: features
+ contains_value: "DebianPackaging"
diff --git a/coin/instructions/debian/debian_build_module.yaml b/coin/instructions/debian/debian_build_module.yaml
new file mode 100644
index 0000000000..0aa239e1c6
--- /dev/null
+++ b/coin/instructions/debian/debian_build_module.yaml
@@ -0,0 +1,125 @@
+type: Group
+enable_if:
+ condition: property
+ property: features
+ contains_value: DebianPackaging
+instructions:
+ - !include "{{qt/qtbase}}/debian/prepare_debian_env.yaml"
+ - type: EnvironmentVariable
+ variableName: GIT_SSH_COMMAND
+ variableValue: "ssh -o StrictHostKeyChecking=no"
+ - type: ChangeDirectory
+ directory: "{{.AgentWorkingDir}}"
+ - type: MakeDirectory
+ directory: output/debian_packages
+ - type: MakeDirectory
+ directory: debian_packages
+ - type: ExecuteCommand
+ command: "git clone git@git.qt.io:tqtc-debian/package_generator.git"
+ maxTimeInSeconds: 900
+ maxTimeBetweenOutput: 900
+ userMessageOnFailure: "Failed to clone package generator repo"
+ disable_if:
+ condition: runtime
+ env_var: COIN_SKIP_DEBIAN
+ contains_value: "MISSING_DEBIAN_INST"
+ - type: ExecuteCommand
+ command: "git clone -b 6.6 git@git.qt.io:tqtc-debian/qt6-{{.Env.TESTED_MODULE_PLAIN_COIN}}.git"
+ maxTimeInSeconds: 900
+ maxTimeBetweenOutput: 900
+ userMessageOnFailure: "Failed to clone debian packaging repo"
+ disable_if:
+ condition: runtime
+ env_var: COIN_SKIP_DEBIAN
+ contains_value: "MISSING_DEBIAN_INST"
+ - type: ChangeDirectory
+ directory: "qt6-{{.Env.TESTED_MODULE_PLAIN_COIN}}"
+ disable_if:
+ condition: runtime
+ env_var: COIN_SKIP_DEBIAN
+ contains_value: "MISSING_DEBIAN_INST"
+ - type: ExecuteCommand
+ command: "git checkout {{.Env.DEBIAN_RULES_REF}}"
+ maxTimeInSeconds: 900
+ maxTimeBetweenOutput: 900
+ userMessageOnFailure: "Failed to checkout debian rules branch"
+ disable_if:
+ condition: or
+ conditions:
+ - condition: runtime
+ env_var: DEBIAN_RULES_REF
+ equals_value: null
+ - condition: runtime
+ env_var: COIN_SKIP_DEBIAN
+ contains_value: "MISSING_DEBIAN_INST"
+ - type: ChangeDirectory
+ directory: "{{.AgentWorkingDir}}"
+ - type: ExecuteCommand
+ command: "wget -q {{.CoinDownloadURL}}/{{.Env.MODULE_SOURCES_RELATIVE_STORAGE_PATH}}"
+ maxTimeInSeconds: 900
+ maxTimeBetweenOutput: 900
+ userMessageOnFailure: "Failed get sources"
+ disable_if:
+ condition: runtime
+ env_var: COIN_SKIP_DEBIAN
+ contains_value: "MISSING_DEBIAN_INST"
+ - type: ExecuteCommand
+ command: "mv sources_unix.tar.gz qt-{{.Env.QT_REPO_MODULE_VERSION}}-{{.Env.TESTED_MODULE_PLAIN_COIN}}-src_{{.Env.QT_REPO_MODULE_VERSION}}.orig.tar.gz"
+ maxTimeInSeconds: 900
+ maxTimeBetweenOutput: 900
+ userMessageOnFailure: "Failed rename src pkg"
+ disable_if:
+ condition: runtime
+ env_var: COIN_SKIP_DEBIAN
+ contains_value: "MISSING_DEBIAN_INST"
+ - type: ChangeDirectory
+ directory: "{{.AgentWorkingDir}}/qt6-{{.Env.TESTED_MODULE_PLAIN_COIN}}"
+ disable_if:
+ condition: runtime
+ env_var: COIN_SKIP_DEBIAN
+ contains_value: "MISSING_DEBIAN_INST"
+
+
+ # rc is required currently by the script
+ - type: ExecuteCommand
+ command: "../package_generator/generate_packaging.sh --qt-version {{.Env.QT_REPO_MODULE_VERSION}} --deb-rev 1 --release tqtc-focal"
+ maxTimeInSeconds: 900
+ maxTimeBetweenOutput: 900
+ userMessageOnFailure: "Failed to generate pkg"
+ disable_if:
+ condition: runtime
+ env_var: COIN_SKIP_DEBIAN
+ contains_value: "MISSING_DEBIAN_INST"
+ - type: ChangeDirectory
+ directory: "{{.AgentWorkingDir}}"
+ - type: ExecuteCommand
+ command: "dpkg-source -b qt6-{{.Env.TESTED_MODULE_PLAIN_COIN}}"
+ maxTimeInSeconds: 900
+ maxTimeBetweenOutput: 900
+ userMessageOnFailure: "Failed dpkg-source"
+ disable_if:
+ condition: runtime
+ env_var: COIN_SKIP_DEBIAN
+ contains_value: "MISSING_DEBIAN_INST"
+ - type: ExecuteCommand
+ command: ["sbuild",
+ "--build-dep-resolver=apt",
+ "-sAd", "{{.Env.COIN_TARGET_DIST}}",
+ "-c", "{{.Env.COIN_SBUILD_CHROOT}}",
+ "--build-dir", "output/debian_packages",
+ "--extra-repository={{.Env.COIN_EXTRA_DEBIAN_REPO}}",
+ "--extra-package={{.Env.COIN_EXTRA_DEBIAN_PACKAGES}}",
+ "--extra-package={{.AgentWorkingDir}}/debian_packages/",
+ "qt-{{.Env.QT_REPO_MODULE_VERSION}}-{{.Env.TESTED_MODULE_PLAIN_COIN}}-src_{{.Env.QT_REPO_MODULE_VERSION}}-1.dsc"]
+ maxTimeInSeconds: 18000
+ maxTimeBetweenOutput: 18000
+ userMessageOnFailure: "Failed build debian packages"
+ disable_if:
+ condition: runtime
+ env_var: COIN_SKIP_DEBIAN
+ contains_value: "MISSING_DEBIAN_INST"
+ - type: UploadArtifact
+ archiveDirectory: "{{.AgentWorkingDir}}/output"
+ transferType: UploadModuleBuildArtifact
+ maxTimeInSeconds: 1200
+ maxTimeBetweenOutput: 1200
diff --git a/coin/instructions/debian/prepare_debian_env.yaml b/coin/instructions/debian/prepare_debian_env.yaml
new file mode 100644
index 0000000000..c51de2103c
--- /dev/null
+++ b/coin/instructions/debian/prepare_debian_env.yaml
@@ -0,0 +1,82 @@
+type: Group
+enable_if:
+ condition: property
+ property: features
+ contains_value: DebianPackaging
+instructions:
+ - type: EnvironmentVariable
+ variableName: COIN_TARGET_DIST
+ variableValue: "tqtc-focal"
+ enable_if:
+ condition: runtime
+ env_var: COIN_TARGET_DIST
+ equals_value: null
+ - type: EnvironmentVariable
+ variableName: COIN_SBUILD_CHROOT
+ variableValue: "stable-arm64-sbuild"
+ enable_if:
+ condition: and
+ conditions:
+ - condition: runtime
+ env_var: COIN_SBUILD_CHROOT
+ equals_value: null
+ - condition: property
+ property: target.arch
+ equals_value: AARCH64
+ - type: EnvironmentVariable
+ variableName: COIN_SBUILD_CHROOT
+ variableValue: "stable-amd64-sbuild"
+ enable_if:
+ condition: and
+ conditions:
+ - condition: runtime
+ env_var: COIN_SBUILD_CHROOT
+ equals_value: null
+ - condition: property
+ property: target.arch
+ equals_value: X86_64
+ - type: EnvironmentVariable
+ variableName: COIN_SBUILD_DISTRO
+ variableValue: "arm64-focal"
+ enable_if:
+ condition: property
+ property: target.arch
+ equals_value: AARCH64
+ - type: EnvironmentVariable
+ variableName: COIN_SBUILD_DISTRO
+ variableValue: "amd64-focal"
+ disable_if:
+ condition: property
+ property: target.arch
+ equals_value: AARCH64
+
+ - type: EnvironmentVariable
+ variableName: COIN_SKIP_DEBIAN
+ variableValue: "MISSING_DEBIAN_INST"
+ enable_if:
+ condition: runtime
+ env_var: COIN_SKIP_DEBIAN_MODULES
+ contains_value: "{{.Env.TESTED_MODULE_COIN}}"
+
+ # Set version info to environment
+ - type: ParseEnvironmentVariableFromFile
+ regex: "QT_REPO_MODULE_VERSION \"(?P<QT_REPO_MODULE_VERSION>.*)\""
+ filename: "{{.SourceDir}}/.cmake.conf"
+ maxTimeInSeconds: 300
+ maxTimeBetweenOutput: 300
+ userMessageOnFailure: "Failed to parse version information from .cmake.conf"
+ disable_if:
+ condition: runtime
+ env_var: TESTED_MODULE_COIN
+ equals_value: "qt5"
+ - type: ParseEnvironmentVariableFromFile
+ regex: "QT_REPO_MODULE_PRERELEASE_VERSION_SEGMENT \"(?P<QT_REPO_MODULE_PRERELEASE_VERSION_SEGMENT>.*)\""
+ filename: "{{.SourceDir}}/.cmake.conf"
+ maxTimeInSeconds: 300
+ maxTimeBetweenOutput: 300
+ userMessageOnFailure: "Failed to parse status information from .cmake.conf"
+ disable_if:
+ condition: runtime
+ env_var: TESTED_MODULE_COIN
+ equals_value: "qt5"
+
diff --git a/coin/instructions/prepare_building_env.yaml b/coin/instructions/prepare_building_env.yaml
index f816ef56ea..a3ac5c3f0b 100644
--- a/coin/instructions/prepare_building_env.yaml
+++ b/coin/instructions/prepare_building_env.yaml
@@ -26,6 +26,16 @@ instructions:
property: host.os
equals_value: Windows
+ # Enable Axivion_analysis for Qt
+ - type: EnvironmentVariable
+ variableName: AXIVION_ANALYSIS
+ variableValue: "1"
+ enable_if:
+ condition: property
+ property: features
+ contains_value: Axivion
+
+
# Export ICC specific env. variables
- type: Group
instructions:
@@ -123,9 +133,26 @@ instructions:
variableName: TARGET_ARCHITECTURE
variableValue: x64_arm64
enable_if:
- condition: property
- property: target.arch
- equals_value: ARM64
+ condition: and
+ conditions:
+ - condition: property
+ property: target.arch
+ equals_value: ARM64
+ - condition: property
+ property: host.arch
+ equals_value: X86_64
+ - type: EnvironmentVariable
+ variableName: TARGET_ARCHITECTURE
+ variableValue: arm64
+ enable_if:
+ condition: and
+ conditions:
+ - condition: property
+ property: target.arch
+ in_values: ["AARCH64", "ARM64"]
+ - condition: property
+ property: host
+ equals_property: target
- type: EnvironmentVariable
# HACK. Overwrite TARGET_ARCHITECTURE as we do not use standard MSVC cross
# compilation targets here. The target architecture will be detected by Qt.
@@ -305,6 +332,14 @@ instructions:
condition: property
property: target.osVersion
in_values: [QEMU]
+ # This fixes an issue where binfmts is sometimes disabled on the test VMs
+ - type: ExecuteCommand
+ command: sudo update-binfmts --enable
+ userMessageOnFailure: "Failed to enable binfmts"
+ enable_if:
+ condition: property
+ property: target.osVersion
+ equals_value: QEMU
# Windows on Arm, cross-compilation with MSVC
- type: Group
@@ -322,6 +357,17 @@ instructions:
variableName: TARGET_ENV_PREFIX
variableValue: "c:\\users\\qt\\prefix.bat"
+ # VxWorks
+ - type: Group
+ enable_if:
+ condition: property
+ property: target.osVersion
+ equals_value: VxWorks
+ instructions:
+ - type: EnvironmentVariable
+ variableName: TARGET_ENV_PREFIX
+ variableValue: "{{.Env.VXWORKS_HOME}}/wrenv.linux"
+
# QNX variables
- type: Group
enable_if:
@@ -438,6 +484,9 @@ instructions:
- type: AppendToEnvironmentVariable
variableName: COMMON_TEST_CMAKE_ARGS
variableValue: " -DCMAKE_AUTOGEN_VERBOSE=ON -DCMAKE_MESSAGE_LOG_LEVEL=STATUS"
+ - type: AppendToEnvironmentVariable
+ variableName: COMMON_EXAMPLES_CMAKE_ARGS
+ variableValue: " -DCMAKE_AUTOGEN_VERBOSE=ON -DCMAKE_MESSAGE_LOG_LEVEL=STATUS"
- type: AppendToEnvironmentVariable
variableName: COMMON_TARGET_CMAKE_ARGS
@@ -448,6 +497,9 @@ instructions:
- type: AppendToEnvironmentVariable
variableName: COMMON_TARGET_TEST_CMAKE_ARGS
variableValue: " -DCMAKE_AUTOGEN_VERBOSE=ON -DCMAKE_MESSAGE_LOG_LEVEL=STATUS"
+ - type: AppendToEnvironmentVariable
+ variableName: COMMON_TARGET_EXAMPLES_CMAKE_ARGS
+ variableValue: " -DCMAKE_AUTOGEN_VERBOSE=ON -DCMAKE_MESSAGE_LOG_LEVEL=STATUS"
# Sccache
- type: Group
@@ -461,6 +513,9 @@ instructions:
- type: AppendToEnvironmentVariable
variableName: COMMON_TEST_CMAKE_ARGS
variableValue: " -DCMAKE_C_COMPILER_LAUNCHER=sccache -DCMAKE_CXX_COMPILER_LAUNCHER=sccache"
+ - type: AppendToEnvironmentVariable
+ variableName: COMMON_EXAMPLES_CMAKE_ARGS
+ variableValue: " -DCMAKE_C_COMPILER_LAUNCHER=sccache -DCMAKE_CXX_COMPILER_LAUNCHER=sccache"
- type: AppendToEnvironmentVariable
variableName: COMMON_TARGET_CMAKE_ARGS
@@ -471,6 +526,9 @@ instructions:
- type: AppendToEnvironmentVariable
variableName: COMMON_TARGET_TEST_CMAKE_ARGS
variableValue: " -DCMAKE_C_COMPILER_LAUNCHER=sccache -DCMAKE_CXX_COMPILER_LAUNCHER=sccache"
+ - type: AppendToEnvironmentVariable
+ variableName: COMMON_TARGET_EXAMPLES_CMAKE_ARGS
+ variableValue: " -DCMAKE_C_COMPILER_LAUNCHER=sccache -DCMAKE_CXX_COMPILER_LAUNCHER=sccache"
enable_if:
condition: property
property: features
@@ -478,6 +536,8 @@ instructions:
# Specify a custom examples installation directory, so that the built example binaries are not
# packaged into the artifact archive together with the Qt libraries.
+ # Also specify that during examples deployment, only a subset of examples should be deployed, to
+ # save time and space.
- type: Group
instructions:
- type: AppendToEnvironmentVariable
@@ -486,6 +546,24 @@ instructions:
- type: AppendToEnvironmentVariable
variableName: COMMON_TARGET_CMAKE_ARGS
variableValue: " -DQT_INTERNAL_EXAMPLES_INSTALL_PREFIX={{unixPathSeparators .BuildDir}}/installed_examples"
+ - type: AppendToEnvironmentVariable
+ variableName: COMMON_CMAKE_ARGS
+ variableValue: " -DQT_DEPLOY_MINIMAL_EXAMPLES=ON"
+ - type: AppendToEnvironmentVariable
+ variableName: COMMON_TARGET_CMAKE_ARGS
+ variableValue: " -DQT_DEPLOY_MINIMAL_EXAMPLES=ON"
+ - type: Group
+ instructions:
+ - type: AppendToEnvironmentVariable
+ variableName: COMMON_CMAKE_ARGS
+ variableValue: " -DQT_INTERNAL_CI_NO_BUILD_IN_TREE_EXAMPLES=ON"
+ - type: AppendToEnvironmentVariable
+ variableName: COMMON_TARGET_CMAKE_ARGS
+ variableValue: " -DQT_INTERNAL_CI_NO_BUILD_IN_TREE_EXAMPLES=ON"
+ enable_if:
+ condition: property
+ property: features
+ contains_value: StandaloneExamples
enable_if:
# Only set the custom installation dir if examples are built.
condition: or
@@ -579,3 +657,18 @@ instructions:
condition: property
property: host.os
equals_value: Windows
+
+ - type: EnvironmentVariable
+ variableName: COIN_COMMAND_OUTPUT_TIMEOUT
+ variableValue: "900"
+ disable_if:
+ condition: property
+ property: features
+ contains_value: UseAddressSanitizer
+ - type: EnvironmentVariable
+ variableName: COIN_COMMAND_OUTPUT_TIMEOUT
+ variableValue: "10800"
+ enable_if:
+ condition: property
+ property: features
+ contains_value: UseAddressSanitizer