6 "continueOnError": false,
8 "displayName": "Install Signing Plugin",
10 "condition": "and(succeeded(), in(variables.PB_SignType, 'real', 'test'))",
13 "id": "30666190-6959-11e5-9f96-f56098202fef",
15 "definitionType": "task"
21 "feedSource": "https://devdiv.pkgs.visualstudio.com/DefaultCollection/_packaging/MicroBuildToolset/nuget/v3/index.json"
27 "continueOnError": false,
29 "displayName": "Fetch custom tooling (NuGet, EmbedIndex)",
30 "timeoutInMinutes": 0,
33 "id": "e213ff0f-5d5c-4791-802d-52ea3e7be1f1",
35 "definitionType": "task"
38 "scriptType": "filePath",
39 "scriptName": "scripts/DotNet-Trusted-Publish/Fetch-Tools.ps1",
40 "arguments": "$(Build.StagingDirectory)\\ToolingDownload",
42 "inlineScript": "# You can write your powershell scripts inline here. \n# You can also pass predefined and custom variables to this scripts using arguments\n\n Write-Host \"Hello World\"",
43 "failOnStandardError": "true"
49 "continueOnError": false,
51 "displayName": "Set up pipeline-specific git repository",
52 "timeoutInMinutes": 0,
55 "id": "e213ff0f-5d5c-4791-802d-52ea3e7be1f1",
57 "definitionType": "task"
60 "scriptType": "inlineScript",
62 "arguments": "-gitUrl $(VstsRepoGitUrl) -root $(Pipeline.SourcesDirectory)",
64 "inlineScript": "param($gitUrl, $root)\n\nif (Test-Path $root)\n{\n Remove-Item -Recurse -Force $root\n}\ngit clone $gitUrl $root 2>&1 | Write-Host\ncd $root\ngit checkout $env:SourceVersion 2>&1 | Write-Host\n\nWrite-Host (\"##vso[task.setvariable variable=Pipeline.SourcesDirectory;]$root\")",
65 "failOnStandardError": "true"
71 "continueOnError": false,
73 "displayName": "Setup vs dev env",
74 "timeoutInMinutes": 0,
77 "id": "bfc8bf76-e7ac-4a8c-9a55-a944a9f632fd",
79 "definitionType": "task"
82 "filename": "$(Pipeline.SourcesDirectory)\\setup_vs_tools.cmd",
84 "modifyEnvironment": "true",
86 "failOnStandardError": "false"
92 "continueOnError": false,
94 "displayName": "Sync packages",
95 "timeoutInMinutes": 0,
98 "id": "d9bafed4-0b18-4f58-968d-86655b4d2ce9",
100 "definitionType": "task"
103 "filename": "sync.cmd",
104 "arguments": "-ab -AzureAccount=$(CloudDropAccountName) -AzureToken=$(CloudDropAccessToken) -Container=$(PB_ContainerName) -BlobNamePrefix=$(PB_BlobNamePrefix)$(PB_BuildType)/pkg/flatcontainer/ -- /p:DownloadFlatFiles=true /p:BlobNameExtension=\".nupkg\" /p:DownloadDirectory=$(Pipeline.SourcesDirectory)\\packages\\AzureTransfer\\$(ConfigurationGroup)\\pkg",
105 "workingFolder": "$(Pipeline.SourcesDirectory)",
106 "failOnStandardError": "false"
112 "continueOnError": false,
114 "displayName": "Sync symbol packages",
115 "timeoutInMinutes": 0,
118 "id": "d9bafed4-0b18-4f58-968d-86655b4d2ce9",
119 "versionSpec": "1.*",
120 "definitionType": "task"
123 "filename": "sync.cmd",
124 "arguments": "-ab -AzureAccount=$(CloudDropAccountName) -AzureToken=$(CloudDropAccessToken) -Container=$(PB_ContainerName) -BlobNamePrefix=$(PB_BlobNamePrefix)$(PB_BuildType)/symbolpkg/ -- /p:DownloadFlatFiles=true /p:BlobNameExtension=\".nupkg\" /p:DownloadDirectory=$(Pipeline.SourcesDirectory)\\packages\\AzureTransfer\\$(ConfigurationGroup)\\symbolpkg",
125 "workingFolder": "$(Pipeline.SourcesDirectory)",
126 "failOnStandardError": "false"
132 "continueOnError": false,
134 "displayName": "Index symbol packages",
135 "timeoutInMinutes": 0,
138 "id": "e213ff0f-5d5c-4791-802d-52ea3e7be1f1",
139 "versionSpec": "1.*",
140 "definitionType": "task"
143 "scriptType": "inlineScript",
147 "inlineScript": "if ($env:ConfigurationGroup -ne \"Release\") { exit }\n\n& $env:Build_SourcesDirectory\\scripts\\DotNet-Trusted-Publish\\Embed-Index.ps1 `\n $env:Pipeline_SourcesDirectory\\packages\\AzureTransfer\\$env:ConfigurationGroup\\$env:SymbolPackageLocation `\n $env:Build_StagingDirectory\\IndexedSymbolPackages",
148 "failOnStandardError": "true"
154 "continueOnError": false,
156 "displayName": "Generate Version Assets",
157 "timeoutInMinutes": 0,
160 "id": "e213ff0f-5d5c-4791-802d-52ea3e7be1f1",
161 "versionSpec": "1.*",
162 "definitionType": "task"
165 "scriptType": "inlineScript",
168 "workingFolder": "$(Pipeline.SourcesDirectory)",
169 "inlineScript": "#if ($env:UseLegacyBuildScripts -eq \"true\")\n#{\n msbuild build.proj /t:CreateOrUpdateCurrentVersionFile /p:OfficialBuildId=$env:OfficialBuildId /p:BuildVersionFile=bin\\obj\\BuildVersion-$env:OfficialBuildId.props\n#}\n#else\n#{\n# .\\build-managed.cmd -GenerateVersion \"-OfficialBuildId=$env:OfficialBuildId\"\n#}",
170 "failOnStandardError": "true"
176 "continueOnError": true,
178 "displayName": "Log Native Version Assets Files",
179 "timeoutInMinutes": 0,
182 "id": "d9bafed4-0b18-4f58-968d-86655b4d2ce9",
183 "versionSpec": "1.*",
184 "definitionType": "task"
188 "arguments": "$(Pipeline.SourcesDirectory)\\bin\\obj\\BuildVersion*",
190 "failOnStandardError": "false"
196 "continueOnError": false,
198 "displayName": "packages -> dotnet.myget.org",
199 "timeoutInMinutes": 0,
200 "condition": "and(succeeded(), contains(variables.PB_PublishType, 'myget'), eq(variables.ConfigurationGroup, 'Release'))",
203 "id": "e213ff0f-5d5c-4791-802d-52ea3e7be1f1",
204 "versionSpec": "1.*",
205 "definitionType": "task"
208 "scriptType": "inlineScript",
210 "arguments": "-ApiKey $(MyGetApiKey) -ConfigurationGroup $(ConfigurationGroup) -PackagesGlob $(Pipeline.SourcesDirectory)\\packages\\AzureTransfer\\$(ConfigurationGroup)\\$(AzureContainerPackageGlob) -MyGetFeedUrl $(MyGetFeedUrl)",
211 "workingFolder": "$(Pipeline.SourcesDirectory)",
212 "inlineScript": "param($ApiKey, $ConfigurationGroup, $PackagesGlob, $MyGetFeedUrl)\n\nif ($ConfigurationGroup.ToLower() -ne \"release\") { Write-host \"Chose not to publish\"; exit }\n\nmsbuild /t:NuGetPush /v:Normal `\n/p:NuGetExePath=$env:CustomNuGetPath `\n/p:NuGetApiKey=$ApiKey `\n/p:NuGetSource=$MyGetFeedUrl `\n/p:PackagesGlob=$PackagesGlob",
213 "failOnStandardError": "true"
219 "continueOnError": false,
221 "displayName": "symbol packages -> dotnet.myget.org",
222 "timeoutInMinutes": 0,
223 "condition": "and(succeeded(), contains(variables.PB_PublishType, 'myget'), eq(variables.ConfigurationGroup, 'Release'))",
226 "id": "e213ff0f-5d5c-4791-802d-52ea3e7be1f1",
227 "versionSpec": "1.*",
228 "definitionType": "task"
231 "scriptType": "inlineScript",
233 "arguments": "-ApiKey $(MyGetApiKey) -ConfigurationGroup $(ConfigurationGroup) -PackagesGlob $(Build.StagingDirectory)\\IndexedSymbolPackages\\*.nupkg -MyGetFeedUrl $(MyGetFeedUrl)",
234 "workingFolder": "$(Pipeline.SourcesDirectory)",
235 "inlineScript": "param($ApiKey, $ConfigurationGroup, $PackagesGlob, $MyGetFeedUrl)\n\nif ($ConfigurationGroup.ToLower() -ne \"release\") { Write-host \"Chose not to publish\"; exit }\nif ($env:SourceBranch.StartsWith(\"release/\")) { exit }\n\nmsbuild /t:NuGetPush /v:Normal `\n/p:NuGetExePath=$env:CustomNuGetPath `\n/p:NuGetApiKey=$ApiKey `\n/p:NuGetSource=$MyGetFeedUrl `\n/p:PackagesGlob=$PackagesGlob",
236 "failOnStandardError": "true"
242 "continueOnError": false,
244 "displayName": "Packages -> Blob Feed",
245 "timeoutInMinutes": 0,
246 "condition": "and(succeeded(), contains(variables.PB_PublishType, 'blob'), eq(variables.ConfigurationGroup, 'Release'))",
249 "id": "d9bafed4-0b18-4f58-968d-86655b4d2ce9",
250 "versionSpec": "1.*",
251 "definitionType": "task"
254 "filename": "msbuild",
255 "arguments": "src\\publish.proj /t:PublishPackages /p:__PublishPackages=true $(FeedPublishArguments) /fileloggerparameters:Verbosity=diag;LogFile=publishpkg.log",
256 "workingFolder": "$(Pipeline.SourcesDirectory)",
257 "failOnStandardError": "false"
263 "continueOnError": false,
265 "displayName": "Symbol Packages -> Blob Feed",
266 "timeoutInMinutes": 0,
267 "condition": "and(succeeded(), contains(variables.PB_PublishType, 'blob'), eq(variables.ConfigurationGroup, 'Release'))",
270 "id": "d9bafed4-0b18-4f58-968d-86655b4d2ce9",
271 "versionSpec": "1.*",
272 "definitionType": "task"
275 "filename": "msbuild",
276 "arguments": "src\\publish.proj /t:PublishSymbolPackages /p:__PublishSymbols=true $(FeedPublishArguments) /fileloggerparameters:Verbosity=diag;LogFile=publishsympkg.log",
277 "workingFolder": "$(Pipeline.SourcesDirectory)",
278 "failOnStandardError": "false"
284 "continueOnError": false,
286 "displayName": "Create VSTS auth NuGet.Config",
287 "timeoutInMinutes": 0,
290 "id": "e213ff0f-5d5c-4791-802d-52ea3e7be1f1",
291 "versionSpec": "1.*",
292 "definitionType": "task"
295 "scriptType": "inlineScript",
297 "arguments": "$(VstsAuthedNuGetConfigPath) $(VstsFeedUrl) $(VstsPat)",
299 "inlineScript": "param($path, $url, $pat)\n\nSet-Content $path @\"\n<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<configuration>\n <packageSources>\n <add key=\"vsts-dotnet-core\" value=\"$url\" />\n </packageSources>\n <packageSourceCredentials>\n <vsts-dotnet-core>\n <add key=\"Username\" value=\"VssSessionToken\" />\n <add key=\"ClearTextPassword\" value=\"$pat\" />\n </vsts-dotnet-core>\n </packageSourceCredentials>\n</configuration>\n\"@",
300 "failOnStandardError": "true"
306 "continueOnError": false,
308 "displayName": "packages -> VSTS",
309 "timeoutInMinutes": 0,
312 "id": "e213ff0f-5d5c-4791-802d-52ea3e7be1f1",
313 "versionSpec": "1.*",
314 "definitionType": "task"
317 "scriptType": "inlineScript",
321 "inlineScript": "if ($env:ConfigurationGroup -ne \"Release\") { exit }\n& $env:CustomNuGetPath push $env:Pipeline.SourcesDirectory\\packages\\AzureTransfer\\$env:ConfigurationGroup\\$env:AzureContainerPackageGlob placeholderapikey -Source vsts-dotnet-core -ConfigFile $env:VstsAuthedNuGetConfigPath -Timeout 3600",
322 "failOnStandardError": "true"
328 "continueOnError": false,
330 "displayName": "Update versions repository",
331 "timeoutInMinutes": 0,
332 "condition": "and(succeeded(), contains(variables.PB_PublishType, 'versions'), eq(variables.ConfigurationGroup, 'Release'))",
335 "id": "e213ff0f-5d5c-4791-802d-52ea3e7be1f1",
336 "versionSpec": "1.*",
337 "definitionType": "task"
340 "scriptType": "inlineScript",
342 "arguments": "-gitHubAuthToken $(UpdatePublishedVersions.AuthToken) -root $(Pipeline.SourcesDirectory) -configGroup $(ConfigurationGroup)",
344 "inlineScript": "param($gitHubAuthToken, $root, $configGroup)\nif ($configGroup -ne \"Release\" ) { exit }\ncd $root\n. $root\\UpdatePublishedVersions.ps1 `\n -gitHubUser dotnet-build-bot -gitHubEmail dotnet-build-bot@microsoft.com `\n -gitHubAuthToken $gitHubAuthToken `\n -versionsRepoOwner $env:VersionsRepoOwner -versionsRepo versions `\n -versionsRepoPath build-info/dotnet/$env:GitHubRepositoryName/$env:SourceBranch `\n -nupkgPath $root\\packages\\AzureTransfer\\$env:ConfigurationGroup\\$env:AzureContainerPackageGlob",
345 "failOnStandardError": "true"
351 "continueOnError": false,
353 "displayName": "Get Build Number",
354 "timeoutInMinutes": 0,
357 "id": "e213ff0f-5d5c-4791-802d-52ea3e7be1f1",
358 "versionSpec": "1.*",
359 "definitionType": "task"
362 "scriptType": "inlineScript",
364 "arguments": "$(OfficialBuildId) $(Pipeline.SourcesDirectory)",
366 "inlineScript": "param(\n [string]$OfficialBuildId,\n [string]$SourcesDir\n)\n$VersionPropsFile=$SourcesDir + \"\\bin\\obj\\BuildVersion-\" + $OfficialBuildId + \".props\"\n[xml]$versionXml=Get-Content $VersionPropsFile\n$env:BuildNumber=$versionXml.Project.PropertyGroup.BuildNumberMajor.InnerText + \".\" + $versionXml.Project.PropertyGroup.BuildNumberMinor.InnerText\nWrite-Host (\"##vso[task.setvariable variable=BuildNumber;]$env:BuildNumber\")",
367 "failOnStandardError": "true"
373 "continueOnError": true,
375 "displayName": "Publish to Artifact Services Drop (OfficialBuildId)",
376 "timeoutInMinutes": 0,
377 "refName": "PublishBuildArtifacts1",
379 "id": "f9d96d25-0c81-4e77-8282-1ad1f785cbb4",
380 "versionSpec": "0.*",
381 "definitionType": "task"
384 "dropServiceURI": "https://devdiv.artifacts.visualstudio.com/DefaultCollection",
385 "buildNumber": "dotnet/$(GitHubRepositoryName)/$(SourceBranch)/$(OfficialBuildId)/packages/$(ConfigurationGroup)",
386 "sourcePath": "$(Pipeline.SourcesDirectory)\\packages\\AzureTransfer\\$(ConfigurationGroup)",
388 "toLowerCase": "true",
389 "detailedLog": "false",
392 "dropMetadataContainerName": "Drop-OfficialBuildId"
398 "continueOnError": true,
400 "displayName": "Publish to Artifact Services Drop (BuildNumber)",
401 "timeoutInMinutes": 0,
402 "refName": "PublishBuildArtifacts2",
404 "id": "f9d96d25-0c81-4e77-8282-1ad1f785cbb4",
405 "versionSpec": "0.*",
406 "definitionType": "task"
409 "dropServiceURI": "https://devdiv.artifacts.visualstudio.com/DefaultCollection",
410 "buildNumber": "dotnet/$(GitHubRepositoryName)/$(SourceBranch)/$(BuildNumber)/packages/$(ConfigurationGroup)",
411 "sourcePath": "$(Pipeline.SourcesDirectory)\\packages\\AzureTransfer\\$(ConfigurationGroup)",
413 "toLowerCase": "true",
414 "detailedLog": "false",
417 "dropMetadataContainerName": "Drop-BuildNumber"
423 "continueOnError": true,
425 "displayName": "Copy Files to: $(Build.StagingDirectory)\\DebugLogs",
426 "timeoutInMinutes": 0,
427 "condition": "succeededOrFailed()",
428 "refName": "CopyFiles1",
430 "id": "5bfb729a-a7c8-4a78-a7c3-8d717bb7c13c",
431 "versionSpec": "2.*",
432 "definitionType": "task"
435 "SourceFolder": "$(Pipeline.SourcesDirectory)",
436 "Contents": "**/*.log",
437 "TargetFolder": "$(Build.StagingDirectory)\\DebugLogs",
438 "CleanTargetFolder": "false",
439 "OverWrite": "false",
440 "flattenFolders": "false"
446 "continueOnError": true,
448 "displayName": "Publish Artifact: DebugLogs",
449 "timeoutInMinutes": 0,
450 "condition": "succeededOrFailed()",
451 "refName": "PublishBuildArtifacts3",
453 "id": "2ff763a7-ce83-4e1f-bc89-0ae63477cebe",
454 "versionSpec": "1.*",
455 "definitionType": "task"
458 "PathtoPublish": "$(Build.StagingDirectory)\\DebugLogs",
459 "ArtifactName": "DebugLogs",
460 "ArtifactType": "Container",
461 "TargetPath": "\\\\my\\share\\$(Build.DefinitionName)\\$(Build.BuildNumber)",
469 "continueOnError": false,
471 "displayName": "Send Telemetry",
472 "timeoutInMinutes": 0,
473 "condition": "always()",
476 "id": "521a94ea-9e68-468a-8167-6dcf361ea776",
477 "versionSpec": "1.*",
478 "definitionType": "task"
487 "id": "a9db38f9-9fdc-478c-b0f9-464221e58316"
490 "workItemType": "234347",
491 "assignToRequestor": "true",
492 "additionalFields": "{}"
498 "id": "57578776-4c22-4526-aeb0-86b6da17ee9c"
501 "additionalFields": "{}"
507 "id": "5d58cc01-7c75-450c-be18-a388ddb129ec"
510 "branchFilters": "[\"+refs/heads/*\"]",
511 "additionalFields": "{}"
518 "allowOverride": true
520 "ConfigurationGroup": {
521 "value": "$(PB_BuildType)",
522 "allowOverride": true
525 "value": "DotNetCore"
527 "CloudDropAccountName": {
528 "value": "dotnetbuildoutput",
529 "allowOverride": true
531 "CloudDropAccessToken": {
533 "allowOverride": true,
536 "AzureBlobFeedAccountName": {
537 "value": "dotnetfeed",
538 "allowOverride": true
540 "AzureBlobFeedAccessToken": {
542 "allowOverride": true,
545 "AzureBlobFeedContainerName": {
546 "value": "dotnet-core",
547 "allowOverride": true
550 "value": "$(Build.BuildNumber)",
551 "allowOverride": true
554 "value": "$(Build.BuildNumber)",
555 "allowOverride": true
558 "value": "https://dotnet.myget.org/F/dotnet-core-test/api/v2/package",
559 "allowOverride": true
563 "allowOverride": true,
567 "value": "https://devdiv.pkgs.visualstudio.com/DefaultCollection/_packaging/dotnet-core-test/nuget/v3/index.json",
568 "allowOverride": true
572 "allowOverride": true,
575 "VstsAuthedNuGetConfigPath": {
576 "value": "$(Build.StagingDirectory)\\VstsAuthed.NuGet.Config"
578 "UpdatePublishedVersions.AuthToken": {
580 "allowOverride": true,
583 "VersionsRepoOwner": {
585 "allowOverride": true
587 "BuildConfiguration": {
594 "value": "https://devdiv.vsrm.visualstudio.com/DefaultCollection",
595 "allowOverride": true
597 "ReleaseProjectName": {
599 "allowOverride": true
601 "ReleaseDefinitionId": {
603 "allowOverride": true
605 "ManualReleaseName": {
615 "value": "\\\\fake\\symbol\\root"
618 "value": "Fake-Windows Fake-Windows-Native"
620 "CreateRequestContacts": {
623 "VstsReleaseAccessToken": {
625 "allowOverride": true,
628 "Pipeline.SourcesDirectory": {
629 "value": "$(Build.BinariesDirectory)\\pipelineRepository"
633 "allowOverride": true
635 "VstsRepositoryName": {
636 "value": "DotNet-CoreFX-Trusted",
637 "allowOverride": true
640 "value": "https://$(VstsAccountName):$(VstsRepoPat)@devdiv.visualstudio.com/DevDiv/_git/$(VstsRepositoryName)/"
644 "allowOverride": true,
649 "allowOverride": true
653 "allowOverride": true
655 "AzureContainerPackageGlob": {
656 "value": "pkg\\*.nupkg",
657 "allowOverride": true
659 "AzureContainerSymbolPackageGlob": {
660 "value": "symbolpkg\\*.nupkg",
661 "allowOverride": true
663 "SymbolPackageLocation": {
664 "value": "symbolpkg\\*.nupkg",
665 "allowOverride": true
667 "GitHubRepositoryName": {
669 "allowOverride": true
671 "UseLegacyBuildScripts": {
673 "allowOverride": true
675 "FeedPublishArguments": {
676 "value": "$(PB_BuildOutputManifestArguments) /p:ExpectedFeedUrl=$(PB_PublishBlobFeedUrl) /p:CloudDropAccessToken=$(PB_PublishBlobFeedKey) /p:CloudDropAccountName=$(AzureBlobFeedAccountName) /p:ContainerName=$(AzureBlobFeedContainerName) /p:OverwriteOnPublish=true /p:PackagesPatternDir=../packages/AzureTransfer/Release/ /p:__BuildType=$(ConfigurationGroup) /p:OfficialPublish=true /p:PublishFlatContainer=false"
678 "PB_SymbolCatalogCertificateId": {
683 "allowOverride": true
685 "PB_PublishBlobFeedUrl": {
687 "allowOverride": true
689 "PB_PublishBlobFeedKey": {
691 "allowOverride": true
693 "PB_BuildOutputManifestArguments": {
694 "value": "/p:ManifestBuildId=$(OfficialBuildId) /p:ManifestBranch=$(SourceBranch) /p:ManifestCommit=$(SourceVersion)"
703 "artifactTypesToDelete": [
709 "deleteBuildRecord": true,
710 "deleteTestResults": true
713 "buildNumberFormat": "$(date:yyyyMMdd)$(rev:-rr)",
714 "jobAuthorizationScope": "projectCollection",
715 "jobTimeoutInMinutes": 180,
716 "jobCancelTimeoutInMinutes": 5,
720 "reportBuildStatus": "false",
722 "gitLfsSupport": "false",
723 "skipSyncSource": "false",
725 "checkoutNestedSubmodules": "false",
726 "labelSourcesFormat": "$(build.buildNumber)"
728 "id": "0a2b2664-c1be-429c-9b40-8a24dee27a4a",
730 "name": "DotNet-BuildPipeline",
731 "url": "https://devdiv.visualstudio.com/DevDiv/_git/DotNet-BuildPipeline",
732 "defaultBranch": "refs/heads/master",
734 "checkoutSubmodules": false
736 "processParameters": {},
737 "quality": "definition",
741 "name": "DotNet-Build",
744 "name": "DotNet-Build"
748 "name": "DotNet-Trusted-Publish",
751 "queueStatus": "enabled",
753 "id": "0bdbc590-a062-4c3f-b0f6-9383f67865ee",
755 "description": "Visual Studio and DevDiv team project for git source code repositories. Work items will be added for Adams, Dev14 work items are tracked in vstfdevdiv. ",
756 "url": "https://devdiv.visualstudio.com/DefaultCollection/_apis/projects/0bdbc590-a062-4c3f-b0f6-9383f67865ee",
757 "state": "wellFormed",
758 "revision": 418098432,
759 "visibility": "organization"