.vsts.rx-shared.yml 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. parameters:
  2. signStep: []
  3. steps:
  4. - task: DotNetCoreInstaller@0
  5. inputs:
  6. version: '2.1.400-preview-008975'
  7. - task: NuGetToolInstaller@0
  8. displayName: Use NuGet 4.7.0
  9. inputs:
  10. versionSpec: 4.7.0
  11. - task: DotNetCoreCLI@2
  12. inputs:
  13. command: build
  14. projects: Rx.NET/Source/build/setversion.csproj
  15. arguments: -c $(BuildConfiguration)
  16. displayName: Set Version
  17. condition: eq(variables['system.pullrequest.isfork'], false)
  18. - task: VSBuild@1
  19. displayName: Build System.Reactive.sln
  20. inputs:
  21. solution: Rx.NET/Source/System.Reactive.sln
  22. vsVersion: 15.0
  23. msbuildArgs: /restore /t:build /p:CreatePackage=true /p:NoPackageAnalysis=true /p:PackageOutputPath=$(Build.ArtifactStagingDirectory)\artifacts
  24. platform: $(BuildPlatform)
  25. configuration: $(BuildConfiguration)
  26. maximumCpuCount: true
  27. - task: NuGetCommand@2
  28. displayName: Pack compatibility package
  29. inputs:
  30. command: custom
  31. arguments: pack Rx.NET/Source/facades/System.Reactive.Compatibility.nuspec -Version $(NBGV_NuGetPackageVersion) -MinClientVersion 2.12 -NoPackageAnalysis -outputdirectory $(Build.ArtifactStagingDirectory)\artifacts
  32. condition: eq(variables['system.pullrequest.isfork'], false)
  33. - task: VSBuild@1
  34. displayName: Build for Test (ppdb) workaround
  35. inputs:
  36. solution: Rx.NET/Source/System.Reactive.sln
  37. vsVersion: 15.0
  38. msbuildArgs: /t:build /p:DebugType=portable
  39. platform: $(BuildPlatform)
  40. configuration: $(BuildConfiguration)
  41. maximumCpuCount: true
  42. - task: DotNetCoreCLI@2
  43. inputs:
  44. command: test
  45. projects: Rx.NET/Source/tests/Tests.System.Reactive/*.csproj
  46. arguments: -c $(BuildConfiguration) --no-build --no-restore --filter "SkipCI!=true" --collect:"Code Coverage" -s $(System.DefaultWorkingDirectory)/Rx.NET/Source/CodeCoverage.runsettings
  47. displayName: Run Unit Tests
  48. - task: DotNetCoreCLI@2
  49. inputs:
  50. command: test
  51. projects: Rx.NET/Source/tests/Tests.System.Reactive.ApiApprovals/Tests.System.Reactive.ApiApprovals.csproj
  52. arguments: -c $(BuildConfiguration) --no-build --no-restore
  53. displayName: Run Api Approvals Tests
  54. - ${{ parameters.signStep }}
  55. - task: PublishBuildArtifacts@1
  56. inputs:
  57. PathtoPublish: $(Build.ArtifactStagingDirectory)\artifacts
  58. ArtifactName: artifacts
  59. publishLocation: Container
  60. condition: eq(variables['system.pullrequest.isfork'], false)