Windows-Machine-Learning/azure-pipelines-samples.yml

219 строки
8.6 KiB
YAML

resources:
- repo: self
clean: true
pool:
vmImage: 'windows-latest'
# pool:
# name: DirectML_BuildPool
# demands: agent.osversion -equals 10.0.17763
variables:
SamplesBin: SamplesBin
WINDOWS_WINMD: C:\Program Files (x86)\Windows Kits\10\UnionMetadata\10.0.19041.0\Windows.winmd
WindowsTargetPlatformVersion: 10.0.19041.0
# CI trigger
trigger:
batch: true
branches:
include:
- master
paths:
exclude:
- Tools
jobs:
- job: Public_Samples_Build
timeoutInMinutes: 90
strategy:
maxParallel: 8
matrix:
Release_x64:
BuildPlatform: x64
BuildConfiguration: Release
Debug_x64:
BuildPlatform: x64
BuildConfiguration: Debug
Release_x86:
BuildPlatform: x86
BuildConfiguration: Release
Debug_x86:
BuildPlatform: x86
BuildConfiguration: Debug
steps:
- task: PowerShell@2
displayName: 'Clone Git Submodules'
inputs:
targetType: inline
script: git submodule update --init --recursive
- task: NuGetToolInstaller@1
displayName: 'Install NuGet 5.11.0'
inputs:
versionSpec: '5.11.0'
- task: PowerShell@2
displayName: 'Install the win 10 sdk v19041 if necessary'
inputs:
targetType: inline
script: choco install windows-sdk-10-version-2004-all -y
- task: PowerShell@1
displayName: OpenCV - Configure CMake
inputs:
scriptName: external/tools/CMakeConfigureOpenCV.ps1
workingDirectory: $(System.ArtifactsDirectory)
arguments: >
-Architecture $(BuildPlatform)
- task: VSBuild@1
displayName: 'OpenCV - Build'
inputs:
solution: 'build/external/opencv/cmake_config/$(BuildPlatform)/OpenCV.sln"'
vsVersion: "16.0"
msbuildArgs: '/p:Configuration=$(BuildConfiguration) /t:Build /p:LinkIncremental=false /p:DebugSymbols=false /p:DebugType=None'
configuration: '$(BuildConfiguration)'
msbuildArchitecture: x64
createLogFile: true
condition: succeededOrFailed()
- task: VSBuild@1
displayName: 'OpenCV - Install'
inputs:
solution: 'build/external/opencv/cmake_config/$(BuildPlatform)/INSTALL.vcxproj'
vsVersion: "16.0"
msbuildArgs: '/p:Configuration=$(BuildConfiguration) /p:LinkIncremental=false /p:DebugSymbols=false /p:DebugType=None'
configuration: '$(BuildConfiguration)'
msbuildArchitecture: x64
createLogFile: true
condition: succeededOrFailed()
- task: PowerShell@2
displayName: 'Restore WinMLSamplesGalleryNative Nuget Packages'
inputs:
targetType: 'inline'
script: |
$src_root_dir = $Env:BUILD_SOURCESDIRECTORY;
$solution_dir = [System.IO.Path]::Combine($src_root_dir, 'Samples', 'WinMLSamplesGallery')
$csproj = [System.IO.Path]::Combine($solution_dir, 'WinMLSamplesGalleryNative', 'WinMLSamplesGalleryNative.vcxproj')
nuget restore $csproj -SolutionDirectory $solution_dir
- task: VSBuild@1
displayName: 'Build WinMLSamplesGallery Debug'
inputs:
solution: 'Samples/WinMLSamplesGallery/WinMLSamplesGallery.sln'
vsVersion: "16.0"
msbuildArgs: '/p:WindowsTargetPlatformVersion=$(WindowsTargetPlatformVersion) /t:Restore,Clean,Build'
platform: '$(BuildPlatform)'
configuration: '$(BuildConfiguration)'
msbuildArchitecture: x64
createLogFile: true
condition: and(succeededOrFailed(), eq(variables['BuildConfiguration'], 'Debug'))
- task: VSBuild@1
displayName: 'Build And Publish WinMLSamplesGallery Release'
inputs:
solution: 'Samples/WinMLSamplesGallery/WinMLSamplesGallery.sln'
vsVersion: "16.0"
msbuildArgs: '/p:UapAppxPackageBuildMode=SideloadOnly /p:AppxPackageSigningEnabled=false /p:AppxBundle=Always "/p:AppxBundlePlatforms=x86|x64|arm64" /p:WindowsTargetPlatformVersion=$(WindowsTargetPlatformVersion) /t:Restore,Clean,Build,Publish'
platform: '$(BuildPlatform)'
configuration: '$(BuildConfiguration)'
msbuildArchitecture: x64
createLogFile: true
condition: and(succeededOrFailed(), eq(variables['BuildConfiguration'], 'Release'))
- task: VSBuild@1
displayName: 'Build UI test solution Testing/**/SamplesTest.sln'
inputs:
solution: 'Testing/**/SamplesTest.sln'
vsVersion: "16.0"
msbuildArgs: '-v:diag /p:OutDir=$(System.DefaultWorkingDirectory)\bin\$(BuildPlatform)\$(BuildConfiguration)\SamplesTest\ /p:WindowsTargetPlatformVersion=$(WindowsTargetPlatformVersion) /t:Restore,Clean,Build'
platform: '$(BuildPlatform)'
configuration: '$(BuildConfiguration)'
msbuildArchitecture: x64
createLogFile: true
condition: succeededOrFailed()
- task: VSBuild@1
displayName: 'Build MNIST-Tutorial-cs Sample'
inputs:
solution: 'Samples/MNIST/Tutorial/cs/mnist_demo.sln'
vsVersion: "16.0"
msbuildArgs: '-v:diag /p:OutDir=$(System.DefaultWorkingDirectory)\bin\$(BuildPlatform)\$(BuildConfiguration)\MNIST-Tutorial\ /p:AppxPackageSigningEnabled=false /p:WindowsTargetPlatformVersion=$(WindowsTargetPlatformVersion) /t:Restore,Clean,Build'
platform: '$(BuildPlatform)'
configuration: '$(BuildConfiguration)'
msbuildArchitecture: x64
createLogFile: true
condition: succeededOrFailed()
- task: VSBuild@1
displayName: 'Build MNIST-UWP-cs Sample'
inputs:
solution: 'Samples/MNIST/UWP/cs/mnist_demo.sln'
vsVersion: "16.0"
msbuildArgs: '-v:diag /p:OutDir=$(System.DefaultWorkingDirectory)\bin\$(BuildPlatform)\$(BuildConfiguration)\MNIST-cs\ /p:AppxBundle=Never /p:AppxPackageSigningEnabled=false /p:WindowsTargetPlatformVersion=$(WindowsTargetPlatformVersion) /t:Restore,Clean,Build'
platform: '$(BuildPlatform)'
configuration: '$(BuildConfiguration)_NuGet'
msbuildArchitecture: x64
createLogFile: true
condition: succeededOrFailed()
- task: VSBuild@1
displayName: 'Build FNSCandyStyleTransfer-UWP-CS Sample'
inputs:
solution: Samples/FNSCandyStyleTransfer/UWP/CS/snapcandy.sln
vsVersion: "16.0"
msbuildArgs: '-v:diag /p:OutDir=$(System.DefaultWorkingDirectory)\bin\$(BuildPlatform)\$(BuildConfiguration)\FNSCandyStyleTransfer\ /p:AppxPackageSigningEnabled=false /p:WindowsTargetPlatformVersion=$(WindowsTargetPlatformVersion) /t:Restore,Clean,Build'
platform: '$(BuildPlatform)'
configuration: '$(BuildConfiguration)'
msbuildArchitecture: x64
createLogFile: true
condition: succeededOrFailed()
- task: VSBuild@1
displayName: 'Build MNIST-UWP-cppcx Sample'
inputs:
solution: 'Samples/MNIST/UWP/cppcx/mnist_cppcx.sln'
vsVersion: "16.0"
msbuildArgs: '-v:diag /p:OutDir=$(System.DefaultWorkingDirectory)\bin\$(BuildPlatform)\$(BuildConfiguration)\MNIST-cppcx\ /p:AppxPackageSigningEnabled=false /p:WindowsTargetPlatformVersion=$(WindowsTargetPlatformVersion) /t:Restore,Clean,Build'
platform: '$(BuildPlatform)'
configuration: '$(BuildConfiguration)'
msbuildArchitecture: x64
createLogFile: true
condition: succeededOrFailed()
- task: CopyFiles@2
inputs:
targetFolder: '$(Build.ArtifactStagingDirectory)\$(BuildPlatform)\$(BuildConfiguration)\'
sourceFolder: 'Samples\WinMLSamplesGallery\WinMLSamplesGallery (Package)\bin\$(BuildPlatform)\$(BuildConfiguration)\'
Contents: |
**\SamplesTest\**
**\AppPackages\**
condition: succeededOrFailed()
- task: CopyFiles@2
inputs:
targetFolder: '$(Build.ArtifactStagingDirectory)\$(BuildPlatform)\$(BuildConfiguration)\'
sourceFolder: 'Samples\WinMLSamplesGallery\WinMLSamplesGallery (Package)\bin\$(BuildPlatform)\$(BuildConfiguration)\'
Contents: |
?(AdapterSelection|CustomOperator|CustomTensorization)**\*
SqueezeNetObjectDetection\*
condition: succeededOrFailed()
- task: PowerShell@2
displayName: 'Move App Packages'
inputs:
targetType: 'inline'
script: 'mv Samples/WinMLSamplesGallery/"WinMLSamplesGallery (Package)"/AppPackages $(Build.ArtifactStagingDirectory)\$(BuildPlatform)\$(BuildConfiguration)\AppPackages'
condition: and(succeededOrFailed(), eq(variables['BuildConfiguration'], 'Release'))
- task: PublishBuildArtifacts@1
displayName: 'Publish Artifact: Samples'
inputs:
pathtoPublish: '$(Build.ArtifactStagingDirectory)'
artifactName: WinMLPublicSamples
condition: succeededOrFailed()