diff --git a/tools/ci_build/github/azure-pipelines/c-api-noopenmp-test-pipelines.yml b/tools/ci_build/github/azure-pipelines/c-api-noopenmp-test-pipelines.yml index 8d96c1ae99e0a..04d2730dc89da 100644 --- a/tools/ci_build/github/azure-pipelines/c-api-noopenmp-test-pipelines.yml +++ b/tools/ci_build/github/azure-pipelines/c-api-noopenmp-test-pipelines.yml @@ -69,6 +69,8 @@ stages: - stage: Android_Java_API_AAR_Testing_Full dependsOn: Setup + variables: + ReleaseVersionSuffix: $[ stageDependencies.Setup.Restore_And_Use_Variables.outputs['Set_Release_Version_Suffix.ReleaseVersionSuffix'] ] jobs: - template: templates/android-java-api-aar-test.yml parameters: @@ -77,11 +79,14 @@ stages: - stage: Final_AAR_Testing_Android_QNN dependsOn: Setup + variables: + ReleaseVersionSuffix: $[ stageDependencies.Setup.Restore_And_Use_Variables.outputs['Set_Release_Version_Suffix.ReleaseVersionSuffix'] ] jobs: - template: templates/android-java-api-aar-test.yml parameters: artifactName: 'onnxruntime-android-qnn-aar' packageName: 'onnxruntime-android-qnn' + ReleaseVersionSuffix: $(ReleaseVersionSuffix) #TODO: get this information from the setup stage QnnSDKVersion: '2.42.0.251225' diff --git a/tools/ci_build/github/azure-pipelines/templates/android-java-api-aar-test.yml b/tools/ci_build/github/azure-pipelines/templates/android-java-api-aar-test.yml index 7cc8b5b654549..55bcea35876d9 100644 --- a/tools/ci_build/github/azure-pipelines/templates/android-java-api-aar-test.yml +++ b/tools/ci_build/github/azure-pipelines/templates/android-java-api-aar-test.yml @@ -58,7 +58,14 @@ jobs: mkdir -p android_test/android/app/libs cd android_test/android cp -av $(Build.SourcesDirectory)/java/src/test/android/* ./ - cp $(Pipeline.Workspace)/build/${{parameters.artifactName}}/${{parameters.packageName}}-$(OnnxRuntimeVersion)${{parameters.ReleaseVersionSuffix}}.aar app/libs/${{parameters.packageName}}.aar + # Use a more robust way to copy the AAR, picking the first one found if multiple exist + # Check if the file exists to provide a better error message + AAR_SOURCE=$(ls $(Pipeline.Workspace)/build/${{parameters.artifactName}}/*.aar 2>/dev/null | head -n 1) + if [ -z "$AAR_SOURCE" ]; then + echo "Error: No .aar file found in $(Pipeline.Workspace)/build/${{parameters.artifactName}}" + exit 1 + fi + cp "$AAR_SOURCE" app/libs/${{parameters.packageName}}.aar displayName: Copy Android test files and AAR to android_test directory workingDirectory: $(Build.BinariesDirectory)