forked from dotnet/roslyn
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.vsts-ci.yml
122 lines (108 loc) · 4.29 KB
/
.vsts-ci.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
resources:
- repo: self
clean: true
queue:
name: VSEng-MicroBuildVS2017
timeoutInMinutes: 360
demands:
- msbuild
- visualstudio
- DotNetFramework
variables:
BuildPlatform: 'Any CPU'
steps:
- task: NuGetCommand@2
inputs:
command: custom
arguments: 'locals all -clear'
- task: ms-vseng.MicroBuildTasks.30666190-6959-11e5-9f96-f56098202fef.MicroBuildSigningPlugin@1
inputs:
signType: real
condition: and(succeeded(), in(variables['PB_SignType'], 'test', 'real'))
- task: ms-vseng.MicroBuildTasks.32f78468-e895-4f47-962c-58a699361df8.MicroBuildSwixPlugin@1
inputs:
feedSource: 'https://devdiv-test.pkgs.visualstudio.com/_packaging/MicroBuildToolset/nuget/v3/index.json'
- task: NuGetRestore@1
inputs:
solution: 'build\ToolsetPackages\InternalToolset.csproj'
feed: '8f470c7e-ac49-4afe-a6ee-cf784e438b93'
- task: CmdLine@1
inputs:
filename: mkdir
arguments: 'Binaries\$(BuildConfiguration)'
- task: VSBuild@1
inputs:
solution: 'src/Tools/MicroBuild/Build.proj'
vsVersion: 15.0
msbuildArgs: >-
/p:TreatWarningsAsErrors=true
/p:DeployExtension=false
/p:TrackFileAccess=false
/p:OfficialBuild=true
/p:VisualStudioVersion=14.0
/flp1:Summary;Verbosity=diagnostic;Encoding=UTF-8;LogFile=$(Build.SourcesDirectory)\Binaries\$(BuildConfiguration)\Roslyn.log
/flp2:WarningsOnly;Verbosity=diagnostic;Encoding=UTF-8;LogFile=$(Build.SourcesDirectory)\Binaries\$(BuildConfiguration)\Roslyn.wrn
/flp3:ErrorsOnly;Verbosity=diagnostic;Encoding=UTF-8;LogFile=$(Build.SourcesDirectory)\Binaries\$(BuildConfiguration)\Roslyn.err
/p:RoslynMyGetApiKey=$(Roslyn.MyGetApiKey)
/p:RoslynNuGetApiKey=$(Roslyn.NuGetApiKey)
/p:RoslynGitHubEmail=$(Roslyn.GitHubEmail)
/p:RoslynGitHubToken=$(Roslyn.GitHubToken)
/p:RoslynGitHubUserName=$(Roslyn.GitHubUserName)
/p:PB_PublishBlobFeedKey=$(PB_PublishBlobFeedKey)
/p:PublishStableVersions=false
/p:VersionStampToPublish=prerelease
/p:DotNetSymbolServerTokenMsdl=$(microsoft-symbol-server-pat)
/p:DotNetSymbolServerTokenSymWeb=$(symweb-symbol-server-pat)
platform: '$(BuildPlatform)'
configuration: '$(BuildConfiguration)'
maximumCpuCount: true
logProjectEvents: false
- task: PublishBuildArtifacts@1
inputs:
PathtoPublish: '$(Build.SourcesDirectory)\Binaries\$(BuildConfiguration)\Logs'
ArtifactName: 'Build Diagnostic Files'
publishLocation: Container
continueOnError: true
condition: succeededOrFailed()
- task: PublishTestResults@1
inputs:
testRunner: XUnit
testResultsFiles: '**/xUnitResults/*.xml'
mergeTestResults: true
testRunTitle: 'Unit Tests'
condition: succeededOrFailed()
- task: ms-vseng.MicroBuildTasks.4305a8de-ba66-4d8b-b2d1-0dc4ecbbf5e8.MicroBuildUploadVstsDropFolder@1
displayName: Upload VSTS Drop
inputs:
DropFolder: 'Binaries\$(BuildConfiguration)\Insertion'
condition: and(succeeded(), contains(variables['PB_PublishType'], 'vsts'))
- task: NuGetCommand@2
displayName: NuGet CoreXT publish
inputs:
command: push
feedsToUse: config
packagesToPush: '$(Build.SourcesDirectory)\Binaries\$(BuildConfiguration)\DevDivPackages\**\*.nupkg'
publishVstsFeed: '97a41293-2972-4f48-8c0e-05493ae82010'
allowPackageConflicts: true
condition: and(succeeded(), contains(variables['PB_PublishType'], 'vsts'))
- task: PublishBuildArtifacts@1
displayName: Publish Drop (parallel)
inputs:
PathtoPublish: 'Binaries\$(BuildConfiguration)'
ArtifactName: '$(Build.BuildNumber)'
publishLocation: FilePath
TargetPath: '$(DropRoot)\Roslyn-Signed\$(Build.SourceBranchName)\$(BuildConfiguration)'
Parallel: true
ParallelCount: 64
condition: succeededOrFailed()
- task: ms-vseng.MicroBuildTasks.521a94ea-9e68-468a-8167-6dcf361ea776.MicroBuildCleanup@1
displayName: Perform Cleanup Tasks
condition: succeededOrFailed()
- task: PublishBuildArtifacts@1
displayName: Publish MicroBuild Outputs
inputs:
PathtoPublish: '$(Build.ArtifactStagingDirectory)\MicroBuild\Output'
ArtifactName: '$(Build.BuildNumber)'
publishLocation: FilePath
TargetPath: '$(DropRoot)\Roslyn-Signed\$(Build.SourceBranchName)\$(BuildConfiguration)'
condition: and(succeededOrFailed(), contains(variables['PB_PublishType'], 'vsts'))