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 8c3dfe14e13..be4db4f64e2 100644 --- a/coin/instructions/cmake_build_and_upload_test_artifacts_target.yaml +++ b/coin/instructions/cmake_build_and_upload_test_artifacts_target.yaml @@ -16,9 +16,19 @@ instructions: variableName: INSTALL_DIR_FOR_CMAKE_TESTS variableValue: "{{.InstallDir}}/target" disable_if: - condition: property - property: host.os - equals_value: Windows + condition: or + conditions: + - condition: property + property: host.os + equals_value: Windows + - condition: and + conditions: + - condition: property + property: target.osVersion + equals_value: Android_ANY + - condition: property + property: target.arch + equals_value: Multi - type: EnvironmentVariable variableName: COIN_CMAKE_ARGS variableValue: "{{.Env.COMMON_TARGET_TEST_CMAKE_ARGS}}" diff --git a/coin/instructions/coin_module_test_android_start_emulator.yaml b/coin/instructions/coin_module_test_android_start_emulator.yaml index a212f5742ec..105b3f1038b 100644 --- a/coin/instructions/coin_module_test_android_start_emulator.yaml +++ b/coin/instructions/coin_module_test_android_start_emulator.yaml @@ -3,7 +3,7 @@ instructions: - type: Group instructions: - type: ExecuteCommand - command: "{{.InstallDir}}/libexec/android_emulator_launcher.sh" + command: "{{.Env.LIBEXEC_INSTALL_DIR}}/android_emulator_launcher.sh" maxTimeInSeconds: 600 maxTimeBetweenOutput: 300 userMessageOnFailure: "Failed to start emulator, check coin log and ~/emulator.log" diff --git a/coin/instructions/coin_qtbase_build_template_v2.yaml b/coin/instructions/coin_qtbase_build_template_v2.yaml index 904d19819ba..a0edaa8e7c6 100644 --- a/coin/instructions/coin_qtbase_build_template_v2.yaml +++ b/coin/instructions/coin_qtbase_build_template_v2.yaml @@ -19,7 +19,19 @@ instructions: not_contains_value: "TargetBuildOnly" - type: Group instructions: - - !include "{{qt/qtbase}}/cmake_cross_compilation_qtbase_build_instructions.yaml" + - type: Group + instructions: + - !include "{{qt/qtbase}}/cmake_cross_compilation_qtbase_build_instructions.yaml" + disable_if: + condition: and + conditions: + - condition: property + property: target.osVersion + equals_value: Android_ANY + - condition: property + property: target.arch + equals_value: Multi + - !include "{{qt/qtbase}}/prepare_android_multi_abi_env.yaml" - type: Group instructions: - !include "{{qt/qtbase}}/cmake_build_and_upload_test_artifacts_target.yaml" diff --git a/coin/instructions/prepare_android_multi_abi_env.yaml b/coin/instructions/prepare_android_multi_abi_env.yaml new file mode 100644 index 00000000000..bbd83e600f4 --- /dev/null +++ b/coin/instructions/prepare_android_multi_abi_env.yaml @@ -0,0 +1,29 @@ +type: Group +instructions: + - type: EnvironmentVariable + variableName: INSTALL_DIR_FOR_CMAKE_TESTS + variableValue: "{{$android_artifact_path:=index .Env \"QT_CI_ARTIFACT_ID_PATH_Android-x86\"}}{{index .Env $android_artifact_path}}/install/target" + - type: AppendToEnvironmentVariable + variableName: COMMON_TARGET_TEST_CMAKE_ARGS + variableValue: " -DQT_PATH_ANDROID_ABI_arm64-v8a={{$android_artifact_path:=index .Env \"QT_CI_ARTIFACT_ID_PATH_Android-arm64-v8a\"}}{{index .Env $android_artifact_path}}/install/target" + - type: AppendToEnvironmentVariable + variableName: COMMON_TARGET_TEST_CMAKE_ARGS + variableValue: " -DQT_PATH_ANDROID_ABI_armeabi-v7a={{$android_artifact_path:=index .Env \"QT_CI_ARTIFACT_ID_PATH_Android-armeabi-v7a\"}}{{index .Env $android_artifact_path}}/install/target" + - type: AppendToEnvironmentVariable + variableName: COMMON_TARGET_TEST_CMAKE_ARGS + variableValue: " -DQT_PATH_ANDROID_ABI_x86={{$android_artifact_path:=index .Env \"QT_CI_ARTIFACT_ID_PATH_Android-x86\"}}{{index .Env $android_artifact_path}}/install/target" + - type: AppendToEnvironmentVariable + variableName: COMMON_TARGET_TEST_CMAKE_ARGS + variableValue: " -DQT_PATH_ANDROID_ABI_x86_64={{$android_artifact_path:=index .Env \"QT_CI_ARTIFACT_ID_PATH_Android-x86_64\"}}{{index .Env $android_artifact_path}}/install/target" + - type: AppendToEnvironmentVariable + variableName: COMMON_TARGET_TEST_CMAKE_ARGS + variableValue: " -DQT_HOST_PATH={{.Env.HOST_INSTALL_DIR}}" +enable_if: + condition: and + conditions: + - condition: property + property: target.osVersion + equals_value: Android_ANY + - condition: property + property: target.arch + equals_value: Multi diff --git a/coin/instructions/prepare_building_env.yaml b/coin/instructions/prepare_building_env.yaml index a94a42c3e26..f816ef56ea5 100644 --- a/coin/instructions/prepare_building_env.yaml +++ b/coin/instructions/prepare_building_env.yaml @@ -26,21 +26,6 @@ instructions: property: host.os equals_value: Windows - - type: EnvironmentVariable - variableName: LIBEXEC_INSTALL_DIR - variableValue: "{{.InstallDir}}\\bin\\" - enable_if: - condition: property - property: host.os - equals_value: Windows - - type: EnvironmentVariable - variableName: LIBEXEC_INSTALL_DIR - variableValue: "{{.InstallDir}}/libexec/" - disable_if: - condition: property - property: host.os - equals_value: Windows - # Export ICC specific env. variables - type: Group instructions: @@ -553,3 +538,44 @@ instructions: - condition: property property: host.os contains_value: Windows + + - type: EnvironmentVariable + variableName: HOST_INSTALL_DIR + variableValue: "{{$android_host_artifact_path := index .Env \"QT_CI_ARTIFACT_ID_PATH_Android-host\" }}{{index .Env $android_host_artifact_path}}/install" + enable_if: + condition: and + conditions: + - condition: property + property: target.osVersion + equals_value: Android_ANY + - condition: property + property: target.arch + equals_value: Multi + + - type: EnvironmentVariable + variableName: HOST_INSTALL_DIR + variableValue: "{{.InstallDir}}" + disable_if: + condition: and + conditions: + - condition: property + property: target.osVersion + equals_value: Android_ANY + - condition: property + property: target.arch + equals_value: Multi + + - type: EnvironmentVariable + variableName: LIBEXEC_INSTALL_DIR + variableValue: "{{.Env.HOST_INSTALL_DIR}}\\bin\\" + enable_if: + condition: property + property: host.os + equals_value: Windows + - type: EnvironmentVariable + variableName: LIBEXEC_INSTALL_DIR + variableValue: "{{.Env.HOST_INSTALL_DIR}}/libexec/" + disable_if: + condition: property + property: host.os + equals_value: Windows