|
| 1 | +queue: |
| 2 | +name:VSEng-MicroBuildVS2017 |
| 3 | +timeoutInMinutes:300 |
| 4 | +demands: |
| 5 | + -visualstudio |
| 6 | + -DotNetFramework |
| 7 | + -msbuild |
| 8 | + |
| 9 | +variables: |
| 10 | +MSBuildConfiguration:'Release' |
| 11 | + |
| 12 | +steps: |
| 13 | +# Install Signing Plugin |
| 14 | +-task:ms-vseng.MicroBuildTasks.30666190-6959-11e5-9f96-f56098202fef.MicroBuildSigningPlugin@1 |
| 15 | +displayName:Install Signing Plugin |
| 16 | +inputs: |
| 17 | +signType:real |
| 18 | +condition:and(succeeded(), in(variables['PB_SignType'], 'test', 'real')) |
| 19 | + |
| 20 | +# Install Swix Plugin |
| 21 | +-task:ms-vseng.MicroBuildTasks.32f78468-e895-4f47-962c-58a699361df8.MicroBuildSwixPlugin@1 |
| 22 | +displayName:Install Swix Plugin |
| 23 | + |
| 24 | +# Run build.cmd |
| 25 | +-task:CmdLine@1 |
| 26 | +displayName:Run build.cmd |
| 27 | +inputs: |
| 28 | +filename:build.cmd |
| 29 | +arguments:microbuild |
| 30 | + |
| 31 | +# Publish nightly package to MyGet |
| 32 | +-task:PowerShell@1 |
| 33 | +displayName:Publish nightly package to MyGet |
| 34 | +inputs: |
| 35 | +scriptName:'setup\publish-assets.ps1' |
| 36 | +arguments:'-binariesPath $(MSBuildConfiguration) -branchName $(Build.SourceBranch) -apiKey $(FSharp.MyGetApiKey)' |
| 37 | +condition:and(succeeded(), contains(variables['PB_PublishType'], 'myget'), in(variables['Build.SourceBranchName'], 'master', 'dev15.7', 'dev15.8')) |
| 38 | + |
| 39 | +# Publish packages to Azure Blob Storage |
| 40 | +-task:MSBuild@1 |
| 41 | +displayName:Publish packages to Azure Blob Storage |
| 42 | +inputs: |
| 43 | +solution:PublishToBlob.proj |
| 44 | +msbuildArguments:'/t:Build /p:ExpectedFeedUrl=$(PB_PublishBlobFeedUrl) /p:AccountKey=$(PB_PublishBlobFeedKey) /p:ManifestBranch=$(SourceBranch) /p:ManifestCommit=$(SourceVersion) /p:ManifestBuildId=$(OfficialBuildId)' |
| 45 | +condition:and(succeeded(), contains(variables['PB_PublishType'], 'blob')) |
| 46 | + |
| 47 | +# Run BinSkim |
| 48 | +-task:securedevelopmentteam.vss-secure-development-tools.build-task-binskim.BinSkim@3 |
| 49 | +displayName:Run BinSkim |
| 50 | +inputs: |
| 51 | +arguments:'analyze "$(MSBuildConfiguration)\*.dll" "$(MSBuildConfiguration)\*.exe" --recurse --output "$(MSBuildConfiguration)\artifacts"' |
| 52 | +continueOnError:true |
| 53 | + |
| 54 | +# Create static drop |
| 55 | +-task:PublishBuildArtifacts@1 |
| 56 | +displayName:Create static drop |
| 57 | +inputs: |
| 58 | +PathtoPublish:'$(MSBuildConfiguration)' |
| 59 | +ArtifactName:'$(Build.BuildNumber)' |
| 60 | +publishLocation:FilePath |
| 61 | +TargetPath:'$(DropRoot)\$(Build.DefinitionName)\$(Build.SourceBranchName)' |
| 62 | +Parallel:true |
| 63 | +ParallelCount:64 |
| 64 | +condition:and(succeeded(), contains(variables['PB_PublishType'], 'drop')) |
| 65 | + |
| 66 | +# Publish symbols |
| 67 | +-task:PublishSymbols@1 |
| 68 | +displayName:Publish symbols |
| 69 | +inputs: |
| 70 | +SymbolsPath:'$(DropRoot)\$(Build.DefinitionName)\$(Build.SourceBranchName)\$(Build.BuildNumber)\Symbols' |
| 71 | +SearchPattern:'**\*.dll;**\*.exe;**\*.pdb' |
| 72 | +SymbolsFolder:'$(Build.SourcesDirectory)\$(MSBuildConfiguration)' |
| 73 | +TreatNotIndexedAsWarning:true |
| 74 | +SymbolsProduct:'$(Build.DefinitionName)' |
| 75 | +SymbolsVersion:'$(Build.BuildNumber)' |
| 76 | +continueOnError:true |
| 77 | +condition:and(succeeded(), contains(variables['PB_PublishType'], 'symbols')) |
| 78 | + |
| 79 | +# Upload VSTS Drop |
| 80 | +-task:ms-vseng.MicroBuildTasks.4305a8de-ba66-4d8b-b2d1-0dc4ecbbf5e8.MicroBuildUploadVstsDropFolder@1 |
| 81 | +displayName:Upload VSTS Drop |
| 82 | +inputs: |
| 83 | +DropFolder:'$(Build.SourcesDirectory)\$(MSBuildConfiguration)\insertion' |
| 84 | +condition:and(succeeded(), contains(variables['PB_PublishType'], 'vsts')) |
| 85 | + |
| 86 | +# Execute cleanup tasks |
| 87 | +-task:ms-vseng.MicroBuildTasks.521a94ea-9e68-468a-8167-6dcf361ea776.MicroBuildCleanup@1 |
| 88 | +displayName:Execute cleanup tasks |
| 89 | +condition:succeededOrFailed() |
| 90 | + |
| 91 | +# Publish Artifact: MicroBuildOutputs |
| 92 | +-task:PublishBuildArtifacts@1 |
| 93 | +displayName:'Publish Artifact: MicroBuildOutputs' |
| 94 | +inputs: |
| 95 | +PathtoPublish:'$(Build.StagingDirectory)\MicroBuild\Output' |
| 96 | +ArtifactName:MicroBuildOutputs |
| 97 | +publishLocation:Container |
| 98 | +condition:and(succeeded(), contains(variables['PB_PublishType'], 'microbuild')) |
| 99 | + |
| 100 | +# Publish Symbols to Symweb |
| 101 | +-task:ms-vscs-artifact.build-tasks.artifactSymbolTask-1.artifactSymbolTask@0 |
| 102 | +displayName:Publish symbols to SymWeb |
| 103 | +inputs: |
| 104 | +symbolServiceURI:'https://microsoft.artifacts.visualstudio.com/DefaultCollection' |
| 105 | +sourcePath:'$(DropRoot)\$(Build.DefinitionName)\$(Build.SourceBranchName)\$(Build.BuildNumber)\Symbols' |
| 106 | +usePat:false |
| 107 | +condition:and(succeeded(), contains(variables['PB_PublishType'], 'symweb')) |