From 780442b9f6a9fdaa05452dfdd3c3c53bcb7d2bdc Mon Sep 17 00:00:00 2001 From: Jian Chen Date: Tue, 16 May 2023 17:34:34 +0000 Subject: [PATCH] =?UTF-8?q?Change=20windows=20machine=20pools=20to=20use?= =?UTF-8?q?=20VS2022=E2=80=A8=20(#15806)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ### Description Old pool | New pool | Notes -- | -- | -- onnxruntime-Win-CPU-2019 | onnxruntime-Win-CPU-2022 |   onnxruntime-Win2019-CPU-training | onnxruntime-Win2022-CPU-training-AMD |   onnxruntime-Win2019-CPU-training-AMD | onnxruntime-Win2022-CPU-training-AMD | Same as the above onnxruntime-Win2019-GPU-dml-A10 | Need be created | You need to create a new image for it first onnxruntime-Win2019-GPU-T4 | onnxruntime-Win2022-GPU-T4 |   onnxruntime-Win2019-GPU-training-T4 | onnxruntime-Win2022-GPU-T4 | Same as the above because we do not have many T4 GPUs onnxruntime-tensorrt8-winbuild-T4| TBD|TBD Win-CPU-2021|onnxruntime-Win-CPU-2022| will do it in next PR Win-CPU-2019|onnxruntime-Win2022-Intel-CPU'| Intel CPU needed for win-ci-pipeline.yml -> `stage: x64_release_dnnl`
### Motivation and Context With vs2022 we can take the advantage of 64bit compiler. It also with better c++20 support --- .github/workflows/windows.yml | 2 +- .../azure/azure_provider_factory_creator.h | 1 + onnxruntime/core/providers/tvm/tvm_api.cc | 5 +- tools/ci_build/build.py | 4 +- .../c-api-noopenmp-packaging-pipelines.yml | 8 +- .../nuget/templates/test_win.yml | 2 +- .../azure-pipelines/post-merge-jobs.yml | 10 +- .../azure-pipelines/templates/compliance.yml | 2 +- .../templates/jobs/win-ci-vs-2022-job.yml | 378 ++++++++++++++++++ .../py-packaging-selectable-stage.yml | 12 +- .../templates/py-packaging-stage.yml | 6 +- .../azure-pipelines/templates/py-win-gpu.yml | 6 +- .../azure-pipelines/templates/web-ci.yml | 2 +- .../azure-pipelines/templates/win-ci.yml | 10 +- .../azure-pipelines/templates/win-wasm-ci.yml | 2 +- .../azure-pipelines/templates/win-web-ci.yml | 2 +- .../azure-pipelines/win-ci-fuzz-testing.yml | 2 +- .../azure-pipelines/win-ci-pipeline.yml | 42 +- .../win-gpu-reduce-op-ci-pipeline.yml | 2 +- 19 files changed, 439 insertions(+), 59 deletions(-) create mode 100644 tools/ci_build/github/azure-pipelines/templates/jobs/win-ci-vs-2022-job.yml diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index f2c61d3359..790b3fc741 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -8,7 +8,7 @@ on: jobs: Onnxruntime-TVM: - runs-on: windows-2019 + runs-on: windows-latest steps: - uses: actions/checkout@v3 with: diff --git a/onnxruntime/core/providers/azure/azure_provider_factory_creator.h b/onnxruntime/core/providers/azure/azure_provider_factory_creator.h index 9254ade960..32fbca4a7d 100644 --- a/onnxruntime/core/providers/azure/azure_provider_factory_creator.h +++ b/onnxruntime/core/providers/azure/azure_provider_factory_creator.h @@ -5,6 +5,7 @@ #include #include +#include #include "core/providers/providers.h" namespace onnxruntime { diff --git a/onnxruntime/core/providers/tvm/tvm_api.cc b/onnxruntime/core/providers/tvm/tvm_api.cc index 0e93e02624..37982d0bdb 100644 --- a/onnxruntime/core/providers/tvm/tvm_api.cc +++ b/onnxruntime/core/providers/tvm/tvm_api.cc @@ -17,6 +17,7 @@ #include "core/common/common.h" #include "core/common/path.h" +#include "core/common/gsl.h" #include "tvm_api.h" @@ -225,7 +226,7 @@ void TVM_VM_SetInputs(TvmModule& mod, TvmPackedFunc set_input = mod.GetFunction("set_input", false); ::tvm::runtime::TVMRetValue rv; - set_input.CallPacked(::tvm::runtime::TVMArgs(tvm_values.data(), tvm_type_codes.data(), int(num_total_args)), &rv); + set_input.CallPacked(::tvm::runtime::TVMArgs(tvm_values.data(), tvm_type_codes.data(), gsl::narrow_cast(num_total_args)), &rv); } void TVMSetOutputsZeroCopy(TvmModule& mod, @@ -250,7 +251,7 @@ void TVM_VM_SetOutputsZeroCopy(TvmModule& mod, TvmPackedFunc set_output = mod.GetFunction("set_outputs", false); tvm_rt::TVMRetValue rv; - set_output.CallPacked(tvm_rt::TVMArgs(tvm_values.data(), tvm_type_codes.data(), num_total_args), &rv); + set_output.CallPacked(tvm_rt::TVMArgs(tvm_values.data(), tvm_type_codes.data(), gsl::narrow_cast(num_total_args)), &rv); } void TVMGetOutputs(TvmModule& mod, diff --git a/tools/ci_build/build.py b/tools/ci_build/build.py index 54e844bc08..38725ff937 100644 --- a/tools/ci_build/build.py +++ b/tools/ci_build/build.py @@ -707,7 +707,7 @@ def parse_arguments(): args.enable_wasm_exception_throwing_override = True if args.cmake_generator is None and is_windows(): - args.cmake_generator = "Ninja" if args.build_wasm else "Visual Studio 16 2019" + args.cmake_generator = "Ninja" if args.build_wasm else "Visual Studio 17 2022" return args @@ -1303,7 +1303,7 @@ def generate_build_tree( if not ( args.build_shared_lib and is_windows() - and args.cmake_generator == "Visual Studio 16 2019" + and args.cmake_generator == "Visual Studio 17 2022" and args.use_full_protobuf ): raise BuildError("Fuzz test has only be tested with build shared libs option using MSVC on windows") diff --git a/tools/ci_build/github/azure-pipelines/c-api-noopenmp-packaging-pipelines.yml b/tools/ci_build/github/azure-pipelines/c-api-noopenmp-packaging-pipelines.yml index 747e36a983..ba3b2b0ba7 100644 --- a/tools/ci_build/github/azure-pipelines/c-api-noopenmp-packaging-pipelines.yml +++ b/tools/ci_build/github/azure-pipelines/c-api-noopenmp-packaging-pipelines.yml @@ -796,7 +796,7 @@ stages: IsReleaseBuild: ${{ parameters.IsReleaseBuild }} ArtifactName: 'drop-nuget-dml' StageName: 'Windows_CI_GPU_DML_Dev' - BuildCommand: --build_dir $(Build.BinariesDirectory) --skip_submodule_sync --build_shared_lib --enable_onnx_tests --enable_wcos --use_telemetry --use_dml --use_winml --cmake_generator "Visual Studio 16 2019" + BuildCommand: --build_dir $(Build.BinariesDirectory) --skip_submodule_sync --build_shared_lib --enable_onnx_tests --enable_wcos --use_telemetry --use_dml --use_winml --cmake_generator "Visual Studio 17 2022" BuildArch: 'x64' msbuildArchitecture: 'amd64' EnvSetupScript: 'setup_env.bat' @@ -819,7 +819,7 @@ stages: IsReleaseBuild: ${{ parameters.IsReleaseBuild }} ArtifactName: 'drop-win-dml-x86-zip' StageName: 'Windows_CI_GPU_DML_Dev_x86' - BuildCommand: --build_dir $(Build.BinariesDirectory) --skip_submodule_sync --build_shared_lib --enable_onnx_tests --enable_wcos --use_telemetry --use_dml --use_winml --cmake_generator "Visual Studio 16 2019" + BuildCommand: --build_dir $(Build.BinariesDirectory) --skip_submodule_sync --build_shared_lib --enable_onnx_tests --enable_wcos --use_telemetry --use_dml --use_winml --cmake_generator "Visual Studio 17 2022" BuildArch: 'x86' EnvSetupScript: 'setup_env_x86.bat' sln_platform: 'Win32' @@ -842,7 +842,7 @@ stages: IsReleaseBuild: ${{ parameters.IsReleaseBuild }} ArtifactName: 'drop-win-dml-arm64-zip' StageName: 'Windows_CI_GPU_DML_Dev_arm64' - BuildCommand: --build_dir $(Build.BinariesDirectory) --arm64 --skip_submodule_sync --build_shared_lib --enable_onnx_tests --enable_wcos --use_telemetry --use_dml --use_winml --cmake_generator "Visual Studio 16 2019" + BuildCommand: --build_dir $(Build.BinariesDirectory) --arm64 --skip_submodule_sync --build_shared_lib --enable_onnx_tests --enable_wcos --use_telemetry --use_dml --use_winml --cmake_generator "Visual Studio 17 2022" BuildArch: 'x64' EnvSetupScript: 'setup_env.bat' sln_platform: 'arm64' @@ -865,7 +865,7 @@ stages: IsReleaseBuild: ${{ parameters.IsReleaseBuild }} ArtifactName: 'drop-win-dml-arm-zip' StageName: 'Windows_CI_GPU_DML_Dev_arm' - BuildCommand: --build_dir $(Build.BinariesDirectory) --arm --skip_submodule_sync --build_shared_lib --enable_onnx_tests --enable_wcos --use_telemetry --use_dml --use_winml --cmake_generator "Visual Studio 16 2019" + BuildCommand: --build_dir $(Build.BinariesDirectory) --arm --skip_submodule_sync --build_shared_lib --enable_onnx_tests --enable_wcos --use_telemetry --use_dml --use_winml --cmake_generator "Visual Studio 17 2022" BuildArch: 'x64' EnvSetupScript: 'setup_env.bat' sln_platform: 'arm' diff --git a/tools/ci_build/github/azure-pipelines/nuget/templates/test_win.yml b/tools/ci_build/github/azure-pipelines/nuget/templates/test_win.yml index 919964cbc4..9a185fd908 100644 --- a/tools/ci_build/github/azure-pipelines/nuget/templates/test_win.yml +++ b/tools/ci_build/github/azure-pipelines/nuget/templates/test_win.yml @@ -50,7 +50,7 @@ stages: - task: BatchScript@1 displayName: 'Setup VS2019 env vars' inputs: - filename: 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvarsall.bat' + filename: 'C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvarsall.bat' arguments: 'amd64' modifyEnvironment: true diff --git a/tools/ci_build/github/azure-pipelines/post-merge-jobs.yml b/tools/ci_build/github/azure-pipelines/post-merge-jobs.yml index 2f193736d5..4dde8ba6b1 100644 --- a/tools/ci_build/github/azure-pipelines/post-merge-jobs.yml +++ b/tools/ci_build/github/azure-pipelines/post-merge-jobs.yml @@ -2,7 +2,7 @@ variables: - name: WIN_CPU_BUILD_MACHINE_POOL_NAME # name of a variable # The public ADO project ${{ if startsWith(variables['System.CollectionUri'], 'https://dev.azure.com/onnxruntime/') }}: - value: 'onnxruntime-Win-CPU-2019' + value: 'onnxruntime-Win-CPU-2022' # The private ADO project ${{ if or(startsWith(variables['System.CollectionUri'], 'https://dev.azure.com/aiinfra/'),startsWith(variables['System.CollectionUri'], 'https://aiinfra.visualstudio.com/')) }}: value: 'Win-CPU-2021' @@ -78,7 +78,7 @@ stages: - stage: Mimalloc dependsOn: [ ] jobs: - - template: templates/win-ci-vs-2019.yml + - template: templates/jobs/win-ci-vs-2022-job.yml parameters: BuildConfig: 'Debug' EnvSetupScript: setup_env.bat @@ -98,7 +98,7 @@ stages: - stage: NoAbseil dependsOn: [ ] jobs: - - template: templates/win-ci-vs-2019.yml + - template: templates/jobs/win-ci-vs-2022-job.yml parameters: BuildConfig: 'Debug' EnvSetupScript: setup_env.bat @@ -118,7 +118,7 @@ stages: - stage: MinimalBuildWithNoExceptions dependsOn: [ ] jobs: - - template: templates/win-ci-vs-2019.yml + - template: templates/jobs/win-ci-vs-2022-job.yml parameters: BuildConfig: 'Debug' EnvSetupScript: setup_env.bat @@ -138,7 +138,7 @@ stages: - stage: DebugNodeInputsOutputs dependsOn: [ ] jobs: - - template: templates/win-ci-vs-2019.yml + - template: templates/jobs/win-ci-vs-2022-job.yml parameters: BuildConfig: 'Debug' EnvSetupScript: setup_env.bat diff --git a/tools/ci_build/github/azure-pipelines/templates/compliance.yml b/tools/ci_build/github/azure-pipelines/templates/compliance.yml index 9f901ef3fb..77e2ed87c1 100644 --- a/tools/ci_build/github/azure-pipelines/templates/compliance.yml +++ b/tools/ci_build/github/azure-pipelines/templates/compliance.yml @@ -34,7 +34,7 @@ steps: userProvideBuildInfo: msBuildInfo msBuildVersion: 16.0 msBuildArchitecture: x64 - msBuildCommandline: '"C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\amd64\msbuild.exe" "$(Build.BinariesDirectory)\RelWithDebInfo\onnxruntime.sln" /p:platform="${{parameters.msbuildPlatform}}" /p:configuration="RelWithDebInfo" /p:CAExcludePath="$(Build.BinariesDirectory);$(Build.SourcesDirectory)\cmake;C:\program files (x86)" /p:VisualStudioVersion="16.0" /m /p:PreferredToolArchitecture=x64' + msBuildCommandline: '"C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Current\Bin\amd64\msbuild.exe" "$(Build.BinariesDirectory)\RelWithDebInfo\onnxruntime.sln" /p:platform="${{parameters.msbuildPlatform}}" /p:configuration="RelWithDebInfo" /p:CAExcludePath="$(Build.BinariesDirectory);$(Build.SourcesDirectory)\cmake;C:\program files (x86)" /p:VisualStudioVersion="17.0" /m /p:PreferredToolArchitecture=x64' continueOnError: true - task: securedevelopmentteam.vss-secure-development-tools.build-task-report.SdtReport@1 diff --git a/tools/ci_build/github/azure-pipelines/templates/jobs/win-ci-vs-2022-job.yml b/tools/ci_build/github/azure-pipelines/templates/jobs/win-ci-vs-2022-job.yml new file mode 100644 index 0000000000..ea8cc6e1c4 --- /dev/null +++ b/tools/ci_build/github/azure-pipelines/templates/jobs/win-ci-vs-2022-job.yml @@ -0,0 +1,378 @@ +parameters: +- name: BuildConfig + type: string + +- name: EnvSetupScript + type: string + +- name: job_name_suffix + type: string + +- name: buildArch + type: string + +- name: additionalBuildFlags + type: string + +- name: msbuildPlatform + type: string + +- name: isX86 + type: boolean + default: false + +- name: isTraining + type: boolean + default: false + +- name: EnablePython + type: boolean + default: true + +- name: RunOnnxRuntimeTests + displayName: Run Tests? + type: boolean + default: true + +- name: RunStaticCodeAnalysis + displayName: Run Static Code Analysis + type: boolean + default: true + +- name: ORT_EP_NAME + type: string + +- name: MachinePool + type: string + +- name: GenerateDocumentation + displayName: Generate updated documentation. Requires build to have occurred and `--gen_doc` to be specified + type: boolean + default: false + +- name: WITH_CACHE + displayName: Use Cache to acclerate compilation + type: boolean + default: false + +jobs: +- job: build_${{ parameters.job_name_suffix }} + variables: + OrtPackageId: 'Microsoft.ML.OnnxRuntime' + OnnxRuntimeBuildDirectory: '$(Build.BinariesDirectory)' + DOTNET_SKIP_FIRST_TIME_EXPERIENCE: true + setVcvars: true + ALLOW_RELEASED_ONNX_OPSET_ONLY: '0' + DocUpdateNeeded: false # Set to true during document generation if there are diffs + skipComponentGovernanceDetection: true + DEPS_CACHE_DIR: $(Agent.TempDirectory)/deps_ccache + ORT_CACHE_DIR: $(Agent.TempDirectory)/ort_ccache + TODAY: $[format('{0:dd}{0:MM}{0:yyyy}', pipeline.startTime)] + ${{ if eq(parameters.WITH_CACHE, true) }}: + PS_CACHE_ARG: '-use_cache' + PY_CACHE_ARG: '--use_cache' + MSBUILD_CACHE_ARG: '/p:CLToolExe=cl.exe /p:CLToolPath=C:\ProgramData\chocolatey\bin /p:TrackFileAccess=false /p:UseMultiToolTask=true /p:DebugInformationFormat=OldStyle' + workspace: + clean: all + pool: ${{ parameters.MachinePool }} + timeoutInMinutes: 300 + steps: + - checkout: self + clean: true + submodules: none + + - task: UsePythonVersion@0 + inputs: + versionSpec: '3.8' + addToPath: true + architecture: ${{ parameters.buildArch }} + + - template: ../download-deps.yml + + - task: PythonScript@0 + displayName: 'Update deps.txt' + inputs: + scriptPath: $(Build.SourcesDirectory)/tools/ci_build/replace_urls_in_deps.py + arguments: --new_dir $(Build.BinariesDirectory)/deps + workingDirectory: $(Build.BinariesDirectory) + + - task: NodeTool@0 + inputs: + versionSpec: '16.x' + force32bit: ${{ parameters.isX86 }} + + # Our build machine doesn't have java x86 + - ${{ if eq(parameters.buildArch, 'x64') }}: + - task: JavaToolInstaller@0 + inputs: + versionSpec: '11' + jdkArchitectureOption: ${{ parameters.buildArch }} + jdkSourceOption: 'PreInstalled' + + - task: BatchScript@1 + displayName: 'setup env' + inputs: + filename: '$(Build.SourcesDirectory)\tools\ci_build\github\windows\${{ parameters.EnvSetupScript }}' + modifyEnvironment: true + workingFolder: '$(Build.BinariesDirectory)' + + - script: | + set ORT_DOXY_SRC=$(Build.SourcesDirectory) + set ORT_DOXY_OUT=$(Build.BinariesDirectory)\${{ parameters.BuildConfig }}\${{ parameters.BuildConfig }} + mkdir %ORT_DOXY_SRC% + mkdir %ORT_DOXY_OUT% + "C:\Program Files\doxygen\bin\doxygen.exe" $(Build.SourcesDirectory)\tools\ci_build\github\Doxyfile_csharp.cfg + workingDirectory: '$(Build.SourcesDirectory)' + displayName: 'API Documentation Check and generate' + + - script: | + python -m pip install -q setuptools wheel numpy + workingDirectory: '$(Build.BinariesDirectory)' + displayName: 'Install python modules' + + - ${{ if eq(parameters.WITH_CACHE, true) }}: + - powershell: | + if ([string]::IsNullOrEmpty((Get-Command ccache -errorAction SilentlyContinue))) + { + choco install ccache -y --version 4.7.4 + $ccache_path = (Get-Command ccache).Source + $ccache_parent_dir = (Split-Path -parent $ccache_path) + Copy-Item "C:\ProgramData\chocolatey\lib\ccache\tools\ccache-4.7.4-windows-x86_64\ccache.exe" -Destination "C:\ProgramData\chocolatey\bin\cl.exe" + Get-ChildItem $ccache_parent_dir + ccache --version + } + displayName: Install ccache and update PATH to use linked versions of gcc, cc, etc + + - ${{ if or(eq(parameters.RunOnnxRuntimeTests, true), eq(parameters.GenerateDocumentation, true)) }}: + - ${{ if eq(parameters.WITH_CACHE, true) }}: + - task: Cache@2 + # machinepool is used to ensure the compiler is same + inputs: + key: '"$(TODAY)" | ${{ parameters.buildArch }} | ${{ parameters.BuildConfig }} | ${{ parameters.MachinePool }} | $(Build.SourcesDirectory)/cmake/deps.txt, $(Build.SourcesDirectory)/tools/ci_build/github/windows/install_third_party_deps.ps1, $(Build.SourcesDirectory)/tools/ci_build/github/windows/helpers.ps1' + path: $(DEPS_CACHE_DIR) + restoreKeys: | + "$(TODAY)" | ${{ parameters.buildArch }} | ${{ parameters.BuildConfig }} | ${{ parameters.MachinePool }} + displayName: Cache Task + + - task: PowerShell@2 + displayName: 'Install ONNX' + inputs: + filePath: '$(Build.SourcesDirectory)/tools/ci_build/github/windows/install_third_party_deps.ps1' + workingDirectory: '$(Build.BinariesDirectory)' + arguments: -cpu_arch ${{ parameters.buildArch }} -install_prefix $(Build.BinariesDirectory)\${{ parameters.BuildConfig }}\installed -build_config ${{ parameters.BuildConfig }} ${{ variables['PS_CACHE_ARG'] }} + ${{ if eq(parameters.WITH_CACHE, true) }}: + env: + CCACHE_DIR: $(DEPS_CACHE_DIR) + CCACHE_COMPILERCHECK: content + + - ${{ if eq(parameters.WITH_CACHE, true) }}: + - powershell: | + ccache -sv + ccache -z + displayName: cache stat + env: + CCACHE_DIR: $(DEPS_CACHE_DIR) + + - task: NuGetToolInstaller@0 + displayName: Use Nuget 5.7.0 + inputs: + versionSpec: 5.7.0 + + - task: NuGetCommand@2 + displayName: 'NuGet restore' + inputs: + command: 'restore' + feedsToUse: 'config' + restoreSolution: '$(Build.SourcesDirectory)\packages.config' + nugetConfigPath: '$(Build.SourcesDirectory)\NuGet.config' + restoreDirectory: '$(Build.BinariesDirectory)\${{ parameters.BuildConfig }}' + + - ${{ if eq(parameters.WITH_CACHE, true) }}: + - task: Cache@2 + inputs: + ${{if eq(variables['Build.SourceBranchName'], 'merge')}}: + key: ' "$(TODAY)" | $(System.StageName) | ${{ parameters.BuildConfig }} | merge ' + ${{else}}: + key: '"$(TODAY)" | onnxruntime | $(System.StageName) | ${{ parameters.BuildConfig }} | $(Build.SourceVersion) ' + path: $(ORT_CACHE_DIR) + restoreKeys: | + "$(TODAY)" | onnxruntime | $(System.StageName) | ${{ parameters.BuildConfig }} + displayName: Cache Task + + - task: PythonScript@0 + displayName: 'Generate cmake config' + inputs: + scriptPath: '$(Build.SourcesDirectory)\tools\ci_build\build.py' + arguments: '--config ${{ parameters.BuildConfig }} --build_dir $(Build.BinariesDirectory) --skip_submodule_sync --build_csharp --update --parallel --cmake_generator "Visual Studio 17 2022" --build_shared_lib --enable_onnx_tests ${{ variables.PY_CACHE_ARG }} ${{ parameters.additionalBuildFlags }}' + workingDirectory: '$(Build.BinariesDirectory)' + + - task: VSBuild@1 + displayName: 'Build' + inputs: + solution: '$(Build.BinariesDirectory)\${{ parameters.BuildConfig }}\onnxruntime.sln' + platform: ${{ parameters.msbuildPlatform }} + configuration: ${{ parameters.BuildConfig }} + msbuildArgs: '-maxcpucount ${{ variables.MSBUILD_CACHE_ARG }}' + msbuildArchitecture: ${{ parameters.buildArch }} + maximumCpuCount: true + logProjectEvents: false + workingFolder: '$(Build.BinariesDirectory)\${{ parameters.BuildConfig }}' + createLogFile: true + ${{ if eq(parameters.WITH_CACHE, true) }}: + env: + CCACHE_DIR: $(ORT_CACHE_DIR) + + - ${{ if eq(parameters.WITH_CACHE, true) }}: + - powershell: | + ccache -sv + ccache -z + displayName: cache stat + env: + CCACHE_DIR: $(ORT_CACHE_DIR) + + - powershell: | + Get-Volume $("$(Build.BinariesDirectory)")[0] + displayName: check disk size + + - task: DeleteFiles@1 + displayName: 'Delete intermedia files from $(Build.BinariesDirectory)\${{ parameters.BuildConfig }}' + inputs: + SourceFolder: '$(Build.BinariesDirectory)\${{ parameters.BuildConfig }}' + Contents: | + **/*.obj + + - powershell: | + Get-Volume $("$(Build.BinariesDirectory)")[0] + displayName: check disk size + + - ${{ if eq(parameters.EnablePython, true) }}: + - task: PythonScript@0 + displayName: 'Build wheel' + inputs: + scriptPath: '$(Build.SourcesDirectory)\setup.py' + arguments: 'bdist_wheel' + workingDirectory: '$(Build.BinariesDirectory)\${{ parameters.BuildConfig }}\${{ parameters.BuildConfig }}' + + - task: MSBuild@1 + displayName: 'Restore NuGet Packages' + inputs: + solution: '$(Build.SourcesDirectory)\csharp\OnnxRuntime.CSharp.sln' + platform: 'Any CPU' + configuration: '${{ parameters.BuildConfig }}' + msbuildArguments: '-t:restore -p:OrtPackageId=$(OrtPackageId)' + workingDirectory: '$(Build.SourcesDirectory)\csharp' + + - task: MSBuild@1 + displayName: 'Build C#' + inputs: + solution: '$(Build.SourcesDirectory)\csharp\OnnxRuntime.CSharp.sln' + configuration: '${{ parameters.BuildConfig }}' + platform: 'Any CPU' + msbuildArguments: '-p:OnnxRuntimeBuildDirectory="$(Build.BinariesDirectory)" -p:OrtPackageId=$(OrtPackageId)' + workingDirectory: '$(Build.SourcesDirectory)\csharp' + + # C# test isn't launched by build.py, so models link has to be added. + - script: | + mklink /D /J models C:\local\models + workingDirectory: '$(Build.BinariesDirectory)' + displayName: 'Create models link' + + - ${{ if and(eq(parameters.BuildConfig, 'RelWithDebInfo'), eq(parameters.RunOnnxRuntimeTests, true)) }}: + - task: DotNetCoreCLI@2 + displayName: 'Test C#' + inputs: + command: test + projects: '$(Build.SourcesDirectory)\csharp\test\Microsoft.ML.OnnxRuntime.Tests.NetCoreApp\Microsoft.ML.OnnxRuntime.Tests.NetCoreApp.csproj' + configuration: '${{ parameters.BuildConfig }}' + arguments: '--configuration ${{ parameters.BuildConfig }} -p:Platform="Any CPU" -p:OnnxRuntimeBuildDirectory="$(Build.BinariesDirectory)" -p:OrtPackageId=$(OrtPackageId) --blame' + workingDirectory: '$(Build.SourcesDirectory)\csharp' + + - ${{ if eq(parameters.EnablePython, true) }}: + - powershell: | + python3 -m pip uninstall -y ort-nightly-gpu ort-nightly onnxruntime onnxruntime-gpu onnxruntime-training onnxruntime-directml ort-nightly-directml -qq + Get-ChildItem -Path dist/*.whl | foreach {pip --disable-pip-version-check install --upgrade $_.fullname} + + workingDirectory: '$(Build.BinariesDirectory)\${{ parameters.BuildConfig }}\${{ parameters.BuildConfig }}' + displayName: 'Install onnxruntime wheel' + + - ${{ if eq(parameters.RunOnnxRuntimeTests, true) }}: + - powershell: | + python $(Build.SourcesDirectory)\tools\ci_build\build.py --config ${{ parameters.BuildConfig }} --build_dir $(Build.BinariesDirectory) --skip_submodule_sync --build_shared_lib --test --cmake_generator "Visual Studio 17 2022" --build_shared_lib --enable_onnx_tests ${{ parameters.additionalBuildFlags }} + + workingDirectory: '$(Build.BinariesDirectory)\${{ parameters.BuildConfig }}\${{ parameters.BuildConfig }}' + displayName: 'Run tests' + + + - ${{ if eq(parameters.RunStaticCodeAnalysis, true) }}: + - task: DeleteFiles@1 + displayName: 'Delete binaries files from $(Build.BinariesDirectory)\RelWithDebInfo' + inputs: + SourceFolder: '$(Build.BinariesDirectory)\RelWithDebInfo' + Contents: | + **/*.obj + **/*.pdb + **/*.dll + + + # Manually set msBuildCommandline so that we can also set CAExcludePath + # build_dir must be a sub folder of $(Build.SourcesDirectory) + # TODO: move this step to a CPU-only machine to save GPU resources. + - task: SDLNativeRules@3 + displayName: 'Run the PREfast SDL Native Rules for MSBuild' + inputs: + msBuildArchitecture: amd64 + setupCommandlines: 'python $(Build.SourcesDirectory)\tools\ci_build\build.py --config RelWithDebInfo --build_dir $(Build.SourcesDirectory)\b --skip_submodule_sync --build_shared_lib --update --cmake_generator "Visual Studio 17 2022" --build_shared_lib --enable_onnx_tests ${{ parameters.additionalBuildFlags }} --cmake_extra_defines onnxruntime_ENABLE_STATIC_ANALYSIS=ON' + msBuildCommandline: '"C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Current\Bin\amd64\msbuild.exe" "$(Build.SourcesDirectory)\b\RelWithDebInfo\onnxruntime.sln" /p:RunCodeAnalysis=true /p:platform=${{ parameters.msbuildPlatform }} /p:configuration=RelWithDebInfo /p:VisualStudioVersion="17.0" /m /p:PreferredToolArchitecture=x64' + excludedPaths: '$(Build.SourcesDirectory)\b#$(Build.SourcesDirectory)\cmake#C:\program files#C:\program files (x86)#C:\program files' + rulesetName: Custom + customRuleset: $(Build.SourcesDirectory)\cmake\Sdl.ruleset + publishXML: true + + - task: SdtReport@2 + displayName: 'Create Security Analysis Report' + inputs: + SDLNativeRules: true + + - task: PublishSecurityAnalysisLogs@3 + displayName: 'Publish Security Analysis Logs' + continueOnError: true + + - task: PostAnalysis@2 + displayName: 'Guardian Break v2' + inputs: + GdnBreakGdnToolSDLNativeRulesSeverity: Note + GdnBreakGdnToolSDLNativeRules: true + + + - ${{ if eq(parameters.RunOnnxRuntimeTests, true) }}: + - task: PublishTestResults@2 + displayName: 'Publish unit test results' + inputs: + testResultsFiles: '**/*.results.xml' + searchFolder: '$(Build.BinariesDirectory)/${{ parameters.BuildConfig }}' + testRunTitle: 'Unit Test Run' + condition: succeededOrFailed() + + - ${{ if eq(parameters.GenerateDocumentation, true) }}: + - task: PythonScript@0 + displayName: 'Generate documentation' + inputs: + scriptPath: '$(Build.SourcesDirectory)\tools\ci_build\build.py' + arguments: '--config ${{ parameters.BuildConfig }} --build_dir $(Build.BinariesDirectory) --gen_doc validate ${{ variables.PY_CACHE_ARG }}' + workingDirectory: '$(Build.BinariesDirectory)' + + # if the validation from --gen_doc failed it sets DocUpdateNeeded so we can publish the latest version of the docs + # as an artifact, allowing a developer to download this and replace the current version instead of having to build + # and generate the docs locally themselves. handle each of the two md files separately - simpler than copying + # them to another location and publishing from there in a single task. + - task: PublishBuildArtifacts@1 + condition: and(failed(), eq(variables['DocUpdateNeeded'], 'true')) + inputs: + pathtoPublish: '$(Build.SourcesDirectory)/docs/OperatorKernels.md' + artifactName: 'OperatorKernels.md' + + - task: PublishBuildArtifacts@1 + condition: and(failed(), eq(variables['DocUpdateNeeded'], 'true')) + inputs: + pathtoPublish: '$(Build.SourcesDirectory)/docs/ContribOperators.md' + artifactName: 'ContribOperators.md' diff --git a/tools/ci_build/github/azure-pipelines/templates/py-packaging-selectable-stage.yml b/tools/ci_build/github/azure-pipelines/templates/py-packaging-selectable-stage.yml index bbd37026f2..3c80f5562b 100644 --- a/tools/ci_build/github/azure-pipelines/templates/py-packaging-selectable-stage.yml +++ b/tools/ci_build/github/azure-pipelines/templates/py-packaging-selectable-stage.yml @@ -179,7 +179,7 @@ stages: --enable_lto --build_dir $(Build.BinariesDirectory) --skip_submodule_sync - --cmake_generator "Visual Studio 16 2019" + --cmake_generator "Visual Studio 17 2022" --enable_pybind --enable_onnx_tests ${{ parameters.cpu_build_py_parameters }} @@ -267,8 +267,8 @@ stages: condition: and (succeeded(), eq(variables['PythonVersion'], '3.8')) inputs: msBuildArchitecture: amd64 - setupCommandlines: 'python $(Build.SourcesDirectory)\tools\ci_build\build.py --config Debug --build_dir $(Build.BinariesDirectory) --skip_submodule_sync --cmake_generator "Visual Studio 16 2019" --enable_pybind --enable_onnx_tests --parallel --update --cmake_extra_defines onnxruntime_ENABLE_STATIC_ANALYSIS=ON' - msBuildCommandline: '"C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\amd64\msbuild.exe" "$(Build.BinariesDirectory)\Debug\onnxruntime.sln" /p:platform="x64" /p:configuration=Debug /p:VisualStudioVersion="16.0" /m /p:PreferredToolArchitecture=x64' + setupCommandlines: 'python $(Build.SourcesDirectory)\tools\ci_build\build.py --config Debug --build_dir $(Build.BinariesDirectory) --skip_submodule_sync --cmake_generator "Visual Studio 17 2022" --enable_pybind --enable_onnx_tests --parallel --update --cmake_extra_defines onnxruntime_ENABLE_STATIC_ANALYSIS=ON' + msBuildCommandline: '"C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Current\Bin\amd64\msbuild.exe" "$(Build.BinariesDirectory)\Debug\onnxruntime.sln" /p:platform="x64" /p:configuration=Debug /p:VisualStudioVersion="17.0" /m /p:PreferredToolArchitecture=x64' excludedPaths: '$(Build.BinariesDirectory)#$(Build.SourcesDirectory)\cmake#C:\program files (x86)' - task: TSAUpload@2 @@ -444,7 +444,7 @@ stages: --config RelWithDebInfo --build_dir $(Build.BinariesDirectory) --skip_submodule_sync - --cmake_generator "Visual Studio 16 2019" + --cmake_generator "Visual Studio 17 2022" --enable_pybind --enable_onnx_tests ${{ parameters.gpu_build_py_parameters }} @@ -531,8 +531,8 @@ stages: condition: and (succeeded(), eq(variables['PythonVersion'], '3.8')) inputs: msBuildArchitecture: amd64 - setupCommandlines: 'python $(Build.SourcesDirectory)\tools\ci_build\build.py --config RelWithDebInfo --build_dir $(Build.BinariesDirectory) --skip_submodule_sync --cmake_generator "Visual Studio 16 2019" --enable_pybind --enable_onnx_tests ${{ parameters.gpu_build_py_parameters }} --parallel $(EpBuildFlags) --update --cmake_extra_defines onnxruntime_ENABLE_STATIC_ANALYSIS=ON' - msBuildCommandline: '"C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\amd64\msbuild.exe" "$(Build.BinariesDirectory)\RelWithDebInfo\onnxruntime.sln" /p:platform=x64 /p:configuration="RelWithDebInfo" /p:VisualStudioVersion="16.0" /m /p:PreferredToolArchitecture=x64' + setupCommandlines: 'python $(Build.SourcesDirectory)\tools\ci_build\build.py --config RelWithDebInfo --build_dir $(Build.BinariesDirectory) --skip_submodule_sync --cmake_generator "Visual Studio 17 2022" --enable_pybind --enable_onnx_tests ${{ parameters.gpu_build_py_parameters }} --parallel $(EpBuildFlags) --update --cmake_extra_defines onnxruntime_ENABLE_STATIC_ANALYSIS=ON' + msBuildCommandline: '"C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Current\Bin\amd64\msbuild.exe" "$(Build.BinariesDirectory)\RelWithDebInfo\onnxruntime.sln" /p:platform=x64 /p:configuration="RelWithDebInfo" /p:VisualStudioVersion="17.0" /m /p:PreferredToolArchitecture=x64' excludedPaths: '$(Build.BinariesDirectory)#$(Build.SourcesDirectory)\cmake#C:\program files (x86)' - task: TSAUpload@2 diff --git a/tools/ci_build/github/azure-pipelines/templates/py-packaging-stage.yml b/tools/ci_build/github/azure-pipelines/templates/py-packaging-stage.yml index 6ac5ec6826..bdac1a7e3b 100644 --- a/tools/ci_build/github/azure-pipelines/templates/py-packaging-stage.yml +++ b/tools/ci_build/github/azure-pipelines/templates/py-packaging-stage.yml @@ -163,7 +163,7 @@ stages: --enable_lto --build_dir $(Build.BinariesDirectory) --skip_submodule_sync - --cmake_generator "Visual Studio 16 2019" + --cmake_generator "Visual Studio 17 2022" --enable_pybind --enable_onnx_tests ${{ parameters.build_py_parameters }} @@ -246,8 +246,8 @@ stages: condition: and (succeeded(), and(eq(variables['buildArch'], 'x64'), eq(variables['PythonVersion'], '3.8'))) inputs: msBuildArchitecture: amd64 - setupCommandlines: 'python $(Build.SourcesDirectory)\tools\ci_build\build.py --config Debug --build_dir $(Build.BinariesDirectory) --skip_submodule_sync --cmake_generator "Visual Studio 16 2019" --enable_pybind --enable_onnx_tests --parallel $(TelemetryOption) --update --cmake_extra_defines onnxruntime_ENABLE_STATIC_ANALYSIS=ON' - msBuildCommandline: '"C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\amd64\msbuild.exe" "$(Build.BinariesDirectory)\Debug\onnxruntime.sln" /p:platform="$(MsbuildPlatform)" /p:configuration=Debug /p:VisualStudioVersion="16.0" /m /p:PreferredToolArchitecture=x64' + setupCommandlines: 'python $(Build.SourcesDirectory)\tools\ci_build\build.py --config Debug --build_dir $(Build.BinariesDirectory) --skip_submodule_sync --cmake_generator "Visual Studio 17 2022" --enable_pybind --enable_onnx_tests --parallel $(TelemetryOption) --update --cmake_extra_defines onnxruntime_ENABLE_STATIC_ANALYSIS=ON' + msBuildCommandline: '"C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Current\Bin\amd64\msbuild.exe" "$(Build.BinariesDirectory)\Debug\onnxruntime.sln" /p:platform="$(MsbuildPlatform)" /p:configuration=Debug /p:VisualStudioVersion="17.0" /m /p:PreferredToolArchitecture=x64' excludedPaths: '$(Build.BinariesDirectory)#$(Build.SourcesDirectory)\cmake#C:\program files (x86)' diff --git a/tools/ci_build/github/azure-pipelines/templates/py-win-gpu.yml b/tools/ci_build/github/azure-pipelines/templates/py-win-gpu.yml index 3c0ec8041b..ae0241b766 100644 --- a/tools/ci_build/github/azure-pipelines/templates/py-win-gpu.yml +++ b/tools/ci_build/github/azure-pipelines/templates/py-win-gpu.yml @@ -85,7 +85,7 @@ jobs: --config RelWithDebInfo --build_dir $(Build.BinariesDirectory) --skip_submodule_sync - --cmake_generator "Visual Studio 16 2019" + --cmake_generator "Visual Studio 17 2022" --enable_pybind --enable_onnx_tests --parallel --update @@ -172,8 +172,8 @@ jobs: displayName: 'Run the PREfast SDL Native Rules for MSBuild' inputs: msBuildArchitecture: amd64 - setupCommandlines: 'python $(Build.SourcesDirectory)\tools\ci_build\build.py --config RelWithDebInfo --build_dir $(Build.BinariesDirectory) --skip_submodule_sync --cmake_generator "Visual Studio 16 2019" --enable_pybind --enable_onnx_tests --parallel $(TelemetryOption) ${{ parameters.BUILD_PY_PARAMETERS }} ${{ parameters.EP_BUILD_FLAGS }} --update --cmake_extra_defines onnxruntime_ENABLE_STATIC_ANALYSIS=ON' - msBuildCommandline: '"C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\amd64\msbuild.exe" "$(Build.BinariesDirectory)\RelWithDebInfo\onnxruntime.sln" /p:platform=x64 /p:configuration="RelWithDebInfo" /p:VisualStudioVersion="16.0" /m /p:PreferredToolArchitecture=x64' + setupCommandlines: 'python $(Build.SourcesDirectory)\tools\ci_build\build.py --config RelWithDebInfo --build_dir $(Build.BinariesDirectory) --skip_submodule_sync --cmake_generator "Visual Studio 17 2022" --enable_pybind --enable_onnx_tests --parallel $(TelemetryOption) ${{ parameters.BUILD_PY_PARAMETERS }} ${{ parameters.EP_BUILD_FLAGS }} --update --cmake_extra_defines onnxruntime_ENABLE_STATIC_ANALYSIS=ON' + msBuildCommandline: '"C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Current\Bin\amd64\msbuild.exe" "$(Build.BinariesDirectory)\RelWithDebInfo\onnxruntime.sln" /p:platform=x64 /p:configuration="RelWithDebInfo" /p:VisualStudioVersion="17.0" /m /p:PreferredToolArchitecture=x64' excludedPaths: '$(Build.BinariesDirectory)#$(Build.SourcesDirectory)\cmake#C:\program files (x86)' - task: TSAUpload@2 diff --git a/tools/ci_build/github/azure-pipelines/templates/web-ci.yml b/tools/ci_build/github/azure-pipelines/templates/web-ci.yml index 0c672d4eda..d5f93db4ef 100644 --- a/tools/ci_build/github/azure-pipelines/templates/web-ci.yml +++ b/tools/ci_build/github/azure-pipelines/templates/web-ci.yml @@ -10,7 +10,7 @@ parameters: - name: PoolName displayName: 'Agent pool name' type: string - default: 'onnxruntime-Win-CPU-2019' + default: 'onnxruntime-Win-CPU-2022' - name: PackageName displayName: 'Package name' type: string diff --git a/tools/ci_build/github/azure-pipelines/templates/win-ci.yml b/tools/ci_build/github/azure-pipelines/templates/win-ci.yml index d4b71764e5..85f155b35b 100644 --- a/tools/ci_build/github/azure-pipelines/templates/win-ci.yml +++ b/tools/ci_build/github/azure-pipelines/templates/win-ci.yml @@ -123,9 +123,9 @@ stages: inputs: scriptPath: '$(Build.SourcesDirectory)\tools\ci_build\build.py' ${{ if eq(parameters['UseIncreasedTimeoutForTests'], 'true') }}: - arguments: '--config RelWithDebInfo --enable_lto --disable_rtti --build_dir $(Build.BinariesDirectory) --skip_submodule_sync --build_shared_lib --update --cmake_generator "Visual Studio 16 2019" --enable_onnx_tests $(TelemetryOption) ${{ parameters.buildparameter }} --test_all_timeout 72000' + arguments: '--config RelWithDebInfo --enable_lto --disable_rtti --build_dir $(Build.BinariesDirectory) --skip_submodule_sync --build_shared_lib --update --cmake_generator "Visual Studio 17 2022" --enable_onnx_tests $(TelemetryOption) ${{ parameters.buildparameter }} --test_all_timeout 72000' ${{ else }}: - arguments: '--config RelWithDebInfo --enable_lto --disable_rtti --build_dir $(Build.BinariesDirectory) --skip_submodule_sync --build_shared_lib --update --cmake_generator "Visual Studio 16 2019" --enable_onnx_tests $(TelemetryOption) ${{ parameters.buildparameter }} ' + arguments: '--config RelWithDebInfo --enable_lto --disable_rtti --build_dir $(Build.BinariesDirectory) --skip_submodule_sync --build_shared_lib --update --cmake_generator "Visual Studio 17 2022" --enable_onnx_tests $(TelemetryOption) ${{ parameters.buildparameter }} ' workingDirectory: '$(Build.BinariesDirectory)' - task: VSBuild@1 @@ -145,7 +145,7 @@ stages: condition: and(succeeded(), eq('${{ parameters.runTests}}', true)) inputs: scriptPath: '$(Build.SourcesDirectory)\tools\ci_build\build.py' - arguments: '--config RelWithDebInfo --enable_lto --disable_rtti --build_dir $(Build.BinariesDirectory) --skip_submodule_sync --build_shared_lib --test --cmake_generator "Visual Studio 16 2019" --enable_onnx_tests $(TelemetryOption) ${{ parameters.buildparameter }}' + arguments: '--config RelWithDebInfo --enable_lto --disable_rtti --build_dir $(Build.BinariesDirectory) --skip_submodule_sync --build_shared_lib --test --cmake_generator "Visual Studio 17 2022" --enable_onnx_tests $(TelemetryOption) ${{ parameters.buildparameter }}' workingDirectory: '$(Build.BinariesDirectory)' - script: | @@ -281,8 +281,8 @@ stages: condition: and (succeeded(), eq(variables['msbuildPlatform'], 'x64')) inputs: msBuildArchitecture: amd64 - setupCommandlines: 'python $(Build.SourcesDirectory)\tools\ci_build\build.py --config Debug --disable_rtti --build_dir $(Build.BinariesDirectory) --skip_submodule_sync --build_shared_lib --update --cmake_generator "Visual Studio 16 2019" --enable_onnx_tests $(TelemetryOption) ${{ parameters.buildparameter }} --cmake_extra_defines onnxruntime_ENABLE_STATIC_ANALYSIS=ON' - msBuildCommandline: '"C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\amd64\msbuild.exe" "$(Build.BinariesDirectory)\Debug\onnxruntime.sln" /p:platform="$(MsbuildPlatform)" /p:configuration=Debug /p:VisualStudioVersion="16.0" /m /p:PreferredToolArchitecture=x64' + setupCommandlines: 'python $(Build.SourcesDirectory)\tools\ci_build\build.py --config Debug --disable_rtti --build_dir $(Build.BinariesDirectory) --skip_submodule_sync --build_shared_lib --update --cmake_generator "Visual Studio 17 2022" --enable_onnx_tests $(TelemetryOption) ${{ parameters.buildparameter }} --cmake_extra_defines onnxruntime_ENABLE_STATIC_ANALYSIS=ON' + msBuildCommandline: '"C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Current\Bin\amd64\msbuild.exe" "$(Build.BinariesDirectory)\Debug\onnxruntime.sln" /p:platform="$(MsbuildPlatform)" /p:configuration=Debug /p:VisualStudioVersion="17.0" /m /p:PreferredToolArchitecture=x64' excludedPaths: '$(Build.BinariesDirectory)#$(Build.SourcesDirectory)\cmake#C:\program files (x86)' - task: PostAnalysis@2 diff --git a/tools/ci_build/github/azure-pipelines/templates/win-wasm-ci.yml b/tools/ci_build/github/azure-pipelines/templates/win-wasm-ci.yml index c04c2b41a7..c01d7ea67d 100644 --- a/tools/ci_build/github/azure-pipelines/templates/win-wasm-ci.yml +++ b/tools/ci_build/github/azure-pipelines/templates/win-wasm-ci.yml @@ -13,7 +13,7 @@ parameters: - name: PoolName type: string - default: 'onnxruntime-Win-CPU-2019' + default: 'onnxruntime-Win-CPU-2022' - name: SkipPublish type: boolean diff --git a/tools/ci_build/github/azure-pipelines/templates/win-web-ci.yml b/tools/ci_build/github/azure-pipelines/templates/win-web-ci.yml index d04ecfea36..2cfd107fc2 100644 --- a/tools/ci_build/github/azure-pipelines/templates/win-web-ci.yml +++ b/tools/ci_build/github/azure-pipelines/templates/win-web-ci.yml @@ -13,7 +13,7 @@ parameters: - name: PoolName type: string - default: 'onnxruntime-Win-CPU-2019' + default: 'onnxruntime-Win-CPU-2022' - name: PackageName displayName: 'Package name' diff --git a/tools/ci_build/github/azure-pipelines/win-ci-fuzz-testing.yml b/tools/ci_build/github/azure-pipelines/win-ci-fuzz-testing.yml index fd83ae5884..3c739a52f9 100644 --- a/tools/ci_build/github/azure-pipelines/win-ci-fuzz-testing.yml +++ b/tools/ci_build/github/azure-pipelines/win-ci-fuzz-testing.yml @@ -57,7 +57,7 @@ jobs: 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 16 2019" --use_full_protobuf --fuzz_testing' + arguments: '--config $(BuildConfig) --build_dir $(Build.BinariesDirectory) --skip_submodule_sync --build_shared_lib --update --cmake_generator "Visual Studio 17 2022" --use_full_protobuf --fuzz_testing' workingDirectory: '$(Build.BinariesDirectory)' - task: VSBuild@1 diff --git a/tools/ci_build/github/azure-pipelines/win-ci-pipeline.yml b/tools/ci_build/github/azure-pipelines/win-ci-pipeline.yml index 708ea540d4..ed17ed9439 100644 --- a/tools/ci_build/github/azure-pipelines/win-ci-pipeline.yml +++ b/tools/ci_build/github/azure-pipelines/win-ci-pipeline.yml @@ -8,7 +8,7 @@ stages: - stage: x64_debug dependsOn: [] jobs: - - template: templates/win-ci-vs-2019.yml + - template: templates/jobs/win-ci-vs-2022-job.yml parameters: BuildConfig: 'Debug' EnvSetupScript: setup_env.bat @@ -23,12 +23,12 @@ stages: ORT_EP_NAME: CPU GenerateDocumentation: false WITH_CACHE: true - MachinePool: 'onnxruntime-Win-CPU-2019' + MachinePool: 'onnxruntime-Win-CPU-2022' - stage: x64_release dependsOn: [] jobs: - - template: templates/win-ci-vs-2019.yml + - template: templates/jobs/win-ci-vs-2022-job.yml parameters: BuildConfig: 'RelWithDebInfo' EnvSetupScript: setup_env.bat @@ -45,12 +45,12 @@ stages: ORT_EP_NAME: CPU GenerateDocumentation: false WITH_CACHE: true - MachinePool: 'onnxruntime-Win-CPU-2019' + MachinePool: 'onnxruntime-Win-CPU-2022' - stage: x64_release_dnnl dependsOn: [] jobs: - - template: templates/win-ci-vs-2019.yml + - template: templates/jobs/win-ci-vs-2022-job.yml parameters: BuildConfig: 'RelWithDebInfo' EnvSetupScript: setup_env.bat @@ -66,13 +66,13 @@ stages: GenerateDocumentation: false WITH_CACHE: true # Intel EPs require Intel CPUs - MachinePool: 'Win-CPU-2019' + MachinePool: 'onnxruntime-Win2022-Intel-CPU' # Tests doesn't work on AMD CPUs - stage: x64_release_xnnpack dependsOn: [] jobs: - - template: templates/win-ci-vs-2019.yml + - template: templates/jobs/win-ci-vs-2022-job.yml parameters: BuildConfig: 'RelWithDebInfo' EnvSetupScript: setup_env.bat @@ -87,17 +87,17 @@ stages: ORT_EP_NAME: XNNPACK GenerateDocumentation: false WITH_CACHE: true - MachinePool: 'onnxruntime-Win-CPU-2019' + MachinePool: 'onnxruntime-Win-CPU-2022' - stage: x64_release_winml dependsOn: [] jobs: - - template: templates/win-ci-vs-2019.yml + - template: templates/jobs/win-ci-vs-2022-job.yml parameters: BuildConfig: 'RelWithDebInfo' EnvSetupScript: setup_env.bat buildArch: x64 - additionalBuildFlags: --use_winml --enable_wcos --disable_rtti + additionalBuildFlags: --use_winml --enable_wcos --disable_rtti --cmake_extra_defines CMAKE_SYSTEM_VERSION=10.0.22000.0 msbuildPlatform: x64 isX86: false job_name_suffix: x64_release_winml @@ -109,12 +109,12 @@ stages: ORT_EP_NAME: CPU GenerateDocumentation: false WITH_CACHE: true - MachinePool: 'onnxruntime-Win-CPU-2019' + MachinePool: 'onnxruntime-Win-CPU-2022' - stage: x86_release dependsOn: [] jobs: - - template: templates/win-ci-vs-2019.yml + - template: templates/jobs/win-ci-vs-2022-job.yml parameters: BuildConfig: 'RelWithDebInfo' EnvSetupScript: setup_env_x86.bat @@ -129,12 +129,12 @@ stages: ORT_EP_NAME: CPU GenerateDocumentation: false WITH_CACHE: true - MachinePool: 'onnxruntime-Win-CPU-2019' + MachinePool: 'onnxruntime-Win-CPU-2022' - stage: training_x64_debug dependsOn: [] jobs: - - template: templates/win-ci-vs-2019.yml + - template: templates/jobs/win-ci-vs-2022-job.yml parameters: BuildConfig: 'Debug' EnvSetupScript: setup_env.bat @@ -149,12 +149,12 @@ stages: ORT_EP_NAME: CPU GenerateDocumentation: false WITH_CACHE: true - MachinePool: 'onnxruntime-Win2019-CPU-training' + MachinePool: 'onnxruntime-Win2022-CPU-training-AMD' - stage: training_x64_release dependsOn: [] jobs: - - template: templates/win-ci-vs-2019.yml + - template: templates/jobs/win-ci-vs-2022-job.yml parameters: BuildConfig: 'RelWithDebInfo' EnvSetupScript: setup_env.bat @@ -169,12 +169,12 @@ stages: ORT_EP_NAME: CPU GenerateDocumentation: false WITH_CACHE: true - MachinePool: 'onnxruntime-Win2019-CPU-training-AMD' + MachinePool: 'onnxruntime-Win2022-CPU-training-AMD' - stage: ort_training_apis_x64_release dependsOn: [] jobs: - - template: templates/win-ci-vs-2019.yml + - template: templates/jobs/win-ci-vs-2022-job.yml parameters: BuildConfig: 'RelWithDebInfo' EnvSetupScript: setup_env.bat @@ -190,12 +190,12 @@ stages: ORT_EP_NAME: CPU GenerateDocumentation: false WITH_CACHE: true - MachinePool: 'onnxruntime-Win2019-CPU-training-AMD' + MachinePool: 'onnxruntime-Win2022-CPU-training-AMD' - stage: x64_release_azure dependsOn: [] jobs: - - template: templates/win-ci-vs-2019.yml + - template: templates/jobs/win-ci-vs-2022-job.yml parameters: BuildConfig: 'RelWithDebInfo' EnvSetupScript: setup_env_azure.bat @@ -211,4 +211,4 @@ stages: ORT_EP_NAME: CPU GenerateDocumentation: false WITH_CACHE: true - MachinePool: 'onnxruntime-Win-CPU-2019' \ No newline at end of file + MachinePool: 'onnxruntime-Win-CPU-2022' \ No newline at end of file diff --git a/tools/ci_build/github/azure-pipelines/win-gpu-reduce-op-ci-pipeline.yml b/tools/ci_build/github/azure-pipelines/win-gpu-reduce-op-ci-pipeline.yml index f559d537f4..a95b100c2b 100644 --- a/tools/ci_build/github/azure-pipelines/win-gpu-reduce-op-ci-pipeline.yml +++ b/tools/ci_build/github/azure-pipelines/win-gpu-reduce-op-ci-pipeline.yml @@ -49,7 +49,7 @@ jobs: displayName: 'Build and test' inputs: scriptPath: '$(Build.SourcesDirectory)\tools\ci_build\build.py' - arguments: '--config $(BuildConfig) --build_dir $(Build.BinariesDirectory) --skip_submodule_sync --cmake_generator "Visual Studio 16 2019" --build_wheel --use_cuda --cuda_version=11.6 --cuda_home="C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6" --cmake_extra_defines CMAKE_SYSTEM_VERSION=10.0.18362.0 "CMAKE_CUDA_ARCHITECTURES=75" --include_ops_by_config="$(Build.SourcesDirectory)\onnxruntime\test\testdata\required_ops.config"' + arguments: '--config $(BuildConfig) --build_dir $(Build.BinariesDirectory) --skip_submodule_sync --cmake_generator "Visual Studio 17 2022" --build_wheel --use_cuda --cuda_version=11.6 --cuda_home="C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6" --cmake_extra_defines CMAKE_SYSTEM_VERSION=10.0.18362.0 "CMAKE_CUDA_ARCHITECTURES=75" --include_ops_by_config="$(Build.SourcesDirectory)\onnxruntime\test\testdata\required_ops.config"' workingDirectory: '$(Build.BinariesDirectory)' - template: templates/component-governance-component-detection-steps.yml