|
|
@@ -20,83 +20,227 @@ pr:
|
|
|
- .editorconfig
|
|
|
- azure-pipelines.rx.yml
|
|
|
|
|
|
-pool:
|
|
|
- vmImage: vs2017-win2016
|
|
|
+jobs:
|
|
|
+- job: Build
|
|
|
+ pool:
|
|
|
+ vmImage: windows-2019
|
|
|
|
|
|
-variables:
|
|
|
- BuildConfiguration: Release
|
|
|
- BuildPlatform: Any CPU
|
|
|
+ variables:
|
|
|
+ BuildConfiguration: Release
|
|
|
+ BuildPlatform: Any CPU
|
|
|
+
|
|
|
+ steps:
|
|
|
+ - task: DotNetCoreInstaller@0
|
|
|
+ inputs:
|
|
|
+ version: '3.0.100-preview4-010374'
|
|
|
+
|
|
|
+ - task: DotNetCoreCLI@2
|
|
|
+ inputs:
|
|
|
+ command: custom
|
|
|
+ custom: tool
|
|
|
+ arguments: install --tool-path . nbgv
|
|
|
+ displayName: Install NBGV tool
|
|
|
+
|
|
|
+ - script: nbgv cloud -a -p Rx.NET/Source
|
|
|
+ displayName: Set Version
|
|
|
+
|
|
|
+ - powershell: iex ((New-Object System.Net.WebClient).DownloadString('https://raw.githubusercontent.com/onovotny/UpdateVsOnAgent/master/Fix-VisualStudioPreviewNuGetSdk.ps1'))
|
|
|
+ displayName: VS Preview workaround
|
|
|
+
|
|
|
+ - task: MSBuild@1
|
|
|
+ displayName: Build System.Reactive.sln
|
|
|
+ inputs:
|
|
|
+ solution: Rx.NET/Source/System.Reactive.sln
|
|
|
+ msbuildArguments: /restore /t:build /p:CreatePackage=true /p:NoPackageAnalysis=true /p:PackageOutputPath=$(Build.ArtifactStagingDirectory)\artifacts
|
|
|
+ configuration: $(BuildConfiguration)
|
|
|
+ maximumCpuCount: true
|
|
|
+
|
|
|
+ - task: NuGetCommand@2
|
|
|
+ displayName: Pack compatibility package
|
|
|
+ inputs:
|
|
|
+ command: custom
|
|
|
+ arguments: pack Rx.NET/Source/facades/System.Reactive.Compatibility.nuspec -Version $(NBGV_NuGetPackageVersion) -MinClientVersion 2.12 -NoPackageAnalysis -outputdirectory $(Build.ArtifactStagingDirectory)\artifacts
|
|
|
|
|
|
-steps:
|
|
|
-- task: DotNetCoreInstaller@0
|
|
|
- inputs:
|
|
|
- version: '3.0.100-preview-009812'
|
|
|
-
|
|
|
-- task: DotNetCoreCLI@2
|
|
|
- inputs:
|
|
|
- command: custom
|
|
|
- custom: tool
|
|
|
- arguments: install --tool-path . nbgv
|
|
|
- displayName: Install NBGV tool
|
|
|
-
|
|
|
-- script: nbgv cloud -a -p Rx.NET\Source
|
|
|
- displayName: Set Version
|
|
|
-
|
|
|
-- task: MSBuild@1
|
|
|
- displayName: Build System.Reactive.sln
|
|
|
- inputs:
|
|
|
- solution: Rx.NET/Source/System.Reactive.sln
|
|
|
- msbuildArguments: /restore /t:build /p:CreatePackage=true /p:NoPackageAnalysis=true /p:PackageOutputPath=$(Build.ArtifactStagingDirectory)\artifacts
|
|
|
- platform: $(BuildPlatform)
|
|
|
- configuration: $(BuildConfiguration)
|
|
|
- maximumCpuCount: true
|
|
|
-
|
|
|
-- task: NuGetCommand@2
|
|
|
- displayName: Pack compatibility package
|
|
|
- inputs:
|
|
|
- command: custom
|
|
|
- arguments: pack Rx.NET/Source/facades/System.Reactive.Compatibility.nuspec -Version $(NBGV_NuGetPackageVersion) -MinClientVersion 2.12 -NoPackageAnalysis -outputdirectory $(Build.ArtifactStagingDirectory)\artifacts
|
|
|
+ - task: MSBuild@1
|
|
|
+ displayName: Build for Test (ppdb) workaround
|
|
|
+ inputs:
|
|
|
+ solution: Rx.NET/Source/System.Reactive.sln
|
|
|
+ msbuildArguments: /t:build /p:DebugType=portable
|
|
|
+ platform: $(BuildPlatform)
|
|
|
+ configuration: $(BuildConfiguration)
|
|
|
+ maximumCpuCount: true
|
|
|
+
|
|
|
+ - task: DotNetCoreCLI@2
|
|
|
+ inputs:
|
|
|
+ command: test
|
|
|
+ projects: Rx.NET/Source/tests/Tests.System.Reactive/*.csproj
|
|
|
+ arguments: -c $(BuildConfiguration) --no-build --no-restore --filter "SkipCI!=true" --collect:"Code Coverage" -s $(System.DefaultWorkingDirectory)/Rx.NET/Source/CodeCoverage.runsettings
|
|
|
+ displayName: Run Unit Tests
|
|
|
+
|
|
|
+ - task: DotNetCoreCLI@2
|
|
|
+ inputs:
|
|
|
+ command: test
|
|
|
+ projects: Rx.NET/Source/tests/Tests.System.Reactive.ApiApprovals/Tests.System.Reactive.ApiApprovals.csproj
|
|
|
+ arguments: -c $(BuildConfiguration) --no-build --no-restore
|
|
|
+ displayName: Run Api Approvals Tests
|
|
|
+
|
|
|
+
|
|
|
+ - task: PowerShell@2
|
|
|
+ displayName: Authenticode Sign Packages
|
|
|
+ inputs:
|
|
|
+ filePath: Rx.NET/Source/build/Sign-Package.ps1
|
|
|
+ env:
|
|
|
+ SignClientUser: $(SignClientUser)
|
|
|
+ SignClientSecret: $(SignClientSecret)
|
|
|
+ ArtifactDirectory: $(Build.ArtifactStagingDirectory)\artifacts
|
|
|
+ condition: and(succeeded(), not(eq(variables['build.reason'], 'PullRequest')), not(eq(variables['SignClientSecret'], '')), not(eq(variables['SignClientUser'], '')))
|
|
|
+
|
|
|
+ - task: PublishBuildArtifacts@1
|
|
|
+ inputs:
|
|
|
+ PathtoPublish: $(Build.ArtifactStagingDirectory)\artifacts
|
|
|
+ ArtifactName: artifacts
|
|
|
+ publishLocation: Container
|
|
|
+ condition: always()
|
|
|
+
|
|
|
+- job: Integration_Linux_Tests
|
|
|
+ dependsOn: Build
|
|
|
+ pool:
|
|
|
+ vmImage: ubuntu-16.04
|
|
|
+
|
|
|
+ variables:
|
|
|
+ BuildConfiguration: Release
|
|
|
+ BuildPlatform: Any CPU
|
|
|
+
|
|
|
+ steps:
|
|
|
+ - task: DotNetCoreInstaller@0
|
|
|
+ inputs:
|
|
|
+ version: '2.2.104'
|
|
|
+
|
|
|
+ - task: DotNetCoreCLI@2
|
|
|
+ inputs:
|
|
|
+ command: custom
|
|
|
+ custom: tool
|
|
|
+ arguments: install --tool-path . nbgv
|
|
|
+ displayName: Install NBGV tool
|
|
|
+
|
|
|
+ - script: ./nbgv cloud -a -p Rx.NET/Source
|
|
|
+ displayName: Set Version
|
|
|
+
|
|
|
+ - task: DotNetCoreInstaller@0
|
|
|
+ inputs:
|
|
|
+ version: '3.0.100-preview4-010374'
|
|
|
+
|
|
|
+ - task: DownloadBuildArtifacts@0
|
|
|
+ displayName: 'Download Build Artifacts'
|
|
|
+ inputs:
|
|
|
+ artifactName: artifacts
|
|
|
+ downloadPath: $(System.DefaultWorkingDirectory)/Rx.NET/Integration/LocalPackages
|
|
|
+
|
|
|
+ - script: mv $(System.DefaultWorkingDirectory)/Rx.NET/Integration/LocalPackages/artifacts/*.* $(System.DefaultWorkingDirectory)/Rx.NET/Integration/LocalPackages
|
|
|
+ displayName: Move packages to LocalPackages directory
|
|
|
+
|
|
|
+ - task: DotNetCoreCLI@2
|
|
|
+ displayName: Update Rx
|
|
|
+ inputs:
|
|
|
+ command: custom
|
|
|
+ projects: $(System.DefaultWorkingDirectory)/Rx.NET/Integration/LinuxTests/LinuxTests.csproj
|
|
|
+ custom: add
|
|
|
+ arguments: package System.Reactive -v $(NBGV_NuGetPackageVersion) -s $(System.DefaultWorkingDirectory)/Rx.NET/Integration/LocalPackages
|
|
|
+
|
|
|
+ - task: DotNetCoreCLI@2
|
|
|
+ displayName: Update Aliases
|
|
|
+ inputs:
|
|
|
+ command: custom
|
|
|
+ projects: $(System.DefaultWorkingDirectory)/Rx.NET/Integration/LinuxTests/LinuxTests.csproj
|
|
|
+ custom: add
|
|
|
+ arguments: package System.Reactive.Observable.Aliases -v $(NBGV_NuGetPackageVersion) -s $(System.DefaultWorkingDirectory)/Rx.NET/Integration/LocalPackages
|
|
|
+
|
|
|
+ - task: DotNetCoreCLI@2
|
|
|
+ displayName: Update Testing
|
|
|
+ inputs:
|
|
|
+ command: custom
|
|
|
+ projects: $(System.DefaultWorkingDirectory)/Rx.NET/Integration/LinuxTests/LinuxTests.csproj
|
|
|
+ custom: add
|
|
|
+ arguments: package Microsoft.Reactive.Testing -v $(NBGV_NuGetPackageVersion) -s $(System.DefaultWorkingDirectory)/Rx.NET/Integration/LocalPackages
|
|
|
+
|
|
|
+ - task: DotNetCoreCLI@2
|
|
|
+ inputs:
|
|
|
+ command: test
|
|
|
+ projects: $(System.DefaultWorkingDirectory)/Rx.NET/Integration/LinuxTests/LinuxTests.csproj
|
|
|
+ arguments: -c $(BuildConfiguration) -f netcoreapp3.0
|
|
|
+ displayName: Run 3.0 Tests on Linux
|
|
|
+
|
|
|
+ - task: DotNetCoreInstaller@0
|
|
|
+ inputs:
|
|
|
+ version: '2.2.104'
|
|
|
+
|
|
|
+ - task: DotNetCoreCLI@2
|
|
|
+ inputs:
|
|
|
+ command: test
|
|
|
+ projects: $(System.DefaultWorkingDirectory)/Rx.NET/Integration/LinuxTests/LinuxTests.csproj
|
|
|
+ arguments: -c $(BuildConfiguration) -f netcoreapp2.1 /p:TargetFrameworks=netcoreapp2.1
|
|
|
+ displayName: Run 2.1 Tests on Linux
|
|
|
+
|
|
|
+- job: Integration_WindowsDesktop_Tests
|
|
|
+ dependsOn: Build
|
|
|
+ pool:
|
|
|
+ vmImage: windows-2019
|
|
|
|
|
|
-- task: MSBuild@1
|
|
|
- displayName: Build for Test (ppdb) workaround
|
|
|
- inputs:
|
|
|
- solution: Rx.NET/Source/System.Reactive.sln
|
|
|
- msbuildArguments: /t:build /p:DebugType=portable
|
|
|
- platform: $(BuildPlatform)
|
|
|
- configuration: $(BuildConfiguration)
|
|
|
- maximumCpuCount: true
|
|
|
-
|
|
|
-- task: DotNetCoreCLI@2
|
|
|
- inputs:
|
|
|
- command: test
|
|
|
- projects: Rx.NET/Source/tests/Tests.System.Reactive/*.csproj
|
|
|
- arguments: -c $(BuildConfiguration) --no-build --no-restore --filter "SkipCI!=true" --collect:"Code Coverage" -s $(System.DefaultWorkingDirectory)/Rx.NET/Source/CodeCoverage.runsettings
|
|
|
- displayName: Run Unit Tests
|
|
|
-
|
|
|
-- task: DotNetCoreCLI@2
|
|
|
- inputs:
|
|
|
- command: test
|
|
|
- projects: Rx.NET/Source/tests/Tests.System.Reactive.ApiApprovals/Tests.System.Reactive.ApiApprovals.csproj
|
|
|
- arguments: -c $(BuildConfiguration) --no-build --no-restore
|
|
|
- displayName: Run Api Approvals Tests
|
|
|
-
|
|
|
-- task: whitesource.ws-bolt.bolt.wss.WhiteSource Bolt@18
|
|
|
- displayName: 'WhiteSource Bolt'
|
|
|
- enabled: false
|
|
|
+ variables:
|
|
|
+ BuildConfiguration: Release
|
|
|
+ BuildPlatform: Any CPU
|
|
|
|
|
|
-- task: PowerShell@2
|
|
|
- displayName: Authenticode Sign Packages
|
|
|
- inputs:
|
|
|
- filePath: Rx.NET/Source/build/Sign-Package.ps1
|
|
|
- env:
|
|
|
- SignClientUser: $(SignClientUser)
|
|
|
- SignClientSecret: $(SignClientSecret)
|
|
|
- ArtifactDirectory: $(Build.ArtifactStagingDirectory)\artifacts
|
|
|
- condition: and(succeeded(), not(eq(variables['build.reason'], 'PullRequest')), not(eq(variables['SignClientSecret'], '')), not(eq(variables['SignClientUser'], '')))
|
|
|
-
|
|
|
-- task: PublishBuildArtifacts@1
|
|
|
- inputs:
|
|
|
- PathtoPublish: $(Build.ArtifactStagingDirectory)\artifacts
|
|
|
- ArtifactName: artifacts
|
|
|
- publishLocation: Container
|
|
|
+ steps:
|
|
|
+ - task: DotNetCoreInstaller@0
|
|
|
+ inputs:
|
|
|
+ version: '3.0.100-preview4-010374'
|
|
|
+
|
|
|
+ - task: DotNetCoreCLI@2
|
|
|
+ inputs:
|
|
|
+ command: custom
|
|
|
+ custom: tool
|
|
|
+ arguments: install --tool-path . nbgv
|
|
|
+ displayName: Install NBGV tool
|
|
|
+
|
|
|
+ - script: nbgv cloud -a -p Rx.NET/Source
|
|
|
+ displayName: Set Version
|
|
|
+
|
|
|
+ - task: DownloadBuildArtifacts@0
|
|
|
+ displayName: 'Download Build Artifacts'
|
|
|
+ inputs:
|
|
|
+ artifactName: artifacts
|
|
|
+ downloadPath: $(System.DefaultWorkingDirectory)/Rx.NET/Integration/LocalPackages
|
|
|
+
|
|
|
+ - powershell: mv $(System.DefaultWorkingDirectory)/Rx.NET/Integration/LocalPackages/artifacts/*.* $(System.DefaultWorkingDirectory)/Rx.NET/Integration/LocalPackages
|
|
|
+ displayName: Move packages to LocalPackages directory
|
|
|
+
|
|
|
+ - task: DotNetCoreCLI@2
|
|
|
+ displayName: Update Rx
|
|
|
+ inputs:
|
|
|
+ command: custom
|
|
|
+ projects: $(System.DefaultWorkingDirectory)/Rx.NET/Integration/WindowsDesktopTests/WindowsDesktopTests.csproj
|
|
|
+ custom: add
|
|
|
+ arguments: package System.Reactive -v $(NBGV_NuGetPackageVersion) -s $(System.DefaultWorkingDirectory)/Rx.NET/Integration/LocalPackages
|
|
|
+
|
|
|
+ - task: DotNetCoreCLI@2
|
|
|
+ displayName: Update Aliases
|
|
|
+ inputs:
|
|
|
+ command: custom
|
|
|
+ projects: $(System.DefaultWorkingDirectory)/Rx.NET/Integration/WindowsDesktopTests/WindowsDesktopTests.csproj
|
|
|
+ custom: add
|
|
|
+ arguments: package System.Reactive.Observable.Aliases -v $(NBGV_NuGetPackageVersion) -s $(System.DefaultWorkingDirectory)/Rx.NET/Integration/LocalPackages
|
|
|
+
|
|
|
+ - task: DotNetCoreCLI@2
|
|
|
+ displayName: Update Testing
|
|
|
+ inputs:
|
|
|
+ command: custom
|
|
|
+ projects: $(System.DefaultWorkingDirectory)/Rx.NET/Integration/WindowsDesktopTests/WindowsDesktopTests.csproj
|
|
|
+ custom: add
|
|
|
+ arguments: package Microsoft.Reactive.Testing -v $(NBGV_NuGetPackageVersion) -s $(System.DefaultWorkingDirectory)/Rx.NET/Integration/LocalPackages
|
|
|
|
|
|
+ - task: DotNetCoreCLI@2
|
|
|
+ inputs:
|
|
|
+ command: test
|
|
|
+ projects: $(System.DefaultWorkingDirectory)/Rx.NET/Integration/WindowsDesktopTests/WindowsDesktopTests.csproj
|
|
|
+ arguments: -c $(BuildConfiguration)
|
|
|
+ displayName: Run 3.0 Tests on WindowDesktop
|