diff --git a/tools/ci_build/github/azure-pipelines/android-arm64-v8a-QNN-crosscompile-ci-pipeline.yml b/tools/ci_build/github/azure-pipelines/android-arm64-v8a-QNN-crosscompile-ci-pipeline.yml index e5e2a4749ef85..91f35d2b54033 100644 --- a/tools/ci_build/github/azure-pipelines/android-arm64-v8a-QNN-crosscompile-ci-pipeline.yml +++ b/tools/ci_build/github/azure-pipelines/android-arm64-v8a-QNN-crosscompile-ci-pipeline.yml @@ -52,7 +52,7 @@ jobs: - script: sudo chmod go+rw /dev/kvm displayName: Update permissions to KVM - - template: templates/jobs/download_linux_qnn_sdk.yml + - template: templates/jobs/init_linux_qnn_sdk_x64.yml parameters: QnnSDKVersion: ${{ parameters.QnnSdk }} diff --git a/tools/ci_build/github/azure-pipelines/templates/android-java-api-aar.yml b/tools/ci_build/github/azure-pipelines/templates/android-java-api-aar.yml index 92e862bd79008..bbb84642320fb 100644 --- a/tools/ci_build/github/azure-pipelines/templates/android-java-api-aar.yml +++ b/tools/ci_build/github/azure-pipelines/templates/android-java-api-aar.yml @@ -103,7 +103,7 @@ jobs: - template: use-android-ndk.yml - ${{ if contains(parameters.packageName, 'qnn') }}: - - template: jobs/download_linux_qnn_sdk.yml + - template: jobs/init_linux_qnn_sdk_x64.yml parameters: QnnSDKVersion: '${{parameters.QnnSDKVersion}}' diff --git a/tools/ci_build/github/azure-pipelines/templates/jobs/init_linux_qnn_sdk_x64.yml b/tools/ci_build/github/azure-pipelines/templates/jobs/init_linux_qnn_sdk_x64.yml new file mode 100644 index 0000000000000..b7fb8a51f28be --- /dev/null +++ b/tools/ci_build/github/azure-pipelines/templates/jobs/init_linux_qnn_sdk_x64.yml @@ -0,0 +1,42 @@ +parameters: + - name: QnnSDKVersion + type: string + default: '2.36.1.250708' + +steps: + - bash: | + echo "##vso[task.setvariable variable=QnnSDKRootDir]/data/qnnsdk/qnn-v${{ parameters.QnnSDKVersion }}" + displayName: Set QnnSDKRootDir + + - script: | + echo $(QnnSDKRootDir) + displayName: 'Print QnnSDKRootDir after downloading QNN SDK' + + - script: | + set -x + sdk_file="$(QnnSDKRootDir)/sdk.yaml" + # Parse the sdk.yaml file to get the QNN SDK version downloaded + downloaded_qnn_sdk_version=$(grep '^version:' "$sdk_file" | head -n 1 | cut -d':' -f2 | xargs | cut -d'.' -f1-3 | tr -d '\r') + + # Extract major.minor.patch part from QnnSDKVersion passed as parameter + expected_qnn_sdk_version=$(echo ${{ parameters.QnnSDKVersion }} | cut -d'.' -f1-3) + + if [[ -z "$downloaded_qnn_sdk_version" ]]; then + echo "QNN version not found in sdk.yaml." + exit 1 + fi + + # Compare provided version with version from sdk.yaml + if [[ "$downloaded_qnn_sdk_version" == "$expected_qnn_sdk_version" ]]; then + echo "Success: QnnSDKVersion matches sdk.yaml version ($downloaded_qnn_sdk_version)." + else + echo "Error: QnnSDKVersion ($expected_qnn_sdk_version) does not match sdk.yaml version ($downloaded_qnn_sdk_version) in the QNN SDK directory" + exit 1 + fi + displayName: "Sanity Check: QnnSDKVersion vs sdk.yaml version" + + + + - script: | + ls -al $(QnnSDKRootDir) + displayName: 'Print contents of QNN SDK' diff --git a/tools/ci_build/github/azure-pipelines/templates/py-linux-qnn.yml b/tools/ci_build/github/azure-pipelines/templates/py-linux-qnn.yml index 788ceff8fd4f2..2168214527c91 100644 --- a/tools/ci_build/github/azure-pipelines/templates/py-linux-qnn.yml +++ b/tools/ci_build/github/azure-pipelines/templates/py-linux-qnn.yml @@ -58,7 +58,7 @@ jobs: clean: true submodules: none - - template: jobs/download_linux_qnn_sdk.yml + - template: jobs/init_linux_qnn_sdk_x64.yml parameters: QnnSDKVersion: ${{ parameters.QnnSdk }}