Imported Upstream version 5.4.0.167

Former-commit-id: 5624ac747d633e885131e8349322922b6a59baaa
This commit is contained in:
Xamarin Public Jenkins (auto-signing)
2017-08-21 15:34:15 +00:00
parent e49d6f06c0
commit 536cd135cc
12856 changed files with 563812 additions and 223249 deletions

View File

@@ -191,7 +191,7 @@
},
"inputs": {
"filename": "docker",
"arguments": "exec -e ROOTFS_DIR $(PB_DockerContainerName) $(PB_GitDirectory)/build.sh -buildArch=$(PB_Architecture) -$(PB_ConfigurationGroup) $(PB_BuildArguments)",
"arguments": "exec -e ROOTFS_DIR $(PB_DockerContainerName) $(PB_GitDirectory)/build.sh -OfficialBuildId=$(OfficialBuildId) $(PB_BuildArguments)",
"workingFolder": "",
"failOnStandardError": "false"
}
@@ -209,7 +209,7 @@
},
"inputs": {
"filename": "docker",
"arguments": "exec $(PB_DockerContainerName) $(PB_GitDirectory)/publish-packages.sh -AzureAccount=$(PB_CloudDropAccountName) -AzureToken=$(CloudDropAccessToken) -Container=$(PB_Label) -verbose -- /p:OverwriteOnPublish=true",
"arguments": "exec $(PB_DockerContainerName) $(PB_GitDirectory)/publish-packages.sh -AzureAccount=$(PB_CloudDropAccountName) -AzureToken=$(CloudDropAccessToken) -Container=$(PB_Label) -verbose -- /p:OverwriteOnPublish=false",
"workingFolder": "",
"failOnStandardError": "false"
}
@@ -416,7 +416,7 @@
"value": "/crossrootfs/$(PB_Architecture)",
"allowOverride": true
},
"portableLinux": {
"portableBuild": {
"value": ""
},
"PB_CleanAgent": {
@@ -424,8 +424,7 @@
}
},
"demands": [
"Agent.OS -equals linux",
"Docker -equals 1.13.1"
"Agent.OS -equals linux"
],
"retentionRules": [
{
@@ -460,7 +459,7 @@
"name": "DotNet-CoreFX-Trusted",
"url": "https://devdiv.visualstudio.com/DevDiv/_git/DotNet-CoreFX-Trusted",
"defaultBranch": "refs/heads/master",
"clean": "true",
"clean": "false",
"checkoutSubmodules": false
},
"quality": "definition",

View File

@@ -191,7 +191,7 @@
},
"inputs": {
"filename": "docker",
"arguments": "exec $(PB_DockerContainerName) $(PB_GitDirectory)/build.sh $(PB_BuildArguments)",
"arguments": "exec $(PB_DockerContainerName) $(PB_GitDirectory)/build.sh -OfficialBuildId=$(OfficialBuildId) $(PB_BuildArguments)",
"workingFolder": "",
"failOnStandardError": "false"
}
@@ -245,7 +245,7 @@
},
"inputs": {
"filename": "docker",
"arguments": "exec $(PB_DockerContainerName) $(PB_GitDirectory)/publish-packages.sh -AzureAccount=$(PB_CloudDropAccountName) -AzureToken=$(CloudDropAccessToken) -Container=$(PB_Label) -verbose -- /p:OverwriteOnPublish=true",
"arguments": "exec $(PB_DockerContainerName) $(PB_GitDirectory)/publish-packages.sh -AzureAccount=$(PB_CloudDropAccountName) -AzureToken=$(CloudDropAccessToken) -Container=$(PB_Label) -verbose -- /p:OverwriteOnPublish=false",
"workingFolder": "",
"failOnStandardError": "false"
}

View File

@@ -119,7 +119,7 @@
},
"inputs": {
"filename": "$(Agent.BuildDirectory)/s/corefx/build.sh",
"arguments": "$(PB_BuildArguments)",
"arguments": "-OfficialBuildId=$(OfficialBuildId) $(PB_BuildArguments)",
"workingFolder": "$(Agent.BuildDirectory)/s/corefx/",
"failOnStandardError": "false"
}
@@ -173,7 +173,7 @@
},
"inputs": {
"filename": "$(Agent.BuildDirectory)/s/corefx/publish-packages.sh",
"arguments": "-AzureAccount=$(PB_CloudDropAccountName) -AzureToken=$(CloudDropAccessToken) -Container=$(PB_Label) -- /p:OverwriteOnPublish=true",
"arguments": "-AzureAccount=$(PB_CloudDropAccountName) -AzureToken=$(CloudDropAccessToken) -Container=$(PB_Label) -- /p:OverwriteOnPublish=false",
"workingFolder": "$(Agent.BuildDirectory)/s/corefx/",
"failOnStandardError": "false"
}
@@ -270,9 +270,6 @@
"PB_VsoCorefxGitUrl": {
"value": "https://github.com/dotnet/corefx"
},
"Build.Clean": {
"value": "all"
},
"PB_BuildArguments": {
"value": "-buildArch=x64 -Release",
"allowOverride": true

View File

@@ -15,7 +15,7 @@
"scriptType": "inlineScript",
"scriptName": "",
"arguments": "-path $(build.SourcesDirectory)\\corefx",
"inlineScript": "param($path)\n\nif (Test-Path $path){\n # this will print out an error each time a file can't be deleted.\n Remove-Item -Recurse -Force $path\n }\n\nif (Test-Path $path){\n # in case corefx is still alive\n .\\diag_tools\\handle.exe -accepteula $path\n }",
"inlineScript": "param($path)\n\nif (Test-Path $path){\n Stop-Process -processname msbuild -ErrorAction Ignore -Verbose\n Stop-Process -processname dotnet -ErrorAction Ignore -Verbose\n Stop-Process -processname vbcscompiler -ErrorAction Ignore -Verbose\n # this will print out an error each time a file can't be deleted.\n Remove-Item -Recurse -Force $path\n }\n",
"workingFolder": "",
"failOnStandardError": "true"
}
@@ -141,7 +141,7 @@
},
"inputs": {
"filename": "$(Build.SourcesDirectory)\\corefx\\build.cmd",
"arguments": "$(PB_BuildArguments)",
"arguments": "-OfficialBuildId=$(OfficialBuildId) $(PB_BuildArguments)",
"workingFolder": "corefx",
"failOnStandardError": "false"
}
@@ -159,7 +159,7 @@
},
"inputs": {
"filename": "$(Build.SourcesDirectory)\\corefx\\publish-packages.cmd",
"arguments": "-AzureAccount=$(PB_CloudDropAccountName) -AzureToken=$(CloudDropAccessToken) -Container=$(PB_Label) -- /p:OverwriteOnPublish=true",
"arguments": "-AzureAccount=$(PB_CloudDropAccountName) -AzureToken=$(CloudDropAccessToken) -Container=$(PB_Label) -- /p:OverwriteOnPublish=false",
"workingFolder": "corefx",
"failOnStandardError": "false"
}
@@ -187,7 +187,7 @@
"enabled": true,
"continueOnError": false,
"alwaysRun": false,
"displayName": "Publish symbols path: \\\\cpvsbuild\\drops\\DotNetCore\\$(PB_SymbolsBuildIdRoot)$(System.DefinitionId)\\$(Build.BuildNumber)\\symbols",
"displayName": "Index symbol sources",
"timeoutInMinutes": 0,
"task": {
"id": "0675668a-7bba-4ccb-901d-5ad6554ca653",
@@ -195,7 +195,7 @@
"definitionType": "task"
},
"inputs": {
"SymbolsPath": "\\\\cpvsbuild\\drops\\DotNetCore\\$(PB_SymbolsBuildIdRoot)$(System.DefinitionId)\\$(Build.BuildNumber)\\symbols",
"SymbolsPath": "",
"SearchPattern": "corefx\\bin\\*$(PB_Platform).$(PB_ConfigurationGroup)\\**\\*.pdb",
"SymbolsFolder": "",
"SkipIndexing": "false",
@@ -206,45 +206,6 @@
"SymbolsArtifactName": "Symbols_$(PB_ConfigurationGroup)"
}
},
{
"enabled": true,
"continueOnError": false,
"alwaysRun": false,
"displayName": "Index symbols on http://symweb",
"timeoutInMinutes": 0,
"task": {
"id": "af503aa3-9d06-44b6-a549-d063a544a5c5",
"versionSpec": "1.*",
"definitionType": "task"
},
"inputs": {
"symbolStore": "\\\\cpvsbuild\\drops\\DotNetCore\\$(PB_SymbolsBuildIdRoot)$(System.DefinitionId)\\$(Build.BuildNumber)\\symbols",
"contacts": "jhendrix;mawilkie",
"project": "DDE"
}
},
{
"enabled": true,
"continueOnError": false,
"alwaysRun": false,
"displayName": "Publish to Symbols to Artifact Services",
"timeoutInMinutes": 0,
"task": {
"id": "29827cd1-5c33-4ff0-a817-abd46970ffc4",
"versionSpec": "0.*",
"definitionType": "task"
},
"inputs": {
"symbolServiceURI": "https://devdiv.artifacts.visualstudio.com/DefaultCollection",
"requestName": "$(system.teamProject)/$(Build.BuildNumber)/$(Build.BuildId)",
"sourcePath": "$(Build.SourcesDirectory)\\corefx\\bin",
"assemblyPath": "",
"toLowerCase": "true",
"detailedLog": "true",
"expirationInDays": "",
"usePat": "true"
}
},
{
"enabled": true,
"continueOnError": false,
@@ -370,9 +331,6 @@
"value": "HEAD",
"allowOverride": true
},
"Build.Clean": {
"value": "all"
},
"PB_VsoAccountName": {
"value": "dn-bot"
},
@@ -403,9 +361,6 @@
"PB_CleanAgent": {
"value": "true"
},
"PB_SymbolsBuildIdRoot": {
"value": "DotNet-CoreFx-"
},
"PB_SyncArguments": {
"value": "-p -- /p:ArchGroup=x64 /p:RuntimeOS=win10",
"allowOverride": true

View File

@@ -15,7 +15,7 @@
"scriptType": "inlineScript",
"scriptName": "",
"arguments": "-path $(build.SourcesDirectory)\\corefx",
"inlineScript": "param($path)\n\nif (Test-Path $path){\n # this will print out an error each time a file can't be deleted.\n Remove-Item -Recurse -Force $path\n }\n\nif (Test-Path $path){\n # in case corefx is still alive\n .\\diag_tools\\handle.exe -accepteula $path\n }",
"inlineScript": "param($path)\n\nif (Test-Path $path){\n Stop-Process -processname msbuild -ErrorAction Ignore -Verbose\n Stop-Process -processname dotnet -ErrorAction Ignore -Verbose\n Stop-Process -processname vbcscompiler -ErrorAction Ignore -Verbose\n # this will print out an error each time a file can't be deleted.\n Remove-Item -Recurse -Force $path\n }\n",
"workingFolder": "",
"failOnStandardError": "true"
}
@@ -105,7 +105,7 @@
},
"inputs": {
"filename": "$(Build.SourcesDirectory)\\corefx\\sync.cmd",
"arguments": "$(PB_SyncArguments) $(PB_OptionalToolingSyncArguments)",
"arguments": "$(PB_SyncArguments) $(PB_OptionalToolingSyncArguments) $(PB_PipelineBuildMSBuildArguments)",
"workingFolder": "corefx",
"failOnStandardError": "false"
}
@@ -141,7 +141,7 @@
},
"inputs": {
"filename": "$(Build.SourcesDirectory)\\corefx\\build.cmd",
"arguments": "$(PB_BuildArguments) $(PB_PipelineBuildMSBuildArguments)",
"arguments": "-OfficialBuildId=$(OfficialBuildId) $(PB_BuildArguments) $(PB_PipelineBuildMSBuildArguments)",
"workingFolder": "corefx",
"failOnStandardError": "false"
}
@@ -204,7 +204,7 @@
},
"inputs": {
"filename": "$(Build.SourcesDirectory)\\corefx\\publish-packages.cmd",
"arguments": "-AzureAccount=$(PB_CloudDropAccountName) -AzureToken=$(CloudDropAccessToken) -Container=$(PB_Label) -- /p:OverwriteOnPublish=true",
"arguments": "-AzureAccount=$(PB_CloudDropAccountName) -AzureToken=$(CloudDropAccessToken) -Container=$(PB_Label) -- /p:OverwriteOnPublish=false",
"workingFolder": "corefx",
"failOnStandardError": "false"
}
@@ -232,7 +232,7 @@
"enabled": true,
"continueOnError": false,
"alwaysRun": false,
"displayName": "Publish symbols path: \\\\cpvsbuild\\drops\\DotNetCore\\$(PB_SymbolsBuildIdRoot)$(System.DefinitionId)\\$(Build.BuildNumber)\\symbols",
"displayName": "Index symbol sources",
"timeoutInMinutes": 0,
"task": {
"id": "0675668a-7bba-4ccb-901d-5ad6554ca653",
@@ -240,7 +240,7 @@
"definitionType": "task"
},
"inputs": {
"SymbolsPath": "\\\\cpvsbuild\\drops\\DotNetCore\\$(PB_SymbolsBuildIdRoot)$(System.DefinitionId)\\$(Build.BuildNumber)\\symbols",
"SymbolsPath": "",
"SearchPattern": "corefx\\bin\\*$(PB_Platform).$(PB_ConfigurationGroup)\\**\\*.pdb",
"SymbolsFolder": "",
"SkipIndexing": "false",
@@ -251,45 +251,6 @@
"SymbolsArtifactName": "Symbols_$(PB_ConfigurationGroup)"
}
},
{
"enabled": true,
"continueOnError": false,
"alwaysRun": false,
"displayName": "Index symbols on http://symweb",
"timeoutInMinutes": 0,
"task": {
"id": "af503aa3-9d06-44b6-a549-d063a544a5c5",
"versionSpec": "1.*",
"definitionType": "task"
},
"inputs": {
"symbolStore": "\\\\cpvsbuild\\drops\\DotNetCore\\$(PB_SymbolsBuildIdRoot)$(System.DefinitionId)\\$(Build.BuildNumber)\\symbols",
"contacts": "jhendrix;mawilkie",
"project": "DDE"
}
},
{
"enabled": true,
"continueOnError": false,
"alwaysRun": false,
"displayName": "Publish to Symbols to Artifact Services",
"timeoutInMinutes": 0,
"task": {
"id": "29827cd1-5c33-4ff0-a817-abd46970ffc4",
"versionSpec": "0.*",
"definitionType": "task"
},
"inputs": {
"symbolServiceURI": "https://devdiv.artifacts.visualstudio.com/DefaultCollection",
"requestName": "$(system.teamProject)/$(Build.BuildNumber)/$(Build.BuildId)",
"sourcePath": "$(Build.SourcesDirectory)\\corefx\\bin",
"assemblyPath": "",
"toLowerCase": "true",
"detailedLog": "true",
"expirationInDays": "",
"usePat": "true"
}
},
{
"enabled": true,
"continueOnError": false,
@@ -350,6 +311,15 @@
}
],
"options": [
{
"enabled": false,
"definition": {
"id": "5bc3cfb7-6b54-4a4b-b5d2-a3905949f8a6"
},
"inputs": {
"additionalFields": "{}"
}
},
{
"enabled": false,
"definition": {
@@ -415,9 +385,6 @@
"value": "HEAD",
"allowOverride": true
},
"Build.Clean": {
"value": "all"
},
"PB_VsoAccountName": {
"value": "dn-bot"
},
@@ -448,9 +415,6 @@
"PB_CleanAgent": {
"value": "true"
},
"PB_SymbolsBuildIdRoot": {
"value": "DotNet-CoreFx-"
},
"PB_SyncArguments": {
"value": "-p -- /p:ArchGroup=x64 /p:RuntimeOS=win10",
"allowOverride": true
@@ -547,6 +511,6 @@
"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. ",
"url": "https://devdiv.visualstudio.com/DefaultCollection/_apis/projects/0bdbc590-a062-4c3f-b0f6-9383f67865ee",
"state": "wellFormed",
"revision": 418097568
"revision": 418097607
}
}
}

View File

@@ -0,0 +1,276 @@
{
"build": [
{
"enabled": true,
"continueOnError": false,
"alwaysRun": false,
"displayName": "Set up pipeline-specific git repository",
"timeoutInMinutes": 0,
"task": {
"id": "e213ff0f-5d5c-4791-802d-52ea3e7be1f1",
"versionSpec": "1.*",
"definitionType": "task"
},
"inputs": {
"scriptType": "inlineScript",
"scriptName": "",
"arguments": "-gitUrl $(PB_VstsRepoGitUrl) -root $(Pipeline.SourcesDirectory)",
"workingFolder": "",
"inlineScript": "param($gitUrl, $root)\n\nif (Test-Path $root)\n{\n Remove-Item -Recurse -Force $root\n}\ngit clone --no-checkout $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\")",
"failOnStandardError": "true"
}
},
{
"enabled": true,
"continueOnError": false,
"alwaysRun": false,
"displayName": "sync -ab",
"timeoutInMinutes": 0,
"task": {
"id": "e213ff0f-5d5c-4791-802d-52ea3e7be1f1",
"versionSpec": "1.*",
"definitionType": "task"
},
"inputs": {
"scriptType": "inlineScript",
"scriptName": "",
"arguments": "$(PB_CloudDropAccountName) $(CloudDropAccessToken) $(PB_Label)",
"workingFolder": "$(Pipeline.SourcesDirectory)",
"inlineScript": "param($account, $token, $container)\n.\\sync.cmd -ab -- /p:CloudDropAccountName=$account /p:CloudDropAccessToken=$token /p:ContainerName=$container",
"failOnStandardError": "false"
}
},
{
"enabled": true,
"continueOnError": false,
"alwaysRun": false,
"displayName": "Extract symbol packages; if release branch, archive",
"timeoutInMinutes": 0,
"task": {
"id": "e213ff0f-5d5c-4791-802d-52ea3e7be1f1",
"versionSpec": "1.*",
"definitionType": "task"
},
"inputs": {
"scriptType": "inlineScript",
"scriptName": "",
"arguments": "-ConfigGroup $(PB_ConfigurationGroup) -SymPkgGlob $(PB_AzureContainerSymbolPackageGlob) -Branch $(SourceBranch)",
"workingFolder": "$(Pipeline.SourcesDirectory)",
"inlineScript": "param($ConfigGroup, $SymPkgGlob, $Branch)\nif ($ConfigGroup -ne \"Release\") { exit }\n$archive = $Branch.StartsWith(\"release/\")\n\n$target = \"UnzipSymbolPackagesForPublish\"\nif ($archive) { $target = \"SubmitSymbolsRequest\" }\n\n.\\build-managed.cmd -- `\n/t:$target `\n/p:SymbolPackagesToPublishGlob=$SymPkgGlob `\n/p:ArchiveSymbols=$archive `\n/v:D",
"failOnStandardError": "true"
}
},
{
"enabled": true,
"continueOnError": false,
"alwaysRun": false,
"displayName": "Publish Symbols to Artifact Services",
"timeoutInMinutes": 0,
"task": {
"id": "29827cd1-5c33-4ff0-a817-abd46970ffc4",
"versionSpec": "0.*",
"definitionType": "task"
},
"inputs": {
"symbolServiceURI": "https://microsoft.artifacts.visualstudio.com/DefaultCollection",
"requestName": "$(system.teamProject)/$(Build.BuildNumber)/$(Build.BuildId)",
"sourcePath": "$(Pipeline.SourcesDirectory)\\bin\\obj\\SymbolsRequest\\ExtractedPackages",
"assemblyPath": "",
"toLowerCase": "true",
"detailedLog": "true",
"expirationInDays": "30",
"usePat": "false"
}
}
],
"options": [
{
"enabled": false,
"definition": {
"id": "5bc3cfb7-6b54-4a4b-b5d2-a3905949f8a6"
},
"inputs": {
"additionalFields": "{}"
}
},
{
"enabled": false,
"definition": {
"id": "7c555368-ca64-4199-add6-9ebaf0b0137d"
},
"inputs": {
"multipliers": "[]",
"parallel": "false",
"continueOnError": "true",
"additionalFields": "{}"
}
},
{
"enabled": false,
"definition": {
"id": "a9db38f9-9fdc-478c-b0f9-464221e58316"
},
"inputs": {
"workItemType": "234347",
"assignToRequestor": "true",
"additionalFields": "{}"
}
},
{
"enabled": false,
"definition": {
"id": "57578776-4c22-4526-aeb0-86b6da17ee9c"
},
"inputs": {
"additionalFields": "{}"
}
}
],
"variables": {
"system.debug": {
"value": "false",
"allowOverride": true
},
"PB_ConfigurationGroup": {
"value": "Debug",
"allowOverride": true
},
"PB_CloudDropAccountName": {
"value": "dotnetbuildoutput",
"allowOverride": true
},
"CloudDropAccessToken": {
"value": null,
"allowOverride": true,
"isSecret": true
},
"OfficialBuildId": {
"value": "$(Build.BuildNumber)",
"allowOverride": true
},
"PB_Label": {
"value": "$(Build.BuildNumber)",
"allowOverride": true
},
"PB_BuildConfiguration": {
"value": "release"
},
"PB_BuildPlatform": {
"value": "any cpu"
},
"Pipeline.SourcesDirectory": {
"value": "$(Build.BinariesDirectory)\\pipelineRepository"
},
"PB_VstsAccountName": {
"value": "dagood"
},
"PB_VstsRepositoryName": {
"value": "DotNet-CoreFX-Trusted",
"allowOverride": true
},
"PB_VstsRepoGitUrl": {
"value": "https://$(PB_VstsAccountName):$(VstsRepoPat)@devdiv.visualstudio.com/DevDiv/_git/$(PB_VstsRepositoryName)/"
},
"VstsRepoPat": {
"value": null,
"isSecret": true
},
"SourceVersion": {
"value": "master",
"allowOverride": true
},
"SourceBranch": {
"value": "master",
"allowOverride": true
},
"PB_AzureContainerSymbolPackageGlob": {
"value": "$(Pipeline.SourcesDirectory)\\packages\\AzureTransfer\\$(PB_ConfigurationGroup)\\symbols\\*.nupkg",
"allowOverride": true
},
"PB_DotNetCoreShareDir": {
"value": "passed-by-pipebuild",
"allowOverride": true
},
"SymbolsProject": {
"value": "CLR"
},
"SymbolsStatusMail": {
"value": "dagood;mawilkie"
},
"SymbolsUserName": {
"value": "dlab"
},
"SymbolsRelease": {
"value": "rtm"
},
"SymbolsProductGroup": {
"value": "Visual_Studio"
},
"SymbolsProductName": {
"value": "dotnetcore"
},
"SymbolPublishDestinationDir": {
"value": "$(PB_DotNetCoreShareDir)\\$(PB_VstsRepositoryName)\\$(PB_Label)\\"
}
},
"retentionRules": [
{
"branches": [
"+refs/heads/*"
],
"artifacts": [],
"artifactTypesToDelete": [
"FilePath",
"SymbolStore"
],
"daysToKeep": 10,
"minimumToKeep": 1,
"deleteBuildRecord": true,
"deleteTestResults": true
}
],
"buildNumberFormat": "$(date:yyyyMMdd)$(rev:-rr)",
"jobAuthorizationScope": "projectCollection",
"jobTimeoutInMinutes": 180,
"jobCancelTimeoutInMinutes": 5,
"repository": {
"properties": {
"labelSources": "0",
"reportBuildStatus": "false",
"fetchDepth": "0",
"gitLfsSupport": "false",
"skipSyncSource": "false",
"cleanOptions": "0",
"labelSourcesFormat": "$(build.buildNumber)"
},
"id": "0a2b2664-c1be-429c-9b40-8a24dee27a4a",
"type": "TfsGit",
"name": "DotNet-BuildPipeline",
"url": "https://devdiv.visualstudio.com/DevDiv/_git/DotNet-BuildPipeline",
"defaultBranch": "refs/heads/master",
"clean": "true",
"checkoutSubmodules": false
},
"processParameters": {},
"quality": "definition",
"queue": {
"id": 36,
"name": "DotNet-Build",
"pool": {
"id": 39,
"name": "DotNet-Build"
}
},
"id": -1,
"name": "DotNet-Trusted-Publish-Symbols",
"path": "\\",
"type": "build",
"project": {
"id": "0bdbc590-a062-4c3f-b0f6-9383f67865ee",
"name": "DevDiv",
"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. ",
"url": "https://devdiv.visualstudio.com/DefaultCollection/_apis/projects/0bdbc590-a062-4c3f-b0f6-9383f67865ee",
"state": "wellFormed",
"revision": 418097642
}
}

View File

@@ -1,5 +1,24 @@
{
"build": [
{
"enabled": true,
"continueOnError": false,
"alwaysRun": false,
"displayName": "Install Signing Plugin",
"timeoutInMinutes": 0,
"condition": "succeeded()",
"task": {
"id": "30666190-6959-11e5-9f96-f56098202fef",
"versionSpec": "1.*",
"definitionType": "task"
},
"inputs": {
"signType": "real",
"zipSources": "true",
"version": "",
"feedSource": "https://devdiv.pkgs.visualstudio.com/DefaultCollection/_packaging/MicroBuildToolset/nuget/v3/index.json"
}
},
{
"enabled": true,
"continueOnError": false,
@@ -79,6 +98,27 @@
"failOnStandardError": "false"
}
},
{
"enabled": true,
"continueOnError": false,
"alwaysRun": false,
"displayName": "Inject signed symbol catalogs",
"timeoutInMinutes": 0,
"condition": "succeeded()",
"task": {
"id": "e213ff0f-5d5c-4791-802d-52ea3e7be1f1",
"versionSpec": "1.*",
"definitionType": "task"
},
"inputs": {
"scriptType": "inlineScript",
"scriptName": "",
"arguments": "-ConfigGroup $(PB_ConfigurationGroup) -SymPkgGlob $(PB_AzureContainerSymbolPackageGlob) -PipelineSrcDir $(Pipeline.SourcesDirectory)",
"workingFolder": "$(Pipeline.SourcesDirectory)",
"inlineScript": "param($ConfigGroup, $SymPkgGlob, $PipelineSrcDir)\n\n.\\build-managed.cmd -- /t:InjectSignedSymbolCatalogIntoSymbolPackages `\n/p:SymbolPackagesToPublishGlob=$PipelineSrcDir\\packages\\AzureTransfer\\$ConfigGroup\\$SymPkgGlob `\n/p:SymbolCatalogCertificateId=400",
"failOnStandardError": "true"
}
},
{
"enabled": true,
"continueOnError": false,
@@ -154,7 +194,7 @@
"scriptType": "inlineScript",
"scriptName": "",
"arguments": "-ApiKey $(MyGetApiKey) -ConfigurationGroup $(PB_ConfigurationGroup) -MyGetFeedUrl $(PB_MyGetFeedUrl)",
"inlineScript": "param($ApiKey, $ConfigurationGroup, $CustomNuGetPath, $MyGetFeedUrl)\nif ($ConfigurationGroup -ne \"Release\") { exit }\n& $env:CustomNuGetPath push $env:Build_StagingDirectory\\IndexedSymbolPackages\\*.nupkg $ApiKey -Source $MyGetFeedUrl -Timeout 3600",
"inlineScript": "param($ApiKey, $ConfigurationGroup, $CustomNuGetPath, $MyGetFeedUrl)\nif ($ConfigurationGroup -ne \"Release\") { exit }\nif ($env:SourceBranch.StartsWith(\"release/\")) { exit }\n& $env:CustomNuGetPath push $env:Build_StagingDirectory\\IndexedSymbolPackages\\*.nupkg $ApiKey -Source $MyGetFeedUrl -Timeout 3600",
"workingFolder": "",
"failOnStandardError": "true"
}
@@ -221,6 +261,20 @@
"retentionDays": "",
"dropMetadataContainerName": "DropMetadata"
}
},
{
"enabled": true,
"continueOnError": false,
"alwaysRun": false,
"displayName": "Send Telemetry",
"timeoutInMinutes": 0,
"condition": "always()",
"task": {
"id": "521a94ea-9e68-468a-8167-6dcf361ea776",
"versionSpec": "1.*",
"definitionType": "task"
},
"inputs": {}
}
],
"options": [

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,53 @@
// Import the utility functionality.
import jobs.generation.JobReport;
import jobs.generation.Utilities;
import org.dotnet.ci.pipelines.Pipeline
// The input project name (e.g. dotnet/corefx)
def project = GithubProject
// The input branch name (e.g. master)
def branch = GithubBranchName
// **************************
// Define innerloop testing. These jobs run on every merge and a subset of them run on every PR, the ones
// that don't run per PR can be requested via a magic phrase.
// **************************
def linuxPipeline = Pipeline.createPipelineForGithub(this, project, branch, 'buildpipeline/portable-linux.groovy')
['netcoreapp'].each { targetGroup ->
['Debug', 'Release'].each { configurationGroup ->
['Linux x64'].each { osName ->
// Runs the portable-linux.groovy pipeline on the target Helix queues mentioned in the pipeline. Currently:
// CentOS 7.3, RedHat 7.3, Debian 8.7, Ubuntu 14.04, Ubuntu 16.04, Ubuntu 16.10, openSuSE 42.2 and Fedora 25
// One for just innerloop.
linuxPipeline.triggerPipelineOnEveryGithubPR("Portable ${osName} ${configurationGroup} Build", ['Config':configurationGroup, 'OuterLoop':false])
// Add one for outerloop
linuxPipeline.triggerPipelineOnGithubPRComment("Portable Outerloop ${osName} ${configurationGroup} Build", ['Config':configurationGroup, 'OuterLoop':true])
}
}
}
// Create a pipeline for portable windows
def windowsPipeline = Pipeline.createPipelineForGithub(this, project, branch, 'buildpipeline/portable-windows.groovy')
['netcoreapp'].each { targetGroup ->
['Debug', 'Release'].each { configurationGroup ->
['Windows x64'].each { osName ->
// Runs the portable-windows.groovy pipeline on the target Helix queues mentioned in the pipeline. Currently:
// Windows 10, Windows 7, Windows 8.1 and Windows Nano
// One for just innerloop
windowsPipeline.triggerPipelineOnEveryGithubPR("Portable ${osName} ${configurationGroup} Build", ['Config':configurationGroup, 'OuterLoop':false])
// Add one for outerloop
windowsPipeline.triggerPipelineOnGithubPRComment("Portable Outerloop ${osName} ${configurationGroup} Build", ['Config':configurationGroup, 'OuterLoop':true])
}
}
}
JobReport.Report.generateJobReport(out)
// Make the call to generate the help job
Utilities.createHelperJob(this, project, branch,
"Welcome to the ${project} Repository", // This is prepended to the help message
"Have a nice day!") // This is appended to the help message. You might put known issues here.

View File

@@ -0,0 +1,85 @@
@Library('dotnet-ci') _
// Incoming parameters. Access with "params.<param name>".
// Config - Build configuration. Note that we don't using 'Configuration' since it's used
// in the build scripts and this can cause problems.
// OuterLoop - If true, runs outerloop, if false runs just innerloop
def submittedHelixJson = null
simpleDockerNode('microsoft/dotnet-buildtools-prereqs:rhel7_prereqs_2') {
stage ('Checkout source') {
checkout scm
}
def logFolder = getLogFolder()
stage ('Initialize tools') {
try {
// Init tools
sh './init-tools.sh'
}
catch (err) {
// On errors for build tools initializations, it's useful to echo the contents of the file
// for easy diagnosis. This could also be copied to the log directory
sh 'cat init-tools.log'
// Ensure the build result is still propagated.
throw err
}
}
stage ('Generate version assets') {
// Generate the version assets. Do we need to even do this for non-official builds?
sh "./build-managed.sh -- /t:GenerateVersionSourceFile /p:GenerateVersionSourceFile=true"
}
stage ('Sync') {
sh "./sync.sh -p -- /p:ArchGroup=x64"
}
stage ('Build Product') {
sh "./build.sh -buildArch=x64 -${params.Config}"
}
stage ('Build Tests') {
def additionalArgs = ''
if (params.OuterLoop) {
additionalArgs = '-Outerloop'
}
sh "./build-tests.sh -buildArch=x64 -${params.Config} -SkipTests ${additionalArgs} -- /p:ArchiveTests=true /p:EnableDumpling=true"
}
stage ('Submit To Helix For Testing') {
// Bind the credentials
withCredentials([string(credentialsId: 'CloudDropAccessToken', variable: 'CloudDropAccessToken'),
string(credentialsId: 'OutputCloudResultsAccessToken', variable: 'OutputCloudResultsAccessToken')]) {
// Ask the CI SDK for a Helix source that makes sense. This ensures that this pipeline works for both PR and non-PR cases
def helixSource = getHelixSource()
// Ask the CI SDK for a Build that makes sense. We currently use the hash for the build
def helixBuild = getCommit()
// Get the user that should be associated with the submission
def helixCreator = getUser()
// Target queues
def targetHelixQueues = ['Centos.73.Amd64.Open',
'RedHat.73.Amd64.Open',
'Debian.87.Amd64.Open',
'Ubuntu.1404.Amd64.Open',
'Ubuntu.1604.Amd64.Open',
'Ubuntu.1610.Amd64.Open',
// 'Ubuntu.1704.Amd64.Open',
'suse.422.amd64.Open',
'fedora.25.amd64.Open']
sh "./Tools/msbuild.sh src/upload-tests.proj /p:ArchGroup=x64 /p:ConfigurationGroup=${params.Config} /p:TestProduct=corefx /p:TimeoutInSeconds=1200 /p:TargetOS=Linux /p:HelixJobType=test/functional/cli/ /p:HelixSource=${helixSource} /p:BuildMoniker=${helixBuild} /p:HelixCreator=${helixCreator} /p:CloudDropAccountName=dotnetbuilddrops /p:CloudResultsAccountName=dotnetjobresults /p:CloudDropAccessToken=\$CloudDropAccessToken /p:CloudResultsAccessToken=\$OutputCloudResultsAccessToken /p:HelixApiEndpoint=https://helix.dot.net/api/2017-04-14/jobs /p:TargetQueues=${targetHelixQueues.join('+')} /p:HelixLogFolder=${WORKSPACE}/${logFolder}/ /p:HelixCorrelationInfoFileName=SubmittedHelixRuns.txt"
submittedHelixJson = readJSON file: "${logFolder}/SubmittedHelixRuns.txt"
}
}
}
stage ('Execute Tests') {
def contextBase
if (params.OuterLoop) {
contextBase = "Linux x64 Tests w/outer - ${params.Config}"
}
else {
contextBase = "Linux x64 Tests - ${params.Config}"
}
waitForHelixRuns(submittedHelixJson, contextBase)
}

View File

@@ -0,0 +1,71 @@
@Library('dotnet-ci') _
// Incoming parameters. Access with "params.<param name>".
// Config - Build configuration. Note that we don't using 'Configuration' since it's used
// in the build scripts and this can cause problems.
// OuterLoop - If true, runs outerloop, if false runs just innerloop
def submittedHelixJson = null
simpleNode('Windows_NT','latest') {
stage ('Checkout source') {
retry (10) {
checkout scm
}
}
def logFolder = getLogFolder()
stage ('Clean') {
bat '.\\clean.cmd -all'
}
stage ('Sync') {
bat '.\\sync.cmd -p -- /p:ArchGroup=x64 /p:RuntimeOS=win10'
}
stage ('Generate Version Assets') {
bat '.\\build-managed.cmd -GenerateVersion'
}
stage ('Build Product') {
bat ".\\build.cmd -buildArch=x64 -${params.Config} -- /p:SignType=real /p:RuntimeOS=win10"
}
stage ('Build Tests') {
def additionalArgs = ''
if (params.OuterLoop) {
additionalArgs = '-Outerloop'
}
bat ".\\build-tests.cmd -buildArch=x64 -${params.Config} -SkipTests ${additionalArgs} -- /p:RuntimeOS=win10 /p:ArchiveTests=true"
}
stage ('Submit To Helix For Testing') {
// Bind the credentials
withCredentials([string(credentialsId: 'CloudDropAccessToken', variable: 'CloudDropAccessToken'),
string(credentialsId: 'OutputCloudResultsAccessToken', variable: 'OutputCloudResultsAccessToken')]) {
// Ask the CI SDK for a Helix source that makes sense. This ensures that this pipeline works for both PR and non-PR cases
def helixSource = getHelixSource()
// Ask the CI SDK for a Build that makes sense. We currently use the hash for the build
def helixBuild = getCommit()
// Get the user that should be associated with the submission
def helixCreator = getUser()
// Target queues
def targetHelixQueues = ['Windows.10.Amd64.Open',
'Windows.10.Nano.Amd64.Open',
'Windows.7.Amd64.Open',
'Windows.81.Amd64.Open']
bat "\"%VS140COMNTOOLS%\\VsDevCmd.bat\" && msbuild src\\upload-tests.proj /p:ArchGroup=x64 /p:ConfigurationGroup=${params.Config} /p:TestProduct=corefx /p:TimeoutInSeconds=1200 /p:TargetOS=Windows_NT /p:HelixJobType=test/functional/cli/ /p:HelixSource=${helixSource} /p:BuildMoniker=${helixBuild} /p:HelixCreator=${helixCreator} /p:CloudDropAccountName=dotnetbuilddrops /p:CloudResultsAccountName=dotnetjobresults /p:CloudDropAccessToken=%CloudDropAccessToken% /p:CloudResultsAccessToken=%OutputCloudResultsAccessToken% /p:HelixApiEndpoint=https://helix.dot.net/api/2017-04-14/jobs /p:TargetQueues=\"${targetHelixQueues.join(',')}\" /p:HelixLogFolder= /p:HelixLogFolder=${WORKSPACE}\\${logFolder}\\ /p:HelixCorrelationInfoFileName=SubmittedHelixRuns.txt"
submittedHelixJson = readJSON file: "${logFolder}\\SubmittedHelixRuns.txt"
}
}
}
stage ('Execute Tests') {
def contextBase
if (params.OuterLoop) {
contextBase = "Win x64 tests w/outer - ${params.Config}"
}
else {
contextBase = "Win x64 tests - ${params.Config}"
}
waitForHelixRuns(submittedHelixJson, contextBase)
}