diff options
Diffstat (limited to 'coin/instructions/cmake_build_and_upload_test_artifacts.yaml')
-rw-r--r-- | coin/instructions/cmake_build_and_upload_test_artifacts.yaml | 61 |
1 files changed, 54 insertions, 7 deletions
diff --git a/coin/instructions/cmake_build_and_upload_test_artifacts.yaml b/coin/instructions/cmake_build_and_upload_test_artifacts.yaml index 83a34bb91f..7fa663e4d2 100644 --- a/coin/instructions/cmake_build_and_upload_test_artifacts.yaml +++ b/coin/instructions/cmake_build_and_upload_test_artifacts.yaml @@ -8,22 +8,69 @@ instructions: directory: "{{.SourceDir}}_standalone_tests" - 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 + + # Set an informational build environment env var during the an integration's build phase. + # It can be checked during Qt and standalone tests configuration (so configure, + # qt-configure-module and qt-internal-configure-tests time). + # It's currently needed for some CMake autotest iOS-specific decisions, but it could be useful + # for other scenarios as well. + # + # A related QTEST_ENVIRONMENT env var is set during an integration's test phase. + # + # Note that CMake auto tests are configured and built during the /test/ phase, NOT the build + # phase. + # BUT, the options that will be passed to the project cmake invocation in the test phase, are + # decided during the /build/ phase. - type: EnvironmentVariable + variableName: QT_BUILD_ENVIRONMENT + variableValue: "ci" + + # Inform CMake to build just a minimal set of tests for static Qt builds. + - type: AppendToEnvironmentVariable variableName: COIN_CMAKE_ARGS - variableValue: "-DQT_BUILD_STANDALONE_TESTS=ON -DCMAKE_AUTOGEN_VERBOSE=ON -S {{.SourceDir}} -B ." + variableValue: " -DQT_BUILD_MINIMAL_STATIC_TESTS=ON" + enable_if: + condition: property + property: features + contains_value: "MinimalStaticTests" + + # Inform CMake to build just a minimal set of tests for Android multi-ABI Qt builds. + - type: AppendToEnvironmentVariable + variableName: COIN_CMAKE_ARGS + variableValue: " -DQT_BUILD_MINIMAL_ANDROID_MULTI_ABI_TESTS=ON" + enable_if: + condition: property + property: features + contains_value: "MinimalAndroidMultiABITests" + - !include "{{qt/qtbase}}/call_cmake_for_standalone_tests.yaml" - type: ExecuteCommand command: "{{.Env.TESTS_ENV_PREFIX}} cmake --build . --parallel -v" maxTimeInSeconds: 6000 - maxTimeBetweenOutput: 1200 + maxTimeBetweenOutput: 4800 userMessageOnFailure: > - Failed to build sources. In the current state bug can be everywhere. + Failed to build sources. - type: UploadTestArtifact transferType: UploadModuleTestsArtifact archiveDirectory: "{{.BuildDir}}" maxTimeInSeconds: 1200 maxTimeBetweenOutput: 1200 -disable_if: - condition: property - property: configureArgs - contains_value: "-DBUILD_SHARED_LIBS=OFF" + # INTEGRITY artifacts aren't used. + disable_if: + condition: property + property: target.osVersion + equals_value: INTEGRITY |