Files
onnxruntime-swift-package-m…/.pipelines/mac-ios-spm-dev-validation-pipeline.yml
T

63 lines
2.5 KiB
YAML

jobs:
- job: j
displayName: "Test with latest local ORT native pod"
pool:
vmImage: "macOS-13"
variables:
artifactsName: "ios_packaging_artifacts_full"
timeoutInMinutes: 60
steps:
- template: templates/use-xcode-version.yml
# Download artifacts from a specific pipeline
# It consumes a latest dev version ORT iOS Pod which should match with the source code
- task: DownloadPipelineArtifact@2
inputs:
buildType: 'specific'
project: 'Lotus'
definition: 995 #'definitionid' is obtained from `System.DefinitionId` of ORT CI: onnxruntime-ios-packaging-pipeline
buildVersionToDownload: 'latestFromBranch'
branchName: 'refs/heads/main'
targetPath: '$(Build.ArtifactStagingDirectory)'
- script: |
set -e -x
ls
workingDirectory: '$(Build.ArtifactStagingDirectory)/$(artifactsName)'
displayName: "List staged artifacts"
- script: |
POD_ARCHIVE=$(find . -name "pod-archive-onnxruntime-objc*.zip")
unzip ${POD_ARCHIVE} -d unzipped
cp -rf unzipped/objectivec/ $(Build.SourcesDirectory)/objectivec/
workingDirectory: '$(Build.ArtifactStagingDirectory)/$(artifactsName)'
displayName: Copy latest dev version ORT objectivec/ source files
# copy the pod archive to a path relative to Package.swift and set the env var required by Package.swift to use that.
# xcodebuild will implicitly use Package.swift and build/run the .testTarget (tests in swift/onnxTests).
# once that's done cleanup the copy of the pod zip file
- script: |
set -e -x
cd "$(Build.ArtifactStagingDirectory)/$(artifactsName)"
POD_ARCHIVE=$(find . -name "pod-archive-onnxruntime-c*.zip")
shasum -a 256 "$(Build.ArtifactStagingDirectory)/$(artifactsName)/${POD_ARCHIVE}"
cd "$(Build.SourcesDirectory)"
cp "$(Build.ArtifactStagingDirectory)/$(artifactsName)/${POD_ARCHIVE}" swift/
export ORT_POD_LOCAL_PATH="swift/${POD_ARCHIVE}"
xcodebuild test -scheme onnxruntime-Package -destination 'platform=iOS Simulator,name=iPhone 14'
xcodebuild test -scheme onnxruntime-Package -destination 'platform=macosx'
rm swift/pod-archive-onnxruntime-c-*.zip
workingDirectory: "$(Build.SourcesDirectory)"
displayName: "Print ORT iOS Pod checksum and Test Package.swift usage"
- template: templates/component-governance-component-detection-steps.yml
parameters:
condition: 'succeeded'