|
| 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')) |
0 commit comments