onnxruntime/tools/ci_build/github/azure-pipelines/nuget/templates/test_linux.yml
Yi Zhang ae74a517b6
Run Nuget_Test_Linux_GPU in container (#17452)
### Description
<!-- Describe your changes. -->



### Motivation and Context
<!-- - Why is this change required? What problem does it solve?
- If it fixes an open issue, please link to the issue here. -->

### Verification

https://dev.azure.com/aiinfra/Lotus/_build/results?buildId=351542&view=results
2023-09-08 13:41:20 +08:00

105 lines
4 KiB
YAML

parameters:
AgentPool: 'onnxruntime-Ubuntu2004-AMD-CPU'
ArtifactSuffix: ''
NugetPackageName : ''
StageSuffix: 'CPU'
NativePackagePrefix: 'onnxruntime'
SpecificArtifact: false
CustomOpArtifactName: 'onnxruntime-linux-x64'
BuildId: '0'
stages:
- stage: NuGet_Test_Linux_${{ parameters.StageSuffix }}
dependsOn:
- NuGet_Packaging_${{ parameters.StageSuffix }}
condition: succeeded()
jobs:
- job:
workspace:
clean: all
timeoutInMinutes: 120
pool: ${{ parameters.AgentPool }}
variables:
- name: OnnxRuntimeBuildDirectory
value: '$(Build.BinariesDirectory)'
steps:
- template: ../../templates/flex-downloadPipelineArtifact.yml
parameters:
StepName: 'Download Signed NuGet'
ArtifactName: drop-signed-nuget-${{ parameters.ArtifactSuffix }}
TargetPath: '$(Build.BinariesDirectory)/nuget-artifact'
SpecificArtifact: ${{ parameters.SpecificArtifact }}
BuildId: ${{ parameters.BuildId }}
- template: ../../templates/flex-downloadPipelineArtifact.yml
parameters:
StepName: 'Download Linux CustomOp TestData'
ArtifactName: ${{ parameters.CustomOpArtifactName }}
TargetPath: '$(Build.BinariesDirectory)/testdata'
SpecificArtifact: ${{ parameters.specificArtifact }}
BuildId: ${{ parameters.BuildId }}
- template: get-nuget-package-version-as-variable.yml
parameters:
packageFolder: '$(Build.BinariesDirectory)/nuget-artifact'
- task: CmdLine@2
displayName: 'Create symlink for test models'
inputs:
script: |
ln -sf /data/models $(Build.BinariesDirectory)
- ${{if contains(parameters.StageSuffix , 'GPU') }}:
- template: ../../templates/get-docker-image-steps.yml
parameters:
Dockerfile: tools/ci_build/github/linux/docker/Dockerfile.package_ubuntu_cuda11_8_tensorrt8_6
Context: tools/ci_build/github/linux/docker/
DockerBuildArgs: "--build-arg BUILD_UID=$( id -u )"
Repository: onnxruntimepackagestest
- bash: |
docker run --rm \
--gpus all \
--volume $(Build.SourcesDirectory):/onnxruntime_src \
--volume $(Build.BinariesDirectory):/build \
--volume /data/models:/build/models:ro \
-e BUILD_SOURCESDIRECTORY='/onnxruntime_src' \
-e OnnxRuntimeBuildDirectory='/build' \
-e DisableContribOps='$(DisableContribOps)' \
-e DisableMlOps='$(DisableMlOps)' \
-e IsReleaseBuild='$(IsReleaseBuild)' \
-e PACKAGENAME='${{ parameters.NugetPackageName }}' \
onnxruntimepackagestest \
/bin/bash -c "
set -ex; \
pushd /build; \
bash /onnxruntime_src/csharp/test/Microsoft.ML.OnnxRuntime.EndToEndTests/runtest.sh /build/nuget-artifact $(NuGetPackageVersionNumber); \
popd
"
displayName: 'Run Package Test'
- ${{ else }}:
- task: CmdLine@2
displayName: 'Create symlink for test models'
inputs:
script: |
ln -sf /data/models $(Build.BinariesDirectory)
- task: Bash@3
displayName: 'Run Package Test'
inputs:
targetType: filePath
filePath: '$(Build.SourcesDirectory)/csharp/test/Microsoft.ML.OnnxRuntime.EndToEndTests/runtest.sh'
arguments: '$(Build.BinariesDirectory)/nuget-artifact $(NuGetPackageVersionNumber)'
workingDirectory: $(Build.BinariesDirectory)
env:
OnnxRuntimeBuildDirectory: $(Build.BinariesDirectory)
DisableContribOps: $(DisableContribOps)
DisableMlOps: $(DisableMlOps)
IsReleaseBuild: $(IsReleaseBuild)
PACKAGENAME: ${{ parameters.NugetPackageName }}
- template: ../../templates/component-governance-component-detection-steps.yml
parameters:
condition: 'always'
- template: ../../templates/clean-agent-build-directory-step.yml