Skip to content

Commit 6779c43

Browse files
committed
Merge branch 'main' into 3.6
2 parents 1e3e04c + 5c55837 commit 6779c43

File tree

2 files changed

+162
-181
lines changed

2 files changed

+162
-181
lines changed

.vsts-ci.yml

Lines changed: 162 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1,37 +1,164 @@
11
jobs:
2+
- job: build
3+
strategy:
4+
matrix:
5+
linux:
6+
osName: 'Linux'
7+
imageName: 'ubuntu-22.04'
8+
mac:
9+
osName: 'macOS'
10+
imageName: 'macOS-latest'
11+
windows:
12+
osName: 'Windows'
13+
imageName: 'windows-latest'
214

3-
################################################################################
4-
- job: Windows
5-
################################################################################
6-
displayName: Windows
7-
timeoutInMinutes: 180
8-
pool:
9-
vmImage: windows-latest
10-
steps:
11-
- template: eng/steps.yml
12-
parameters:
13-
os: 'Windows'
14-
15-
################################################################################
16-
- job: Linux
17-
################################################################################
18-
displayName: Linux (Ubuntu)
19-
timeoutInMinutes: 180
20-
pool:
21-
vmImage: ubuntu-22.04
22-
steps:
23-
- template: eng/steps.yml
24-
parameters:
25-
os: 'Linux'
26-
27-
################################################################################
28-
- job: macOS
29-
################################################################################
30-
displayName: macOS
31-
timeoutInMinutes: 180
32-
pool:
33-
vmImage: macOS-latest
34-
steps:
35-
- template: eng/steps.yml
36-
parameters:
37-
os: 'macOS'
15+
displayName: Build
16+
timeoutInMinutes: 180
17+
pool:
18+
vmImage: $(imageName)
19+
20+
steps:
21+
# Prerequisites
22+
- checkout: self
23+
submodules: true
24+
25+
- task: Bash@3
26+
displayName: Install tools
27+
inputs:
28+
targetType: inline
29+
script: |
30+
sudo apt-get -yq install dos2unix
31+
condition: eq(variables.osName, 'Linux')
32+
33+
# Setup .NET
34+
- task: UseDotNet@2
35+
displayName: Install .NET 9.0 SDK for build
36+
inputs:
37+
packageType: 'sdk'
38+
version: '9.0.x'
39+
40+
# Display version info
41+
- task: PowerShell@2
42+
displayName: Version Information
43+
inputs:
44+
targetType: inline
45+
script: |
46+
dotnet --info
47+
try { msbuild -version } catch { }
48+
try { mono --version } catch { }
49+
50+
# Build & Package
51+
- powershell: ./make.ps1
52+
displayName: Build
53+
54+
- powershell: ./make.ps1 package
55+
displayName: Package
56+
57+
- task: CopyFiles@2
58+
displayName: Copy Build Logs
59+
inputs:
60+
Contents: '*.binlog'
61+
TargetFolder: '$(Build.ArtifactStagingDirectory)'
62+
condition: and(succeededOrFailed(), eq(variables['system.pullrequest.isfork'], false))
63+
64+
- task: CopyFiles@2
65+
displayName: Copy Packages
66+
inputs:
67+
SourceFolder: '$(Build.Repository.LocalPath)/Package/Release/Packages'
68+
Contents: |
69+
**/*.nupkg
70+
**/*.snupkg
71+
**/*.zip
72+
**/*.msi
73+
**/*.deb
74+
**/*.pkg
75+
TargetFolder: '$(Build.ArtifactStagingDirectory)'
76+
condition: and(succeededOrFailed(), eq(variables['system.pullrequest.isfork'], false))
77+
78+
- task: PublishBuildArtifacts@1
79+
displayName: Publish Artifacts
80+
inputs:
81+
ArtifactName: '$(osName) Artifacts'
82+
condition: and(succeededOrFailed(), eq(variables['system.pullrequest.isfork'], false))
83+
84+
- job: test
85+
strategy:
86+
matrix:
87+
linux_net462:
88+
osName: Linux
89+
imageName: ubuntu-22.04
90+
framework: net462
91+
linux_net6_0:
92+
osName: Linux
93+
imageName: ubuntu-22.04
94+
framework: net6.0
95+
linux_net8_0:
96+
osName: Linux
97+
imageName: ubuntu-22.04
98+
framework: net8.0
99+
macos_net462:
100+
osName: macOS
101+
imageName: macOS-latest
102+
framework: net462
103+
macos_net6_0:
104+
osName: macOS
105+
imageName: macOS-latest
106+
framework: net6.0
107+
macos_net8_0:
108+
osName: macOS
109+
imageName: macOS-latest
110+
framework: net8.0
111+
windows_net462:
112+
osName: Windows
113+
imageName: windows-latest
114+
framework: net462
115+
windows_net6_0:
116+
osName: Windows
117+
imageName: windows-latest
118+
framework: net6.0
119+
windows_net8_0:
120+
osName: Windows
121+
imageName: windows-latest
122+
framework: net8.0
123+
124+
displayName: Test
125+
timeoutInMinutes: 180
126+
pool:
127+
vmImage: $(imageName)
128+
129+
steps:
130+
# Prerequisites
131+
- checkout: self
132+
submodules: true
133+
134+
# Setup .NET
135+
- task: UseDotNet@2
136+
displayName: Install .NET 6.0 runtime for testing
137+
inputs:
138+
packageType: 'runtime'
139+
version: '6.0.x'
140+
- task: UseDotNet@2
141+
displayName: Install .NET 8.0 runtime for testing
142+
inputs:
143+
packageType: 'runtime'
144+
version: '8.0.x'
145+
- task: UseDotNet@2
146+
displayName: Install .NET 9.0 SDK for build
147+
inputs:
148+
packageType: 'sdk'
149+
version: '9.0.x'
150+
151+
# Build & Test
152+
- powershell: ./make.ps1
153+
displayName: Build
154+
- powershell: ./make.ps1 -frameworks $(framework) test-all
155+
displayName: Test ($(framework))
156+
157+
- task: PublishTestResults@2
158+
displayName: Publish Test Results
159+
inputs:
160+
testRunner: VSTest
161+
testResultsFiles: '**/*.trx'
162+
mergeTestResults: true
163+
testRunTitle: $(osName) - $(framework)
164+
condition: succeededOrFailed()

eng/steps.yml

Lines changed: 0 additions & 146 deletions
This file was deleted.

0 commit comments

Comments
 (0)