Skip to content

Commit 8b68357

Browse files
author
Oren Novotny
committed
add linux job
1 parent f13de50 commit 8b68357

File tree

1 file changed

+137
-75
lines changed

1 file changed

+137
-75
lines changed

azure-pipelines.rx.yml

Lines changed: 137 additions & 75 deletions
Original file line numberDiff line numberDiff line change
@@ -20,83 +20,145 @@ pr:
2020
- .editorconfig
2121
- azure-pipelines.rx.yml
2222

23-
pool:
24-
vmImage: vs2017-win2016
23+
jobs:
24+
- job: Build
25+
pool:
26+
vmImage: vs2017-win2016
2527

26-
variables:
27-
BuildConfiguration: Release
28-
BuildPlatform: Any CPU
28+
variables:
29+
BuildConfiguration: Release
30+
BuildPlatform: Any CPU
31+
32+
steps:
33+
- task: DotNetCoreInstaller@0
34+
inputs:
35+
version: '3.0.100-preview-009812'
36+
37+
- task: DotNetCoreCLI@2
38+
inputs:
39+
command: custom
40+
custom: tool
41+
arguments: install --tool-path . nbgv
42+
displayName: Install NBGV tool
43+
44+
- script: nbgv cloud -a -p Rx.NET\Source
45+
displayName: Set Version
46+
47+
- task: MSBuild@1
48+
displayName: Build System.Reactive.sln
49+
inputs:
50+
solution: Rx.NET/Source/System.Reactive.sln
51+
msbuildArguments: /restore /t:build /p:CreatePackage=true /p:NoPackageAnalysis=true /p:PackageOutputPath=$(Build.ArtifactStagingDirectory)\artifacts
52+
platform: $(BuildPlatform)
53+
configuration: $(BuildConfiguration)
54+
maximumCpuCount: true
55+
56+
- task: NuGetCommand@2
57+
displayName: Pack compatibility package
58+
inputs:
59+
command: custom
60+
arguments: pack Rx.NET/Source/facades/System.Reactive.Compatibility.nuspec -Version $(NBGV_NuGetPackageVersion) -MinClientVersion 2.12 -NoPackageAnalysis -outputdirectory $(Build.ArtifactStagingDirectory)\artifacts
61+
62+
- task: MSBuild@1
63+
displayName: Build for Test (ppdb) workaround
64+
inputs:
65+
solution: Rx.NET/Source/System.Reactive.sln
66+
msbuildArguments: /t:build /p:DebugType=portable
67+
platform: $(BuildPlatform)
68+
configuration: $(BuildConfiguration)
69+
maximumCpuCount: true
70+
71+
- task: DotNetCoreCLI@2
72+
inputs:
73+
command: test
74+
projects: Rx.NET/Source/tests/Tests.System.Reactive/*.csproj
75+
arguments: -c $(BuildConfiguration) --no-build --no-restore --filter "SkipCI!=true" --collect:"Code Coverage" -s $(System.DefaultWorkingDirectory)/Rx.NET/Source/CodeCoverage.runsettings
76+
displayName: Run Unit Tests
77+
78+
- task: DotNetCoreCLI@2
79+
inputs:
80+
command: test
81+
projects: Rx.NET/Source/tests/Tests.System.Reactive.ApiApprovals/Tests.System.Reactive.ApiApprovals.csproj
82+
arguments: -c $(BuildConfiguration) --no-build --no-restore
83+
displayName: Run Api Approvals Tests
84+
85+
- task: whitesource.ws-bolt.bolt.wss.WhiteSource Bolt@18
86+
displayName: 'WhiteSource Bolt'
87+
enabled: false
2988

30-
steps:
31-
- task: DotNetCoreInstaller@0
32-
inputs:
33-
version: '3.0.100-preview-009812'
34-
35-
- task: DotNetCoreCLI@2
36-
inputs:
37-
command: custom
38-
custom: tool
39-
arguments: install --tool-path . nbgv
40-
displayName: Install NBGV tool
41-
42-
- script: nbgv cloud -a -p Rx.NET\Source
43-
displayName: Set Version
44-
45-
- task: MSBuild@1
46-
displayName: Build System.Reactive.sln
47-
inputs:
48-
solution: Rx.NET/Source/System.Reactive.sln
49-
msbuildArguments: /restore /t:build /p:CreatePackage=true /p:NoPackageAnalysis=true /p:PackageOutputPath=$(Build.ArtifactStagingDirectory)\artifacts
50-
platform: $(BuildPlatform)
51-
configuration: $(BuildConfiguration)
52-
maximumCpuCount: true
53-
54-
- task: NuGetCommand@2
55-
displayName: Pack compatibility package
56-
inputs:
57-
command: custom
58-
arguments: pack Rx.NET/Source/facades/System.Reactive.Compatibility.nuspec -Version $(NBGV_NuGetPackageVersion) -MinClientVersion 2.12 -NoPackageAnalysis -outputdirectory $(Build.ArtifactStagingDirectory)\artifacts
89+
- task: PowerShell@2
90+
displayName: Authenticode Sign Packages
91+
inputs:
92+
filePath: Rx.NET/Source/build/Sign-Package.ps1
93+
env:
94+
SignClientUser: $(SignClientUser)
95+
SignClientSecret: $(SignClientSecret)
96+
ArtifactDirectory: $(Build.ArtifactStagingDirectory)\artifacts
97+
condition: and(succeeded(), not(eq(variables['build.reason'], 'PullRequest')), not(eq(variables['SignClientSecret'], '')), not(eq(variables['SignClientUser'], '')))
98+
99+
- task: PublishBuildArtifacts@1
100+
inputs:
101+
PathtoPublish: $(Build.ArtifactStagingDirectory)\artifacts
102+
ArtifactName: artifacts
103+
publishLocation: Container
104+
105+
- job: Linux_Test
106+
dependsOn: Build
107+
pool:
108+
vmImage: ubuntu-16.04
59109

60-
- task: MSBuild@1
61-
displayName: Build for Test (ppdb) workaround
62-
inputs:
63-
solution: Rx.NET/Source/System.Reactive.sln
64-
msbuildArguments: /t:build /p:DebugType=portable
65-
platform: $(BuildPlatform)
66-
configuration: $(BuildConfiguration)
67-
maximumCpuCount: true
68-
69-
- task: DotNetCoreCLI@2
70-
inputs:
71-
command: test
72-
projects: Rx.NET/Source/tests/Tests.System.Reactive/*.csproj
73-
arguments: -c $(BuildConfiguration) --no-build --no-restore --filter "SkipCI!=true" --collect:"Code Coverage" -s $(System.DefaultWorkingDirectory)/Rx.NET/Source/CodeCoverage.runsettings
74-
displayName: Run Unit Tests
75-
76-
- task: DotNetCoreCLI@2
77-
inputs:
78-
command: test
79-
projects: Rx.NET/Source/tests/Tests.System.Reactive.ApiApprovals/Tests.System.Reactive.ApiApprovals.csproj
80-
arguments: -c $(BuildConfiguration) --no-build --no-restore
81-
displayName: Run Api Approvals Tests
82-
83-
- task: whitesource.ws-bolt.bolt.wss.WhiteSource Bolt@18
84-
displayName: 'WhiteSource Bolt'
85-
enabled: false
110+
variables:
111+
BuildConfiguration: Release
112+
BuildPlatform: Any CPU
86113

87-
- task: PowerShell@2
88-
displayName: Authenticode Sign Packages
89-
inputs:
90-
filePath: Rx.NET/Source/build/Sign-Package.ps1
91-
env:
92-
SignClientUser: $(SignClientUser)
93-
SignClientSecret: $(SignClientSecret)
94-
ArtifactDirectory: $(Build.ArtifactStagingDirectory)\artifacts
95-
condition: and(succeeded(), not(eq(variables['build.reason'], 'PullRequest')), not(eq(variables['SignClientSecret'], '')), not(eq(variables['SignClientUser'], '')))
96-
97-
- task: PublishBuildArtifacts@1
98-
inputs:
99-
PathtoPublish: $(Build.ArtifactStagingDirectory)\artifacts
100-
ArtifactName: artifacts
101-
publishLocation: Container
114+
steps:
115+
- task: DotNetCoreInstaller@0
116+
inputs:
117+
version: '3.0.100-preview-009812'
118+
119+
- task: DotNetCoreCLI@2
120+
inputs:
121+
command: custom
122+
custom: tool
123+
arguments: install --tool-path . nbgv
124+
displayName: Install NBGV tool
125+
126+
- script: nbgv cloud -a -p Rx.NET\Source
127+
displayName: Set Version
128+
129+
- task: DownloadBuildArtifacts@0
130+
displayName: 'Download Build Artifacts'
131+
inputs:
132+
artifactName: artifacts
133+
downloadPath: $(System.DefaultWorkingDirectory)/Rx.NET/Integration/LocalPackages
134+
135+
- task: DotNetCoreCLI@2
136+
displayName: Update Rx
137+
inputs:
138+
command: custom
139+
projects: $(System.DefaultWorkingDirectory)/Rx.NET/Integration/LinuxTests/LinuxTests.csproj
140+
custom: add
141+
arguments: package System.Reactive -v $(NBGV_NuGetPackageVersion) -s $(System.DefaultWorkingDirectory)/Rx.NET/Integration/LocalPackages
142+
143+
- task: DotNetCoreCLI@2
144+
displayName: Update Aliases
145+
inputs:
146+
command: custom
147+
projects: $(System.DefaultWorkingDirectory)/Rx.NET/Integration/LinuxTests/LinuxTests.csproj
148+
custom: add
149+
arguments: package System.Reactive.Observable.Aliases -v $(NBGV_NuGetPackageVersion) -s $(System.DefaultWorkingDirectory)/Rx.NET/Integration/LocalPackages
150+
151+
- task: DotNetCoreCLI@2
152+
displayName: Update Testing
153+
inputs:
154+
command: custom
155+
projects: $(System.DefaultWorkingDirectory)/Rx.NET/Integration/LinuxTests/LinuxTests.csproj
156+
custom: add
157+
arguments: package Microsoft.Reactive.Testing -v $(NBGV_NuGetPackageVersion) -s $(System.DefaultWorkingDirectory)/Rx.NET/Integration/LocalPackages
102158

159+
- task: DotNetCoreCLI@2
160+
inputs:
161+
command: test
162+
projects: $(System.DefaultWorkingDirectory)/Rx.NET/Integration/LinuxTests/LinuxTests.csproj
163+
arguments: -c $(BuildConfiguration)
164+
displayName: Run Tests on Linux

0 commit comments

Comments
 (0)