93 строки
3.4 KiB
YAML
93 строки
3.4 KiB
YAML
# packaging pipeline for onnxruntime-extensions Android AAR package
|
|
|
|
jobs:
|
|
- job: AndroidPackaging
|
|
pool:
|
|
vmImage: "macOS-13"
|
|
timeoutInMinutes: 120
|
|
variables:
|
|
buildConfig: Release
|
|
steps:
|
|
- task: UsePythonVersion@0
|
|
inputs:
|
|
versionSpec: "3.9"
|
|
addToPath: true
|
|
architecture: "x64"
|
|
displayName: "Use Python 3.9"
|
|
|
|
- task: JavaToolInstaller@0
|
|
displayName: Use jdk 11
|
|
inputs:
|
|
versionSpec: "11"
|
|
jdkArchitectureOption: "x64"
|
|
jdkSourceOption: "PreInstalled"
|
|
|
|
- script: brew install coreutils ninja
|
|
displayName: Install coreutils and ninja
|
|
|
|
- template: templates/install-appcenter.yml
|
|
|
|
- script: |
|
|
python ./tools/gen_selectedops.py ./tools/android/package_ops.config
|
|
displayName: "Generate selected ops CMake file"
|
|
|
|
- template: templates/run-with-android-emulator-steps.yml
|
|
parameters:
|
|
steps:
|
|
|
|
- bash: |
|
|
set -e -x
|
|
|
|
python ./tools/android/build_aar.py \
|
|
--output-dir $(Build.BinariesDirectory)/android_aar \
|
|
--config $(buildConfig) \
|
|
--cmake_extra_defines OCOS_ENABLE_SELECTED_OPLIST=ON
|
|
|
|
VERSION=$(cat ./version.txt)
|
|
AAR_PATH="$(Build.BinariesDirectory)/android_aar/aar_out/$(buildConfig)/com/microsoft/onnxruntime/onnxruntime-extensions-android/${VERSION}/onnxruntime-extensions-android-${VERSION}.aar"
|
|
|
|
# Do not output ##vso[] commands with `set -x` or they may be parsed again and include a trailing quote.
|
|
set +x
|
|
echo "##vso[task.setvariable variable=ORT_EXTENSIONS_AAR_PATH]${AAR_PATH}"
|
|
displayName: Build onnxruntime-extensions AAR package
|
|
|
|
- bash: |
|
|
set -e -x
|
|
|
|
cp -r $(Build.SourcesDirectory)/java/src/test/android $(Build.BinariesDirectory)/android_test
|
|
|
|
cd $(Build.BinariesDirectory)/android_test
|
|
|
|
./gradlew connectedDebugAndroidTest --no-daemon -DortExtensionsAarLocalPath="${ORT_EXTENSIONS_AAR_PATH}"
|
|
displayName: Build and run onnxruntime-extensions Android test with Android Emulator
|
|
|
|
- script: |
|
|
set -e -x
|
|
|
|
appcenter test run espresso \
|
|
--app "AI-Frameworks/Ort-Ext-Mobile-Android-Testapp" \
|
|
--devices $(app_center_android_test_devices) \
|
|
--app-path $(Build.BinariesDirectory)/android_test/app/build/outputs/apk/debug/app-debug.apk \
|
|
--test-series "master" \
|
|
--locale "en_US" \
|
|
--build-dir $(Build.BinariesDirectory)/android_test/app/build/outputs/apk/androidTest/debug \
|
|
--token $(app_center_api_token)
|
|
displayName: Run onnxruntime-extensions Android test using App Center
|
|
|
|
- bash: |
|
|
set -e -x
|
|
|
|
AAR_DIR=$(dirname "${ORT_EXTENSIONS_AAR_PATH}")
|
|
ARTIFACTS_STAGING_DIR="$(Build.ArtifactStagingDirectory)"
|
|
|
|
cp ${ORT_EXTENSIONS_AAR_PATH} ${ARTIFACTS_STAGING_DIR}
|
|
cp ${AAR_DIR}/*-javadoc.jar ${ARTIFACTS_STAGING_DIR}
|
|
cp ${AAR_DIR}/*-sources.jar ${ARTIFACTS_STAGING_DIR}
|
|
cp ${AAR_DIR}/*.pom ${ARTIFACTS_STAGING_DIR}
|
|
|
|
displayName: "Assemble artifacts"
|
|
|
|
- publish: "$(Build.ArtifactStagingDirectory)"
|
|
artifact: onnxruntime-extensions-android-aar
|
|
displayName: "Publish artifacts"
|