11resources :
2-
32- repo : self
43 clean : true
54
6- variables :
7- SamplesBin : SamplesBin
8- WINDOWS_WINMD : C:\Program Files (x86)\Windows Kits\10\UnionMetadata\10.0.18362.0\Windows.winmd
9- WindowsTargetPlatformVersion : 10.0.18362.0
10-
11- strategy :
12- maxParallel : 8
13- matrix :
14- Release_x64 :
15- BuildPlatform : x64
16- BuildConfiguration : Release
17- Debug_x64 :
18- BuildPlatform : x64
19- BuildConfiguration : Debug
20- Release_x86 :
21- BuildPlatform : x86
22- BuildConfiguration : Release
23- Debug_x86 :
24- BuildPlatform : x86
25- BuildConfiguration : Debug
26-
275pool :
286 vmImage : ' windows-latest'
297# pool:
308# name: DirectML_BuildPool
319# demands: agent.osversion -equals 10.0.17763
3210
11+ variables :
12+ SamplesBin : SamplesBin
13+ WINDOWS_WINMD : C:\Program Files (x86)\Windows Kits\10\UnionMetadata\10.0.18362.0\Windows.winmd
14+ WindowsTargetPlatformVersion : 10.0.18362.0
15+
3316# CI trigger
3417trigger :
3518 batch : true
@@ -49,126 +32,146 @@ pr:
4932 exclude :
5033 - Tools
5134
52- steps :
53- - task : PowerShell@2
54- displayName : ' Clone Git Submodules'
55- inputs :
56- targetType : inline
57- script : git submodule update --init --recursive
58-
59- - task : NuGetToolInstaller@1
60- displayName : ' Install NuGet 5.11.0'
61- inputs :
62- versionSpec : ' 5.11.0'
63-
64- - task : PowerShell@2
65- displayName : ' Install the win 10 sdk v18362 if necessary'
66- inputs :
67- targetType : inline
68- script : if (-not (Test-Path "${ENV:programfiles(x86)}\windows Kits\10\include\10.0.18362.0\")) { choco install windows-sdk-10-version-1903-all -y }
69-
70- - task : PowerShell@1
71- displayName : OpenCV - Configure CMake
72- inputs :
73- scriptName : external/tools/CMakeConfigureOpenCV.ps1
74- workingDirectory : $(System.ArtifactsDirectory)
75- arguments : >
76- -Architecture $(BuildPlatform)
77-
78- - task : VSBuild@1
79- displayName : ' OpenCV - Build'
80- inputs :
81- solution : ' build/external/opencv/cmake_config/$(BuildPlatform)/OpenCV.sln"'
82- vsVersion : " 16.0"
83- msbuildArgs : ' /p:Configuration=$(BuildConfiguration) /t:Build /p:LinkIncremental=false /p:DebugSymbols=false /p:DebugType=None'
84- configuration : ' $(BuildConfiguration)'
85- msbuildArchitecture : x64
86- createLogFile : true
87- condition : succeededOrFailed()
88-
89- - task : VSBuild@1
90- displayName : ' OpenCV - Install'
91- inputs :
92- solution : ' build/external/opencv/cmake_config/$(BuildPlatform)/INSTALL.vcxproj'
93- vsVersion : " 16.0"
94- msbuildArgs : ' /p:Configuration=$(BuildConfiguration) /p:LinkIncremental=false /p:DebugSymbols=false /p:DebugType=None'
95- configuration : ' $(BuildConfiguration)'
96- msbuildArchitecture : x64
97- createLogFile : true
98- condition : succeededOrFailed()
99-
100- - task : PowerShell@2
101- displayName : ' Restore WinMLSamplesGalleryNative Nuget Packages'
102- inputs :
103- targetType : ' inline'
104- script : |
105- $src_root_dir = $Env:BUILD_SOURCESDIRECTORY;
106- $solution_dir = [System.IO.Path]::Combine($src_root_dir, 'Samples', 'WinMLSamplesGallery')
107- $csproj = [System.IO.Path]::Combine($solution_dir, 'WinMLSamplesGalleryNative', 'WinMLSamplesGalleryNative.vcxproj')
108- nuget restore $csproj -SolutionDirectory $solution_dir
109-
110- - task : VSBuild@1
111- displayName : ' Build WinMLSamplesGallery Debug'
112- inputs :
113- solution : ' Samples/WinMLSamplesGallery/WinMLSamplesGallery.sln'
114- vsVersion : " 16.0"
115- msbuildArgs : ' /p:WindowsTargetPlatformVersion=$(WindowsTargetPlatformVersion) /t:Restore,Clean,Build'
116- platform : ' $(BuildPlatform)'
117- configuration : ' $(BuildConfiguration)'
118- msbuildArchitecture : x64
119- createLogFile : true
120- condition : and(succeededOrFailed(), eq(variables['BuildConfiguration'], 'Debug'))
121-
122- - task : VSBuild@1
123- displayName : ' Build And Publish WinMLSamplesGallery Release'
124- inputs :
125- solution : ' Samples/WinMLSamplesGallery/WinMLSamplesGallery.sln'
126- vsVersion : " 16.0"
127- msbuildArgs : ' /p:UapAppxPackageBuildMode=SideloadOnly /p:AppxPackageSigningEnabled=false /p:AppxBundle=Always "/p:AppxBundlePlatforms=x86|x64" /p:WindowsTargetPlatformVersion=$(WindowsTargetPlatformVersion) /t:Restore,Clean,Build,Publish'
128- platform : ' $(BuildPlatform)'
129- configuration : ' $(BuildConfiguration)'
130- msbuildArchitecture : x64
131- createLogFile : true
132- condition : and(succeededOrFailed(), eq(variables['BuildConfiguration'], 'Release'))
133-
134- # TODO: Add previously failing build tasks
135-
136- - task : CopyFiles@2
137- inputs :
138- targetFolder : ' $(Build.ArtifactStagingDirectory)\$(BuildPlatform)\$(BuildConfiguration)\'
139- sourceFolder : ' Samples\WinMLSamplesGallery\WinMLSamplesGallery (Package)\bin\$(BuildPlatform)\$(BuildConfiguration)\'
140- Contents : |
141- **\SamplesTest\**
142- **\AppPackages\**
143- condition : succeededOrFailed()
144-
145- - task : CopyFiles@2
146- inputs :
147- targetFolder : ' $(Build.ArtifactStagingDirectory)\$(BuildPlatform)\$(BuildConfiguration)\'
148- sourceFolder : ' Samples\WinMLSamplesGallery\WinMLSamplesGallery (Package)\bin\$(BuildPlatform)\$(BuildConfiguration)\'
149- Contents : |
150- ?(AdapterSelection|CustomOperator|CustomTensorization)**\*
151- SqueezeNetObjectDetection\*
152- condition : succeededOrFailed()
153-
154- - task : CopyFiles@2
155- displayName : ' Copy App Packages'
156- inputs :
157- targetFolder : ' $(Build.ArtifactStagingDirectory)\$(BuildPlatform)\$(BuildConfiguration)\AppPackages'
158- sourceFolder : ' Samples/WinMLSamplesGallery/WinMLSamplesGallery (Package)/AppPackages'
159- contents : ' **\*'
160- condition : and(succeededOrFailed(), eq(variables['BuildConfiguration'], 'Release'))
161-
162- - task : CopyFiles@2
163- inputs :
164- targetFolder : ' $(Build.ArtifactStagingDirectory)\$(BuildPlatform)\$(BuildConfiguration)\SharedContent'
165- sourceFolder : ' SharedContent'
166- contents : ' **\*'
167- condition : succeededOrFailed()
168-
169- - task : PublishBuildArtifacts@1
170- displayName : ' Publish Artifact: Samples'
171- inputs :
172- pathtoPublish : ' $(Build.ArtifactStagingDirectory)'
173- artifactName : WinMLPublicSamples
174- condition : succeededOrFailed()
35+ jobs :
36+ - job : Samples_Gallery_Build
37+ timeoutInMinutes : 90
38+
39+ strategy :
40+ maxParallel : 8
41+ matrix :
42+ Release_x64 :
43+ BuildPlatform : x64
44+ BuildConfiguration : Release
45+ Debug_x64 :
46+ BuildPlatform : x64
47+ BuildConfiguration : Debug
48+ Release_x86 :
49+ BuildPlatform : x86
50+ BuildConfiguration : Release
51+ Debug_x86 :
52+ BuildPlatform : x86
53+ BuildConfiguration : Debug
54+
55+ steps :
56+ - task : PowerShell@2
57+ displayName : ' Clone Git Submodules'
58+ inputs :
59+ targetType : inline
60+ script : git submodule update --init --recursive
61+
62+ - task : NuGetToolInstaller@1
63+ displayName : ' Install NuGet 5.11.0'
64+ inputs :
65+ versionSpec : ' 5.11.0'
66+
67+ - task : PowerShell@2
68+ displayName : ' Install the win 10 sdk v18362 if necessary'
69+ inputs :
70+ targetType : inline
71+ script : if (-not (Test-Path "${ENV:programfiles(x86)}\windows Kits\10\include\10.0.18362.0\")) { choco install windows-sdk-10-version-1903-all -y }
72+
73+ - task : PowerShell@1
74+ displayName : OpenCV - Configure CMake
75+ inputs :
76+ scriptName : external/tools/CMakeConfigureOpenCV.ps1
77+ workingDirectory : $(System.ArtifactsDirectory)
78+ arguments : >
79+ -Architecture $(BuildPlatform)
80+
81+ - task : VSBuild@1
82+ displayName : ' OpenCV - Build'
83+ inputs :
84+ solution : ' build/external/opencv/cmake_config/$(BuildPlatform)/OpenCV.sln"'
85+ vsVersion : " 16.0"
86+ msbuildArgs : ' /p:Configuration=$(BuildConfiguration) /t:Build /p:LinkIncremental=false /p:DebugSymbols=false /p:DebugType=None'
87+ configuration : ' $(BuildConfiguration)'
88+ msbuildArchitecture : x64
89+ createLogFile : true
90+ condition : succeededOrFailed()
91+
92+ - task : VSBuild@1
93+ displayName : ' OpenCV - Install'
94+ inputs :
95+ solution : ' build/external/opencv/cmake_config/$(BuildPlatform)/INSTALL.vcxproj'
96+ vsVersion : " 16.0"
97+ msbuildArgs : ' /p:Configuration=$(BuildConfiguration) /p:LinkIncremental=false /p:DebugSymbols=false /p:DebugType=None'
98+ configuration : ' $(BuildConfiguration)'
99+ msbuildArchitecture : x64
100+ createLogFile : true
101+ condition : succeededOrFailed()
102+
103+ - task : PowerShell@2
104+ displayName : ' Restore WinMLSamplesGalleryNative Nuget Packages'
105+ inputs :
106+ targetType : ' inline'
107+ script : |
108+ $src_root_dir = $Env:BUILD_SOURCESDIRECTORY;
109+ $solution_dir = [System.IO.Path]::Combine($src_root_dir, 'Samples', 'WinMLSamplesGallery')
110+ $csproj = [System.IO.Path]::Combine($solution_dir, 'WinMLSamplesGalleryNative', 'WinMLSamplesGalleryNative.vcxproj')
111+ nuget restore $csproj -SolutionDirectory $solution_dir
112+
113+ - task : VSBuild@1
114+ displayName : ' Build WinMLSamplesGallery Debug'
115+ inputs :
116+ solution : ' Samples/WinMLSamplesGallery/WinMLSamplesGallery.sln'
117+ vsVersion : " 16.0"
118+ msbuildArgs : ' /p:WindowsTargetPlatformVersion=$(WindowsTargetPlatformVersion) /t:Restore,Clean,Build'
119+ platform : ' $(BuildPlatform)'
120+ configuration : ' $(BuildConfiguration)'
121+ msbuildArchitecture : x64
122+ createLogFile : true
123+ condition : and(succeededOrFailed(), eq(variables['BuildConfiguration'], 'Debug'))
124+
125+ - task : VSBuild@1
126+ displayName : ' Build And Publish WinMLSamplesGallery Release'
127+ inputs :
128+ solution : ' Samples/WinMLSamplesGallery/WinMLSamplesGallery.sln'
129+ vsVersion : " 16.0"
130+ msbuildArgs : ' /p:UapAppxPackageBuildMode=SideloadOnly /p:AppxPackageSigningEnabled=false /p:AppxBundle=Always "/p:AppxBundlePlatforms=x86|x64" /p:WindowsTargetPlatformVersion=$(WindowsTargetPlatformVersion) /t:Restore,Clean,Build,Publish'
131+ platform : ' $(BuildPlatform)'
132+ configuration : ' $(BuildConfiguration)'
133+ msbuildArchitecture : x64
134+ createLogFile : true
135+ condition : and(succeededOrFailed(), eq(variables['BuildConfiguration'], 'Release'))
136+
137+ # TODO: Add previously failing build tasks
138+
139+ - task : CopyFiles@2
140+ inputs :
141+ targetFolder : ' $(Build.ArtifactStagingDirectory)\$(BuildPlatform)\$(BuildConfiguration)\'
142+ sourceFolder : ' Samples\WinMLSamplesGallery\WinMLSamplesGallery (Package)\bin\$(BuildPlatform)\$(BuildConfiguration)\'
143+ Contents : |
144+ **\SamplesTest\**
145+ **\AppPackages\**
146+ condition : succeededOrFailed()
147+
148+ - task : CopyFiles@2
149+ inputs :
150+ targetFolder : ' $(Build.ArtifactStagingDirectory)\$(BuildPlatform)\$(BuildConfiguration)\'
151+ sourceFolder : ' Samples\WinMLSamplesGallery\WinMLSamplesGallery (Package)\bin\$(BuildPlatform)\$(BuildConfiguration)\'
152+ Contents : |
153+ ?(AdapterSelection|CustomOperator|CustomTensorization)**\*
154+ SqueezeNetObjectDetection\*
155+ condition : succeededOrFailed()
156+
157+ - task : CopyFiles@2
158+ displayName : ' Copy App Packages'
159+ inputs :
160+ targetFolder : ' $(Build.ArtifactStagingDirectory)\$(BuildPlatform)\$(BuildConfiguration)\AppPackages'
161+ sourceFolder : ' Samples/WinMLSamplesGallery/WinMLSamplesGallery (Package)/AppPackages'
162+ contents : ' **\*'
163+ condition : and(succeededOrFailed(), eq(variables['BuildConfiguration'], 'Release'))
164+
165+ - task : CopyFiles@2
166+ inputs :
167+ targetFolder : ' $(Build.ArtifactStagingDirectory)\$(BuildPlatform)\$(BuildConfiguration)\SharedContent'
168+ sourceFolder : ' SharedContent'
169+ contents : ' **\*'
170+ condition : succeededOrFailed()
171+
172+ - task : PublishBuildArtifacts@1
173+ displayName : ' Publish Artifact: Samples'
174+ inputs :
175+ pathtoPublish : ' $(Build.ArtifactStagingDirectory)'
176+ artifactName : WinMLPublicSamples
177+ condition : succeededOrFailed()
0 commit comments