mirror of
https://github.com/saymrwulf/onnxruntime.git
synced 2026-07-30 20:18:08 +00:00
Add static CRT DLLs to Nuget package (#5661)
* Add static runtime yaml option
* Add to WAI Nuget build matrix
* Support empty build flags
* Add DML to x64
* Bundle static rt
* Bundle after Nugets are built
* Fix typo
* Skip static tests
* Pack test artifact only in x64 dynamic
* No DML static runtime
* Add Store static
* Revert "Add Store static"
This reverts commit 69133e5838.
* Static subfolder
This commit is contained in:
parent
ff23083de2
commit
9e68e98423
5 changed files with 188 additions and 35 deletions
|
|
@ -17,4 +17,10 @@
|
|||
DisplayName="Disable directml.dll copy on build"
|
||||
Description="Suppresses binplacing the directml.dll from the Mirosoft.AI.MachineLearning NuGet distribution."
|
||||
Category="General" />
|
||||
</Rule>
|
||||
|
||||
<BoolProperty Name="UseWindowsMLStaticRuntime"
|
||||
DisplayName="Use a dll that links statically to runtimes"
|
||||
Description="Use a larger DLL that doesn't depend on installed versions of the vcruntime and CRT."
|
||||
Category="General"
|
||||
Condition="'$(WindowsStoreApp)' != 'true'" />
|
||||
</Rule>
|
||||
|
|
|
|||
|
|
@ -8,11 +8,12 @@
|
|||
<PropertyGroup>
|
||||
<RuntimesDirectory Condition="'$(OutputType)' == 'AppContainerExe'">$(MSBuildThisFileDirectory)..\..\runtimes\win-$(WindowsAI-Platform)\uap</RuntimesDirectory>
|
||||
<RuntimesDirectory Condition="'$(RuntimesDirectory)' == ''">$(MSBuildThisFileDirectory)..\..\runtimes\win-$(WindowsAI-Platform)\native</RuntimesDirectory>
|
||||
<WindowsAIBinary>$(RuntimesDirectory)\Microsoft.AI.MachineLearning.dll</WindowsAIBinary>
|
||||
<WindowsAIBinarySubfolder Condition="'$(UseWindowsMLStaticRuntime)' == 'true'">static\</WindowsAIBinarySubfolder>
|
||||
<WindowsAIBinary>$(RuntimesDirectory)\$(WindowsAIBinarySubfolder)Microsoft.AI.MachineLearning.dll</WindowsAIBinary>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(DisableOnnxRuntimeDllCopy)' != 'true'">
|
||||
<OnnxRuntimeBinary Condition="'$(OnnxRuntimeBinary)' == ''">$(RuntimesDirectory)\onnxruntime.dll</OnnxRuntimeBinary>
|
||||
<OnnxRuntimeBinary Condition="'$(OnnxRuntimeBinary)' == ''">$(RuntimesDirectory)\$(WindowsAIBinarySubfolder)onnxruntime.dll</OnnxRuntimeBinary>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(DisableDirectMLDllCopy)' != 'true'">
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ jobs:
|
|||
ArtifactName: 'drop-nuget'
|
||||
JobName: 'Windows_CI_Dev'
|
||||
BuildCommand: '--build_dir $(Build.BinariesDirectory) --skip_submodule_sync --build_shared_lib --enable_onnx_tests --cmake_generator "Visual Studio 16 2019" --disable_contrib_ops --disable_ml_ops --enable_msvc_static_runtime'
|
||||
BuildArch: 'x64'
|
||||
BuildArch: 'x64'
|
||||
EnvSetupScript: 'setup_env.bat'
|
||||
sln_platform: 'x64'
|
||||
DoDebugBuild: 'false'
|
||||
|
|
|
|||
|
|
@ -47,6 +47,58 @@ jobs:
|
|||
parameters:
|
||||
BuildArch: 'arm'
|
||||
|
||||
- job: WindowsAI_DirectML_X64_StaticRuntime
|
||||
timeoutInMinutes: 120
|
||||
workspace:
|
||||
clean: all
|
||||
pool:
|
||||
name: 'Win-GPU-2019'
|
||||
demands: [ ]
|
||||
steps:
|
||||
- template: ../../templates/windowsai-nuget-build.yml
|
||||
parameters:
|
||||
BuildArch: 'x64'
|
||||
Runtime: 'static'
|
||||
|
||||
- job: WindowsAI_DirectML_X86_StaticRuntime
|
||||
timeoutInMinutes: 120
|
||||
workspace:
|
||||
clean: all
|
||||
pool:
|
||||
name: 'Win-GPU-2019'
|
||||
demands: [ ]
|
||||
steps:
|
||||
- template: ../../templates/windowsai-nuget-build.yml
|
||||
parameters:
|
||||
BuildArch: 'x86'
|
||||
Runtime: 'static'
|
||||
|
||||
- job: WindowsAI_CPU_ARM64_StaticRuntime
|
||||
timeoutInMinutes: 120
|
||||
workspace:
|
||||
clean: all
|
||||
pool:
|
||||
name: 'Win-CPU-2019'
|
||||
demands: [ ]
|
||||
steps:
|
||||
- template: ../../templates/windowsai-nuget-build.yml
|
||||
parameters:
|
||||
BuildArch: 'arm64'
|
||||
Runtime: 'static'
|
||||
|
||||
- job: WindowsAI_CPU_ARM_StaticRuntime
|
||||
timeoutInMinutes: 120
|
||||
workspace:
|
||||
clean: all
|
||||
pool:
|
||||
name: 'Win-CPU-2019'
|
||||
demands: [ ]
|
||||
steps:
|
||||
- template: ../../templates/windowsai-nuget-build.yml
|
||||
parameters:
|
||||
BuildArch: 'arm'
|
||||
Runtime: 'static'
|
||||
|
||||
- job: WindowsAI_CPU_X64_Store
|
||||
timeoutInMinutes: 120
|
||||
workspace:
|
||||
|
|
@ -112,6 +164,10 @@ jobs:
|
|||
- WindowsAI_CPU_X86_Store
|
||||
- WindowsAI_CPU_ARM64_Store
|
||||
- WindowsAI_CPU_ARM_Store
|
||||
- WindowsAI_DirectML_X64_StaticRuntime
|
||||
- WindowsAI_DirectML_X86_StaticRuntime
|
||||
- WindowsAI_CPU_ARM64_StaticRuntime
|
||||
- WindowsAI_CPU_ARM_StaticRuntime
|
||||
condition: succeeded()
|
||||
steps:
|
||||
- task: DownloadPipelineArtifact@0
|
||||
|
|
@ -162,6 +218,30 @@ jobs:
|
|||
artifactName: 'Microsoft.AI.MachineLearning.arm.Store'
|
||||
targetPath: '$(Build.BinariesDirectory)/nuget-artifact-arm-store'
|
||||
|
||||
- task: DownloadPipelineArtifact@0
|
||||
displayName: 'Download Pipeline Artifact - NuGet DirectML x64 StaticRuntime'
|
||||
inputs:
|
||||
artifactName: 'Microsoft.AI.MachineLearning.x64.StaticRuntime'
|
||||
targetPath: '$(Build.BinariesDirectory)/nuget-artifact-x64-static-runtime'
|
||||
|
||||
- task: DownloadPipelineArtifact@0
|
||||
displayName: 'Download Pipeline Artifact - NuGet DirectML x86 StaticRuntime'
|
||||
inputs:
|
||||
artifactName: 'Microsoft.AI.MachineLearning.x86.StaticRuntime'
|
||||
targetPath: '$(Build.BinariesDirectory)/nuget-artifact-x86-static-runtime'
|
||||
|
||||
- task: DownloadPipelineArtifact@0
|
||||
displayName: 'Download Pipeline Artifact - NuGet CPU ARM64 StaticRuntime'
|
||||
inputs:
|
||||
artifactName: 'Microsoft.AI.MachineLearning.arm64.StaticRuntime'
|
||||
targetPath: '$(Build.BinariesDirectory)/nuget-artifact-arm64-static-runtime'
|
||||
|
||||
- task: DownloadPipelineArtifact@0
|
||||
displayName: 'Download Pipeline Artifact - NuGet CPU ARM StaticRuntime'
|
||||
inputs:
|
||||
artifactName: 'Microsoft.AI.MachineLearning.arm.StaticRuntime'
|
||||
targetPath: '$(Build.BinariesDirectory)/nuget-artifact-arm-static-runtime'
|
||||
|
||||
- task: PowerShell@2
|
||||
displayName: 'Bundle NuGet and other binaries'
|
||||
inputs:
|
||||
|
|
@ -182,6 +262,12 @@ jobs:
|
|||
$x64_store_nupkg_unzipped_directory = [System.IO.Path]::Combine($x64_store_nupkg_unzipped_directory_root, 'binaries', [System.IO.Path]::GetFileNameWithoutExtension($x64_store_nuget_package))
|
||||
[System.IO.Compression.ZipFile]::ExtractToDirectory($x64_store_nuget_package, $x64_store_nupkg_unzipped_directory)
|
||||
|
||||
$nupkgs = (Get-ChildItem ..\nuget-artifact-x64-static-runtime -Filter Microsoft.AI.MachineLearning*.nupkg -Recurse)
|
||||
$x64_static_runtime_nuget_package = $nupkgs[0].FullName
|
||||
$x64_static_runtime_nupkg_unzipped_directory_root = $nupkgs[0].Directory.FullName
|
||||
$x64_static_runtime_nupkg_unzipped_directory = [System.IO.Path]::Combine($x64_static_runtime_nupkg_unzipped_directory_root, 'binaries', [System.IO.Path]::GetFileNameWithoutExtension($x64_static_runtime_nuget_package))
|
||||
[System.IO.Compression.ZipFile]::ExtractToDirectory($x64_static_runtime_nuget_package, $x64_static_runtime_nupkg_unzipped_directory)
|
||||
|
||||
$nupkgs = (Get-ChildItem ..\nuget-artifact-x86 -Filter Microsoft.AI.MachineLearning*.nupkg -Recurse)
|
||||
$x86_nuget_package = $nupkgs[0].FullName
|
||||
$x86_nupkg_unzipped_directory_root = $nupkgs[0].Directory.FullName
|
||||
|
|
@ -194,6 +280,12 @@ jobs:
|
|||
$x86_store_nupkg_unzipped_directory = [System.IO.Path]::Combine($x86_store_nupkg_unzipped_directory_root, 'binaries', [System.IO.Path]::GetFileNameWithoutExtension($x86_store_nuget_package))
|
||||
[System.IO.Compression.ZipFile]::ExtractToDirectory($x86_store_nuget_package, $x86_store_nupkg_unzipped_directory)
|
||||
|
||||
$nupkgs = (Get-ChildItem ..\nuget-artifact-x86-static-runtime -Filter Microsoft.AI.MachineLearning*.nupkg -Recurse)
|
||||
$x86_static_runtime_nuget_package = $nupkgs[0].FullName
|
||||
$x86_static_runtime_nupkg_unzipped_directory_root = $nupkgs[0].Directory.FullName
|
||||
$x86_static_runtime_nupkg_unzipped_directory = [System.IO.Path]::Combine($x86_static_runtime_nupkg_unzipped_directory_root, 'binaries', [System.IO.Path]::GetFileNameWithoutExtension($x86_static_runtime_nuget_package))
|
||||
[System.IO.Compression.ZipFile]::ExtractToDirectory($x86_static_runtime_nuget_package, $x86_static_runtime_nupkg_unzipped_directory)
|
||||
|
||||
$nupkgs = (Get-ChildItem ..\nuget-artifact-arm64 -Filter Microsoft.AI.MachineLearning*.nupkg -Recurse)
|
||||
$arm64_nuget_package = $nupkgs[0].FullName
|
||||
$arm64_nupkg_unzipped_directory_root = $nupkgs[0].Directory.FullName
|
||||
|
|
@ -206,6 +298,12 @@ jobs:
|
|||
$arm64_store_nupkg_unzipped_directory = [System.IO.Path]::Combine($arm64_store_nupkg_unzipped_directory_root, 'binaries', [System.IO.Path]::GetFileNameWithoutExtension($arm64_store_nuget_package))
|
||||
[System.IO.Compression.ZipFile]::ExtractToDirectory($arm64_store_nuget_package, $arm64_store_nupkg_unzipped_directory)
|
||||
|
||||
$nupkgs = (Get-ChildItem ..\nuget-artifact-arm64-static-runtime -Filter Microsoft.AI.MachineLearning*.nupkg -Recurse)
|
||||
$arm64_static_runtime_nuget_package = $nupkgs[0].FullName
|
||||
$arm64_static_runtime_nupkg_unzipped_directory_root = $nupkgs[0].Directory.FullName
|
||||
$arm64_static_runtime_nupkg_unzipped_directory = [System.IO.Path]::Combine($arm64_static_runtime_nupkg_unzipped_directory_root, 'binaries', [System.IO.Path]::GetFileNameWithoutExtension($arm64_static_runtime_nuget_package))
|
||||
[System.IO.Compression.ZipFile]::ExtractToDirectory($arm64_static_runtime_nuget_package, $arm64_static_runtime_nupkg_unzipped_directory)
|
||||
|
||||
$nupkgs = (Get-ChildItem ..\nuget-artifact-arm -Filter Microsoft.AI.MachineLearning*.nupkg -Recurse)
|
||||
$arm_nuget_package = $nupkgs[0].FullName
|
||||
$arm_nupkg_unzipped_directory_root = $nupkgs[0].Directory.FullName
|
||||
|
|
@ -218,30 +316,48 @@ jobs:
|
|||
$arm_store_nupkg_unzipped_directory = [System.IO.Path]::Combine($arm_store_nupkg_unzipped_directory_root, 'binaries', [System.IO.Path]::GetFileNameWithoutExtension($arm_store_nuget_package))
|
||||
[System.IO.Compression.ZipFile]::ExtractToDirectory($arm_store_nuget_package, $arm_store_nupkg_unzipped_directory)
|
||||
|
||||
$nupkgs = (Get-ChildItem ..\nuget-artifact-arm-static-runtime -Filter Microsoft.AI.MachineLearning*.nupkg -Recurse)
|
||||
$arm_static_runtime_nuget_package = $nupkgs[0].FullName
|
||||
$arm_static_runtime_nupkg_unzipped_directory_root = $nupkgs[0].Directory.FullName
|
||||
$arm_static_runtime_nupkg_unzipped_directory = [System.IO.Path]::Combine($arm_static_runtime_nupkg_unzipped_directory_root, 'binaries', [System.IO.Path]::GetFileNameWithoutExtension($arm_static_runtime_nuget_package))
|
||||
[System.IO.Compression.ZipFile]::ExtractToDirectory($arm_static_runtime_nuget_package, $arm_static_runtime_nupkg_unzipped_directory)
|
||||
|
||||
$x64_store_runtime_path_old = [System.IO.Path]::Combine($x64_store_nupkg_unzipped_directory, 'runtimes', 'win-x64', 'uap')
|
||||
$x64_store_runtime_path_new = [System.IO.Path]::Combine($x64_nupkg_unzipped_directory, 'runtimes', 'win-x64', 'uap')
|
||||
$x64_static_runtime_path_old = [System.IO.Path]::Combine($x64_static_runtime_nupkg_unzipped_directory, 'runtimes', 'win-x64', 'native')
|
||||
$x64_static_runtime_path_new = [System.IO.Path]::Combine($x64_nupkg_unzipped_directory, 'runtimes', 'win-x64', 'native', 'static')
|
||||
$x86_runtime_path_old = [System.IO.Path]::Combine($x86_nupkg_unzipped_directory, 'runtimes', 'win-x86', 'native')
|
||||
$x86_runtime_path_new = [System.IO.Path]::Combine($x64_nupkg_unzipped_directory, 'runtimes', 'win-x86', 'native')
|
||||
$x86_store_runtime_path_old = [System.IO.Path]::Combine($x86_store_nupkg_unzipped_directory, 'runtimes', 'win-x86', 'uap')
|
||||
$x86_store_runtime_path_new = [System.IO.Path]::Combine($x64_nupkg_unzipped_directory, 'runtimes', 'win-x86', 'uap')
|
||||
$x86_static_runtime_path_old = [System.IO.Path]::Combine($x86_static_runtime_nupkg_unzipped_directory, 'runtimes', 'win-x86', 'native')
|
||||
$x86_static_runtime_path_new = [System.IO.Path]::Combine($x64_nupkg_unzipped_directory, 'runtimes', 'win-x86', 'native', 'static')
|
||||
$arm64_runtime_path_old = [System.IO.Path]::Combine($arm64_nupkg_unzipped_directory, 'runtimes', 'win-arm64', 'native')
|
||||
$arm64_runtime_path_new = [System.IO.Path]::Combine($x64_nupkg_unzipped_directory, 'runtimes', 'win-arm64', 'native')
|
||||
$arm64_store_runtime_path_old = [System.IO.Path]::Combine($arm64_store_nupkg_unzipped_directory, 'runtimes', 'win-arm64', 'uap')
|
||||
$arm64_store_runtime_path_new = [System.IO.Path]::Combine($x64_nupkg_unzipped_directory, 'runtimes', 'win-arm64', 'uap')
|
||||
$arm64_static_runtime_path_old = [System.IO.Path]::Combine($arm64_static_runtime_nupkg_unzipped_directory, 'runtimes', 'win-arm64', 'native')
|
||||
$arm64_static_runtime_path_new = [System.IO.Path]::Combine($x64_nupkg_unzipped_directory, 'runtimes', 'win-arm64', 'native', 'static')
|
||||
$arm_runtime_path_old = [System.IO.Path]::Combine($arm_nupkg_unzipped_directory, 'runtimes', 'win-arm', 'native')
|
||||
$arm_runtime_path_new = [System.IO.Path]::Combine($x64_nupkg_unzipped_directory, 'runtimes', 'win-arm', 'native')
|
||||
$arm_store_runtime_path_old = [System.IO.Path]::Combine($arm_store_nupkg_unzipped_directory, 'runtimes', 'win-arm', 'uap')
|
||||
$arm_store_runtime_path_new = [System.IO.Path]::Combine($x64_nupkg_unzipped_directory, 'runtimes', 'win-arm', 'uap')
|
||||
$arm_static_runtime_path_old = [System.IO.Path]::Combine($arm_static_runtime_nupkg_unzipped_directory, 'runtimes', 'win-arm', 'native')
|
||||
$arm_static_runtime_path_new = [System.IO.Path]::Combine($x64_nupkg_unzipped_directory, 'runtimes', 'win-arm', 'native', 'static')
|
||||
$uap_build_path_old = [System.IO.Path]::Combine($x64_store_nupkg_unzipped_directory, 'build', 'uap')
|
||||
$uap_build_path_new = [System.IO.Path]::Combine($x64_nupkg_unzipped_directory, 'build', 'uap')
|
||||
|
||||
New-Item -Path $x64_store_runtime_path_new -ItemType Directory
|
||||
New-Item -Path $x64_static_runtime_path_new -ItemType Directory
|
||||
New-Item -Path $x86_runtime_path_new -ItemType Directory
|
||||
New-Item -Path $x86_store_runtime_path_new -ItemType Directory
|
||||
New-Item -Path $x86_static_runtime_path_new -ItemType Directory
|
||||
New-Item -Path $arm64_runtime_path_new -ItemType Directory
|
||||
New-Item -Path $arm64_store_runtime_path_new -ItemType Directory
|
||||
New-Item -Path $arm64_static_runtime_path_new -ItemType Directory
|
||||
New-Item -Path $arm_runtime_path_new -ItemType Directory
|
||||
New-Item -Path $arm_store_runtime_path_new -ItemType Directory
|
||||
New-Item -Path $arm_static_runtime_path_new -ItemType Directory
|
||||
|
||||
Copy-Item ([System.IO.Path]::Combine($x86_runtime_path_old, 'onnxruntime.dll')) $x86_runtime_path_new
|
||||
Copy-Item ([System.IO.Path]::Combine($x86_runtime_path_old, 'onnxruntime.lib')) $x86_runtime_path_new
|
||||
|
|
@ -279,6 +395,26 @@ jobs:
|
|||
Copy-Item ([System.IO.Path]::Combine($arm_store_runtime_path_old, 'microsoft.ai.machinelearning.dll')) $arm_store_runtime_path_new
|
||||
Copy-Item ([System.IO.Path]::Combine($arm_store_runtime_path_old, 'microsoft.ai.machinelearning.lib')) $arm_store_runtime_path_new
|
||||
|
||||
Copy-Item ([System.IO.Path]::Combine($x64_static_runtime_path_old, 'onnxruntime.dll')) ([System.IO.Path]::Combine($x64_static_runtime_path_new, 'onnxruntime.dll'))
|
||||
Copy-Item ([System.IO.Path]::Combine($x64_static_runtime_path_old, 'onnxruntime.lib')) ([System.IO.Path]::Combine($x64_static_runtime_path_new, 'onnxruntime.lib'))
|
||||
Copy-Item ([System.IO.Path]::Combine($x64_static_runtime_path_old, 'microsoft.ai.machinelearning.dll')) ([System.IO.Path]::Combine($x64_static_runtime_path_new, 'microsoft.ai.machinelearning.dll'))
|
||||
Copy-Item ([System.IO.Path]::Combine($x64_static_runtime_path_old, 'microsoft.ai.machinelearning.lib')) ([System.IO.Path]::Combine($x64_static_runtime_path_new, 'microsoft.ai.machinelearning.lib'))
|
||||
|
||||
Copy-Item ([System.IO.Path]::Combine($x86_static_runtime_path_old, 'onnxruntime.dll')) ([System.IO.Path]::Combine($x86_static_runtime_path_new, 'onnxruntime.dll'))
|
||||
Copy-Item ([System.IO.Path]::Combine($x86_static_runtime_path_old, 'onnxruntime.lib')) ([System.IO.Path]::Combine($x86_static_runtime_path_new, 'onnxruntime.lib'))
|
||||
Copy-Item ([System.IO.Path]::Combine($x86_static_runtime_path_old, 'microsoft.ai.machinelearning.dll')) ([System.IO.Path]::Combine($x86_static_runtime_path_new, 'microsoft.ai.machinelearning.dll'))
|
||||
Copy-Item ([System.IO.Path]::Combine($x86_static_runtime_path_old, 'microsoft.ai.machinelearning.lib')) ([System.IO.Path]::Combine($x86_static_runtime_path_new, 'microsoft.ai.machinelearning.lib'))
|
||||
|
||||
Copy-Item ([System.IO.Path]::Combine($arm64_static_runtime_path_old, 'onnxruntime.dll')) ([System.IO.Path]::Combine($arm64_static_runtime_path_new, 'onnxruntime.dll'))
|
||||
Copy-Item ([System.IO.Path]::Combine($arm64_static_runtime_path_old, 'onnxruntime.lib')) ([System.IO.Path]::Combine($arm64_static_runtime_path_new, 'onnxruntime.lib'))
|
||||
Copy-Item ([System.IO.Path]::Combine($arm64_static_runtime_path_old, 'microsoft.ai.machinelearning.dll')) ([System.IO.Path]::Combine($arm64_static_runtime_path_new, 'microsoft.ai.machinelearning.dll'))
|
||||
Copy-Item ([System.IO.Path]::Combine($arm64_static_runtime_path_old, 'microsoft.ai.machinelearning.lib')) ([System.IO.Path]::Combine($arm64_static_runtime_path_new, 'microsoft.ai.machinelearning.lib'))
|
||||
|
||||
Copy-Item ([System.IO.Path]::Combine($arm_static_runtime_path_old, 'onnxruntime.dll')) ([System.IO.Path]::Combine($arm_static_runtime_path_new, 'onnxruntime.dll'))
|
||||
Copy-Item ([System.IO.Path]::Combine($arm_static_runtime_path_old, 'onnxruntime.lib')) ([System.IO.Path]::Combine($arm_static_runtime_path_new, 'onnxruntime.lib'))
|
||||
Copy-Item ([System.IO.Path]::Combine($arm_static_runtime_path_old, 'microsoft.ai.machinelearning.dll')) ([System.IO.Path]::Combine($arm_static_runtime_path_new, 'microsoft.ai.machinelearning.dll'))
|
||||
Copy-Item ([System.IO.Path]::Combine($arm_static_runtime_path_old, 'microsoft.ai.machinelearning.lib')) ([System.IO.Path]::Combine($arm_static_runtime_path_new, 'microsoft.ai.machinelearning.lib'))
|
||||
|
||||
Copy-Item -Recurse $uap_build_path_old $uap_build_path_new
|
||||
|
||||
$merged_nuget_path = [System.IO.Path]::Combine($Env:BUILD_ARTIFACTSTAGINGDIRECTORY, 'merged')
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@ parameters:
|
|||
BuildArch: 'x64'
|
||||
RunTests : 'true'
|
||||
BuildForStore: 'false'
|
||||
Runtime: 'dynamic'
|
||||
|
||||
steps:
|
||||
- template: telemetry-steps.yml
|
||||
|
|
@ -33,26 +34,43 @@ steps:
|
|||
modifyEnvironment: true
|
||||
workingFolder: '$(Build.BinariesDirectory)'
|
||||
|
||||
- powershell: |
|
||||
Write-Host "##vso[task.setvariable variable=BuildFlags]"
|
||||
Write-Host "##vso[task.setvariable variable=ArtifactName]Microsoft.AI.MachineLearning.${{ parameters.BuildArch }}"
|
||||
displayName: Initialize build flags
|
||||
|
||||
- powershell: |
|
||||
Write-Host "##vso[task.setvariable variable=BuildFlags]$(BuildFlags) --${{ parameters.BuildArch }}"
|
||||
displayName: Add cross compilation flags
|
||||
condition: ne('${{ parameters.BuildArch }}', 'x64')
|
||||
|
||||
- powershell: |
|
||||
Write-Host "##vso[task.setvariable variable=BuildFlags]$(BuildFlags) --use_dml"
|
||||
displayName: Add DML flags
|
||||
condition: or(eq('${{ parameters.BuildArch }}', 'x64'), eq('${{ parameters.BuildArch }}', 'x86'))
|
||||
|
||||
- powershell: |
|
||||
Write-Host "##vso[task.setvariable variable=BuildFlags]$(BuildFlags) --enable_wcos"
|
||||
displayName: Add OneCore flags
|
||||
condition: eq('${{ parameters.BuildForStore }}', 'false')
|
||||
|
||||
- powershell: |
|
||||
Write-Host "##vso[task.setvariable variable=BuildFlags]$(BuildFlags) --enable_windows_store"
|
||||
Write-Host "##vso[task.setvariable variable=ArtifactName]$(ArtifactName).Store"
|
||||
displayName: Add Microsoft Store flags
|
||||
condition: eq('${{ parameters.BuildForStore }}', 'true')
|
||||
|
||||
- powershell: |
|
||||
Write-Host "##vso[task.setvariable variable=BuildFlags]$(BuildFlags) --enable_msvc_static_runtime"
|
||||
Write-Host "##vso[task.setvariable variable=ArtifactName]$(ArtifactName).StaticRuntime"
|
||||
displayName: Add static runtime flags
|
||||
condition: eq('${{ parameters.Runtime }}', 'static')
|
||||
|
||||
- task: PythonScript@0
|
||||
displayName: 'Generate CMake Configuration'
|
||||
inputs:
|
||||
scriptPath: '$(Build.SourcesDirectory)\tools\ci_build\build.py'
|
||||
${{ if and(eq(parameters.BuildArch, 'x64'), eq(parameters.BuildForStore, 'false')) }}:
|
||||
arguments: '--build_dir $(Build.BinariesDirectory) --skip_submodule_sync --build_shared_lib --enable_onnx_tests --enable_wcos $(TelemetryOption) --use_dml --use_winml --cmake_generator "Visual Studio 16 2019" --update --config RelWithDebInfo --enable_lto --disable_rtti'
|
||||
${{ if and(eq(parameters.BuildArch, 'x64'), eq(parameters.BuildForStore, 'true')) }}:
|
||||
arguments: '--build_dir $(Build.BinariesDirectory) --skip_submodule_sync --build_shared_lib --skip_winml_tests --enable_wcos $(TelemetryOption) --use_winml --cmake_generator "Visual Studio 16 2019" --update --config RelWithDebInfo --enable_lto --disable_rtti --enable_windows_store --target winml_dll'
|
||||
${{ if and(eq(parameters.BuildArch, 'x86'), eq(parameters.BuildForStore, 'false')) }}:
|
||||
arguments: '--build_dir $(Build.BinariesDirectory) --skip_submodule_sync --build_shared_lib --enable_onnx_tests --enable_wcos $(TelemetryOption) --use_dml --use_winml --cmake_generator "Visual Studio 16 2019" --update --config RelWithDebInfo --enable_lto --disable_rtti --x86'
|
||||
${{ if and(eq(parameters.BuildArch, 'x86'), eq(parameters.BuildForStore, 'true')) }}:
|
||||
arguments: '--build_dir $(Build.BinariesDirectory) --skip_submodule_sync --build_shared_lib --skip_winml_tests --enable_wcos $(TelemetryOption) --use_winml --cmake_generator "Visual Studio 16 2019" --update --config RelWithDebInfo --enable_lto --disable_rtti --x86 --enable_windows_store --target winml_dll'
|
||||
${{ if and(eq(parameters.BuildArch, 'arm64'), eq(parameters.BuildForStore, 'false')) }}:
|
||||
arguments: '--build_dir $(Build.BinariesDirectory) --skip_submodule_sync --build_shared_lib --enable_onnx_tests --enable_wcos $(TelemetryOption) --use_winml --cmake_generator "Visual Studio 16 2019" --update --config RelWithDebInfo --enable_lto --disable_rtti --arm64'
|
||||
${{ if and(eq(parameters.BuildArch, 'arm64'), eq(parameters.BuildForStore, 'true')) }}:
|
||||
arguments: '--build_dir $(Build.BinariesDirectory) --skip_submodule_sync --build_shared_lib --skip_winml_tests --enable_wcos $(TelemetryOption) --use_winml --cmake_generator "Visual Studio 16 2019" --update --config RelWithDebInfo --enable_lto --disable_rtti --arm64 --enable_windows_store --target winml_dll'
|
||||
${{ if and(eq(parameters.BuildArch, 'arm'), eq(parameters.BuildForStore, 'false')) }}:
|
||||
arguments: '--build_dir $(Build.BinariesDirectory) --skip_submodule_sync --build_shared_lib --enable_onnx_tests --enable_wcos $(TelemetryOption) --use_winml --cmake_generator "Visual Studio 16 2019" --update --config RelWithDebInfo --enable_lto --disable_rtti --arm'
|
||||
${{ if and(eq(parameters.BuildArch, 'arm'), eq(parameters.BuildForStore, 'true')) }}:
|
||||
arguments: '--build_dir $(Build.BinariesDirectory) --skip_submodule_sync --build_shared_lib --skip_winml_tests --enable_wcos $(TelemetryOption) --use_winml --cmake_generator "Visual Studio 16 2019" --update --config RelWithDebInfo --enable_lto --disable_rtti --arm --enable_windows_store --target winml_dll'
|
||||
arguments: '--build_dir $(Build.BinariesDirectory) --skip_submodule_sync --build_shared_lib --enable_onnx_tests $(TelemetryOption) --use_winml --cmake_generator "Visual Studio 16 2019" --update --config RelWithDebInfo --enable_lto --disable_rtti $(BuildFlags)'
|
||||
workingDirectory: '$(Build.BinariesDirectory)'
|
||||
|
||||
- ${{ if or(notIn(parameters['sln_platform'], 'Win32', 'x64'), eq(parameters.BuildForStore, 'true')) }}:
|
||||
|
|
@ -107,7 +125,7 @@ steps:
|
|||
workingFolder: '$(Build.BinariesDirectory)\RelWithDebInfo'
|
||||
createLogFile: true
|
||||
|
||||
- ${{ if and(eq(parameters.BuildArch, 'x64'), eq(parameters.BuildForStore, 'false')) }}:
|
||||
- ${{ if and(eq(parameters.BuildArch, 'x64'), eq(parameters.BuildForStore, 'false'), eq(parameters.Runtime, 'dynamic')) }}:
|
||||
- script: |
|
||||
mklink /D /J $(Build.BinariesDirectory)\RelWithDebInfo\models $(Build.BinariesDirectory)\models
|
||||
DIR dist\ /S /B > wheel_filename_file
|
||||
|
|
@ -133,7 +151,7 @@ steps:
|
|||
testRunTitle: 'Unit Test Run'
|
||||
condition: succeededOrFailed()
|
||||
|
||||
- ${{ if and(eq(parameters.BuildArch, 'x64'), eq(parameters.BuildForStore, 'false')) }}:
|
||||
- ${{ if and(eq(parameters.BuildArch, 'x64'), eq(parameters.BuildForStore, 'false'), eq(parameters.Runtime, 'dynamic')) }}:
|
||||
- script: |
|
||||
xcopy $(Build.BinariesDirectory)\RelWithDebInfo\RelWithDebInfo\winml_test_api.exe $(Build.ArtifactStagingDirectory)\test_artifact\
|
||||
copy $(Build.BinariesDirectory)\RelWithDebInfo\RelWithDebInfo\winml_test_scenario.exe $(Build.ArtifactStagingDirectory)\test_artifact\
|
||||
|
|
@ -228,19 +246,11 @@ steps:
|
|||
workingDirectory: '$(Build.SourcesDirectory)\csharp'
|
||||
displayName: 'Create NuGet Package'
|
||||
|
||||
- ${{ if eq(parameters.BuildForStore, 'false') }}:
|
||||
- task: PublishPipelineArtifact@0
|
||||
displayName: 'Publish Pipeline Artifact: Microsoft.AI.MachineLearning ${{ parameters.BuildArch }}'
|
||||
inputs:
|
||||
artifactName: 'Microsoft.AI.MachineLearning.${{ parameters.BuildArch }}'
|
||||
targetPath: '$(Build.ArtifactStagingDirectory)'
|
||||
|
||||
- ${{ if eq(parameters.BuildForStore, 'true') }}:
|
||||
- task: PublishPipelineArtifact@0
|
||||
displayName: 'Publish Pipeline Artifact: Microsoft.AI.MachineLearning ${{ parameters.BuildArch }}'
|
||||
inputs:
|
||||
artifactName: 'Microsoft.AI.MachineLearning.${{ parameters.BuildArch }}.Store'
|
||||
targetPath: '$(Build.ArtifactStagingDirectory)'
|
||||
- task: PublishPipelineArtifact@0
|
||||
displayName: 'Publish Pipeline Artifact: $(ArtifactName)'
|
||||
inputs:
|
||||
artifactName: '$(ArtifactName)'
|
||||
targetPath: '$(Build.ArtifactStagingDirectory)'
|
||||
|
||||
- task: PublishSymbols@2
|
||||
displayName: 'Publish Build Symbols'
|
||||
|
|
|
|||
Loading…
Reference in a new issue