azure-pipelines.rx.yml 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. trigger:
  2. branches:
  3. include:
  4. - master
  5. - rel/*
  6. paths:
  7. include:
  8. - Rx.NET/Source/*
  9. - .editorconfig
  10. - azure-pipelines.rx.yml
  11. pr:
  12. branches:
  13. include:
  14. - master
  15. - rel/*
  16. paths:
  17. include:
  18. - Rx.NET/Source/*
  19. - .editorconfig
  20. - azure-pipelines.rx.yml
  21. pool:
  22. vmImage: vs2017-win2016
  23. variables:
  24. BuildConfiguration: Release
  25. BuildPlatform: Any CPU
  26. steps:
  27. - task: DotNetCoreInstaller@0
  28. inputs:
  29. version: '3.0.100-preview-009812'
  30. - task: DotNetCoreCLI@2
  31. inputs:
  32. command: custom
  33. custom: tool
  34. arguments: install --tool-path . nbgv
  35. displayName: Install NBGV tool
  36. - script: nbgv cloud -a -p Rx.NET\Source
  37. displayName: Set Version
  38. - task: MSBuild@1
  39. displayName: Build System.Reactive.sln
  40. inputs:
  41. solution: Rx.NET/Source/System.Reactive.sln
  42. msbuildArguments: /restore /t:build /p:CreatePackage=true /p:NoPackageAnalysis=true /p:PackageOutputPath=$(Build.ArtifactStagingDirectory)\artifacts
  43. platform: $(BuildPlatform)
  44. configuration: $(BuildConfiguration)
  45. maximumCpuCount: true
  46. - task: NuGetCommand@2
  47. displayName: Pack compatibility package
  48. inputs:
  49. command: custom
  50. arguments: pack Rx.NET/Source/facades/System.Reactive.Compatibility.nuspec -Version $(NBGV_NuGetPackageVersion) -MinClientVersion 2.12 -NoPackageAnalysis -outputdirectory $(Build.ArtifactStagingDirectory)\artifacts
  51. - task: MSBuild@1
  52. displayName: Build for Test (ppdb) workaround
  53. inputs:
  54. solution: Rx.NET/Source/System.Reactive.sln
  55. msbuildArguments: /t:build /p:DebugType=portable
  56. platform: $(BuildPlatform)
  57. configuration: $(BuildConfiguration)
  58. maximumCpuCount: true
  59. - task: DotNetCoreCLI@2
  60. inputs:
  61. command: test
  62. projects: Rx.NET/Source/tests/Tests.System.Reactive/*.csproj
  63. arguments: -c $(BuildConfiguration) --no-build --no-restore --filter "SkipCI!=true" --collect:"Code Coverage" -s $(System.DefaultWorkingDirectory)/Rx.NET/Source/CodeCoverage.runsettings
  64. displayName: Run Unit Tests
  65. - task: DotNetCoreCLI@2
  66. inputs:
  67. command: test
  68. projects: Rx.NET/Source/tests/Tests.System.Reactive.ApiApprovals/Tests.System.Reactive.ApiApprovals.csproj
  69. arguments: -c $(BuildConfiguration) --no-build --no-restore
  70. displayName: Run Api Approvals Tests
  71. - task: whitesource.ws-bolt.bolt.wss.WhiteSource Bolt@18
  72. displayName: 'WhiteSource Bolt'
  73. enabled: false
  74. - task: PowerShell@2
  75. displayName: Authenticode Sign Packages
  76. inputs:
  77. filePath: Rx.NET/Source/build/Sign-Package.ps1
  78. env:
  79. SignClientUser: $(SignClientUser)
  80. SignClientSecret: $(SignClientSecret)
  81. ArtifactDirectory: $(Build.ArtifactStagingDirectory)\artifacts
  82. condition: and(succeeded(), not(eq(variables['build.reason'], 'PullRequest')), not(eq(variables['SignClientSecret'], '')), not(eq(variables['SignClientUser'], '')))
  83. - task: PublishBuildArtifacts@1
  84. inputs:
  85. PathtoPublish: $(Build.ArtifactStagingDirectory)\artifacts
  86. ArtifactName: artifacts
  87. publishLocation: Container