mirror of
https://github.com/saymrwulf/onnxruntime.git
synced 2026-06-28 03:20:58 +00:00
### Description Unify some pre-build common steps. ### Motivation and Context In the long run, other devs should only focus on build option and test commands. It would reduce mistakes and maintenance cost to use common template steps. There will be more PRs to achieve the goal.
87 lines
3.3 KiB
YAML
87 lines
3.3 KiB
YAML
trigger:
|
|
branches:
|
|
include:
|
|
- main
|
|
- rel-*
|
|
paths:
|
|
exclude:
|
|
- 'js/web'
|
|
- 'js/node'
|
|
- 'onnxruntime/core/providers/js'
|
|
pr:
|
|
branches:
|
|
include:
|
|
- main
|
|
- rel-*
|
|
paths:
|
|
exclude:
|
|
- 'js/web'
|
|
- 'js/node'
|
|
- 'onnxruntime/core/providers/js'
|
|
jobs:
|
|
- job: 'build'
|
|
pool: 'onnxruntime-Win2022-GPU-T4'
|
|
variables:
|
|
OrtPackageId: 'Microsoft.ML.OnnxRuntime'
|
|
MsbuildArguments: '-detailedsummary -maxcpucount -consoleloggerparameters:PerformanceSummary'
|
|
OnnxRuntimeBuildDirectory: '$(Build.BinariesDirectory)'
|
|
DOTNET_SKIP_FIRST_TIME_EXPERIENCE: true
|
|
EnvSetupScript: setup_env_trt.bat
|
|
buildArch: x64
|
|
setVcvars: true
|
|
BuildConfig: 'RelWithDebInfo'
|
|
ALLOW_RELEASED_ONNX_OPSET_ONLY: '1'
|
|
skipComponentGovernanceDetection: true
|
|
TODAY: $[format('{0:dd}{0:MM}{0:yyyy}', pipeline.startTime)]
|
|
timeoutInMinutes: 150
|
|
workspace:
|
|
clean: all
|
|
steps:
|
|
- template: templates/jobs/win-ci-prebuild-steps.yml
|
|
parameters:
|
|
EnvSetupScript: $(EnvSetupScript)
|
|
DownloadCUDA: true
|
|
BuildArch: $(buildArch)
|
|
BuildConfig: $(BuildConfig)
|
|
MachinePool: 'onnxruntime-Win2022-GPU-T4'
|
|
WithCache: true
|
|
Today: $(Today)
|
|
|
|
- task: PythonScript@0
|
|
displayName: 'Generate cmake config'
|
|
inputs:
|
|
scriptPath: '$(Build.SourcesDirectory)\tools\ci_build\build.py'
|
|
arguments: '--config $(BuildConfig) --build_dir $(Build.BinariesDirectory) --skip_submodule_sync --build_shared_lib --update --cmake_generator "Visual Studio 17 2022" --build_wheel --enable_onnx_tests --use_tensorrt --tensorrt_home="C:\local\TensorRT-8.6.1.6.Windows10.x86_64.cuda-11.8" --cuda_version=11.8 --cuda_home="$(Agent.TempDirectory)\v11.8" --cmake_extra_defines CMAKE_CUDA_ARCHITECTURES=75'
|
|
workingDirectory: '$(Build.BinariesDirectory)'
|
|
|
|
- task: VSBuild@1
|
|
displayName: 'Build'
|
|
inputs:
|
|
solution: '$(Build.BinariesDirectory)\$(BuildConfig)\onnxruntime.sln'
|
|
platform: 'x64'
|
|
configuration: $(BuildConfig)
|
|
msbuildArgs: $(MsbuildArguments)
|
|
msbuildArchitecture: $(buildArch)
|
|
maximumCpuCount: true
|
|
logProjectEvents: false
|
|
workingFolder: '$(Build.BinariesDirectory)\$(BuildConfig)'
|
|
createLogFile: true
|
|
|
|
- task: PythonScript@0
|
|
displayName: 'Build wheel'
|
|
inputs:
|
|
scriptPath: '$(Build.SourcesDirectory)\setup.py'
|
|
arguments: 'bdist_wheel'
|
|
workingDirectory: '$(Build.BinariesDirectory)\$(BuildConfig)\$(BuildConfig)'
|
|
|
|
- script: |
|
|
mklink /D /J $(Build.BinariesDirectory)\$(BuildConfig)\models $(Build.BinariesDirectory)\models
|
|
DIR dist\ /S /B > wheel_filename_file
|
|
set /p WHEEL_FILENAME=<wheel_filename_file
|
|
del wheel_filename_file
|
|
python.exe -m pip install -q --upgrade %WHEEL_FILENAME%
|
|
set PATH=$(Build.BinariesDirectory)\$(BuildConfig)\$(BuildConfig);%PATH%
|
|
python $(Build.SourcesDirectory)\tools\ci_build\build.py --config $(BuildConfig) --build_dir $(Build.BinariesDirectory) --skip_submodule_sync --build_shared_lib --test --cmake_generator "Visual Studio 17 2022" --build_wheel --enable_onnx_tests --use_tensorrt --tensorrt_home="C:\local\TensorRT-8.6.1.6.Windows10.x86_64.cuda-11.8" --cuda_version=11.8 --cuda_home="$(Agent.TempDirectory)\v11.8" --cmake_extra_defines CMAKE_CUDA_ARCHITECTURES=75
|
|
|
|
workingDirectory: '$(Build.BinariesDirectory)\$(BuildConfig)\$(BuildConfig)'
|
|
displayName: 'Run tests'
|