Skip to content

Commit 49052f5

Browse files
authored
Merge pull request #439 from microsoft/user/numform-gallery-pipeline-timeout
Extend Github Public Samples Build Timeout to 90 minutes
2 parents 427fbdb + e938c4a commit 49052f5

File tree

1 file changed

+148
-145
lines changed

1 file changed

+148
-145
lines changed

azure-pipelines-samples.yml

Lines changed: 148 additions & 145 deletions
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,18 @@
11
resources:
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-
275
pool:
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
3417
trigger:
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: Public_Samples_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

Comments
 (0)