Skip to content

Commit b69b586

Browse files
authored
Multi-Target .NET 8 (#455)
1 parent 88df0d5 commit b69b586

33 files changed

+626
-189
lines changed

.appveyor.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ install:
1313
- ps: '& "$($env:DOTNET_INSTALL_DIR)/dotnet-install.ps1" -Version 5.0.408 -InstallDir $env:DOTNET_INSTALL_DIR'
1414
- ps: '& "$($env:DOTNET_INSTALL_DIR)/dotnet-install.ps1" -Version 6.0.417 -InstallDir $env:DOTNET_INSTALL_DIR'
1515
- ps: '& "$($env:DOTNET_INSTALL_DIR)/dotnet-install.ps1" -Version 7.0.404 -InstallDir $env:DOTNET_INSTALL_DIR'
16+
- ps: '& "$($env:DOTNET_INSTALL_DIR)/dotnet-install.ps1" -Version 8.0.100 -InstallDir $env:DOTNET_INSTALL_DIR'
1617
- ps: $env:Path = "$env:DOTNET_INSTALL_DIR;$env:Path"
1718
- ps: dotnet --info
1819

azure-pipelines.yml

Lines changed: 205 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -16,16 +16,23 @@ jobs:
1616
pool:
1717
vmImage: 'windows-2022'
1818
steps:
19+
# .NET 5 required for GitVersion
1920
- task: UseDotNet@2
2021
inputs:
21-
version: '7.x'
22+
version: '5.x'
23+
displayName: 'Install .NET 5'
2224
- task: UseDotNet@2
2325
inputs:
2426
version: '6.x'
25-
# .NET 5 required for GitVersion
27+
displayName: 'Install .NET 6'
2628
- task: UseDotNet@2
2729
inputs:
28-
version: '5.x'
30+
version: '7.x'
31+
displayName: 'Install .NET 7'
32+
- task: UseDotNet@2
33+
inputs:
34+
version: '8.x'
35+
displayName: 'Install .NET 8'
2936
- powershell: |
3037
$ENV:CAKE_SKIP_GITVERSION=([string]::IsNullOrEmpty($ENV:SYSTEM_PULLREQUEST_PULLREQUESTID) -eq $False).ToString()
3138
.\build.ps1
@@ -41,16 +48,23 @@ jobs:
4148
pool:
4249
vmImage: 'macOS-11'
4350
steps:
51+
# .NET 5 required for GitVersion
4452
- task: UseDotNet@2
4553
inputs:
46-
version: '7.x'
54+
version: '5.x'
55+
displayName: 'Install .NET 5'
4756
- task: UseDotNet@2
4857
inputs:
4958
version: '6.x'
50-
# .NET 5 required for GitVersion
59+
displayName: 'Install .NET 6'
5160
- task: UseDotNet@2
5261
inputs:
53-
version: '5.x'
62+
version: '7.x'
63+
displayName: 'Install .NET 7'
64+
- task: UseDotNet@2
65+
inputs:
66+
version: '8.x'
67+
displayName: 'Install .NET 8'
5468
- bash: |
5569
./build.sh
5670
displayName: 'Cake Build'
@@ -64,16 +78,23 @@ jobs:
6478
pool:
6579
vmImage: 'ubuntu-20.04'
6680
steps:
81+
# .NET 5 required for GitVersion
6782
- task: UseDotNet@2
6883
inputs:
69-
version: '7.x'
84+
version: '5.x'
85+
displayName: 'Install .NET 5'
7086
- task: UseDotNet@2
7187
inputs:
7288
version: '6.x'
73-
# .NET 5 required for GitVersion
89+
displayName: 'Install .NET 6'
7490
- task: UseDotNet@2
7591
inputs:
76-
version: '5.x'
92+
version: '7.x'
93+
displayName: 'Install .NET 7'
94+
- task: UseDotNet@2
95+
inputs:
96+
version: '8.x'
97+
displayName: 'Install .NET 8'
7798
- bash: |
7899
./build.sh --verbosity=diagnostic
79100
displayName: 'Cake Build'
@@ -82,7 +103,7 @@ jobs:
82103
displayName: 'Publish NuGet package as build artifact'
83104

84105
# Integration Tests Frosting Windows (.NET 6)
85-
- job: Test_Frosting_Windows_Net5
106+
- job: Test_Frosting_Windows_Net6
86107
displayName: Integration Tests Frosting Windows (.NET 6)
87108
dependsOn: Build_Windows
88109
pool:
@@ -96,6 +117,10 @@ jobs:
96117
sourceFolder: $(Pipeline.Workspace)/NuGet Package Windows
97118
targetFolder: $(Build.SourcesDirectory)/BuildArtifacts/Packages/NuGet
98119
displayName: 'Copy build artifact for test run'
120+
- task: UseDotNet@2
121+
inputs:
122+
version: '6.x'
123+
displayName: 'Install .NET 6'
99124
- powershell: ./build.ps1 --verbosity=diagnostic
100125
workingDirectory: ./tests/frosting/net6.0
101126
displayName: 'Run integration tests'
@@ -117,12 +142,41 @@ jobs:
117142
sourceFolder: $(Pipeline.Workspace)/NuGet Package Windows
118143
targetFolder: $(Build.SourcesDirectory)/BuildArtifacts/Packages/NuGet
119144
displayName: 'Copy build artifact for test run'
145+
- task: UseDotNet@2
146+
inputs:
147+
version: '7.x'
148+
displayName: 'Install .NET 7'
120149
- powershell: ./build.ps1 --verbosity=diagnostic
121150
workingDirectory: ./tests/frosting/net7.0
122151
displayName: 'Run integration tests'
123152
env:
124153
SYSTEM_ACCESSTOKEN: $(System.AccessToken)
125154

155+
# Integration Tests Frosting Windows (.NET 8)
156+
- job: Test_Frosting_Windows_Net8
157+
displayName: Integration Tests Frosting Windows (.NET 8)
158+
dependsOn: Build_Windows
159+
pool:
160+
vmImage: 'windows-2022'
161+
steps:
162+
- download: current
163+
artifact: NuGet Package Windows
164+
displayName: 'Download build artifact'
165+
- task: CopyFiles@2
166+
inputs:
167+
sourceFolder: $(Pipeline.Workspace)/NuGet Package Windows
168+
targetFolder: $(Build.SourcesDirectory)/BuildArtifacts/Packages/NuGet
169+
displayName: 'Copy build artifact for test run'
170+
- task: UseDotNet@2
171+
inputs:
172+
version: '8.x'
173+
displayName: 'Install .NET 8'
174+
- powershell: ./build.ps1 --verbosity=diagnostic
175+
workingDirectory: ./tests/frosting/net8.0
176+
displayName: 'Run integration tests'
177+
env:
178+
SYSTEM_ACCESSTOKEN: $(System.AccessToken)
179+
126180
# Integration Tests Script Runner Windows (.NET 6)
127181
- job: Test_Script_Runner_Windows_Net6
128182
displayName: Integration Tests Script Runner Windows (.NET 6)
@@ -138,6 +192,10 @@ jobs:
138192
sourceFolder: $(Pipeline.Workspace)/NuGet Package Windows
139193
targetFolder: $(Build.SourcesDirectory)/BuildArtifacts/Packages/NuGet
140194
displayName: 'Copy build artifact for test run'
195+
- task: UseDotNet@2
196+
inputs:
197+
version: '6.x'
198+
displayName: 'Install .NET 6'
141199
- powershell: ./build.ps1 --verbosity=diagnostic
142200
workingDirectory: ./tests/script-runner/net6.0
143201
displayName: 'Run integration tests'
@@ -159,12 +217,41 @@ jobs:
159217
sourceFolder: $(Pipeline.Workspace)/NuGet Package Windows
160218
targetFolder: $(Build.SourcesDirectory)/BuildArtifacts/Packages/NuGet
161219
displayName: 'Copy build artifact for test run'
220+
- task: UseDotNet@2
221+
inputs:
222+
version: '7.x'
223+
displayName: 'Install .NET 7'
162224
- powershell: ./build.ps1 --verbosity=diagnostic
163225
workingDirectory: ./tests/script-runner/net7.0
164226
displayName: 'Run integration tests'
165227
env:
166228
SYSTEM_ACCESSTOKEN: $(System.AccessToken)
167229

230+
# Integration Tests Script Runner Windows (.NET 8)
231+
- job: Test_Script_Runner_Windows_Net8
232+
displayName: Integration Tests Script Runner Windows (.NET 8)
233+
dependsOn: Build_Windows
234+
pool:
235+
vmImage: 'windows-2022'
236+
steps:
237+
- download: current
238+
artifact: NuGet Package Windows
239+
displayName: 'Download build artifact'
240+
- task: CopyFiles@2
241+
inputs:
242+
sourceFolder: $(Pipeline.Workspace)/NuGet Package Windows
243+
targetFolder: $(Build.SourcesDirectory)/BuildArtifacts/Packages/NuGet
244+
displayName: 'Copy build artifact for test run'
245+
- task: UseDotNet@2
246+
inputs:
247+
version: '8.x'
248+
displayName: 'Install .NET 8'
249+
- powershell: ./build.ps1 --verbosity=diagnostic
250+
workingDirectory: ./tests/script-runner/net8.0
251+
displayName: 'Run integration tests'
252+
env:
253+
SYSTEM_ACCESSTOKEN: $(System.AccessToken)
254+
168255
# Integration Tests Frosting macOS (.NET 6)
169256
- job: Test_Frosting_macOS_Net6
170257
displayName: Integration Tests Frosting macOS (.NET 6)
@@ -183,6 +270,7 @@ jobs:
183270
- task: UseDotNet@2
184271
inputs:
185272
version: '6.x'
273+
displayName: 'Install .NET 6'
186274
- bash: ./build.sh --verbosity=diagnostic
187275
workingDirectory: ./tests/frosting/net6.0
188276
displayName: 'Run integration tests'
@@ -207,12 +295,38 @@ jobs:
207295
- task: UseDotNet@2
208296
inputs:
209297
version: '7.x'
298+
displayName: 'Install .NET 7'
210299
- bash: ./build.sh --verbosity=diagnostic
211300
workingDirectory: ./tests/frosting/net7.0
212301
displayName: 'Run integration tests'
213302
env:
214303
SYSTEM_ACCESSTOKEN: $(System.AccessToken)
215304

305+
# Integration Tests Frosting macOS (.NET 8)
306+
- job: Test_Frosting_macOS_Net8
307+
displayName: Integration Tests Frosting macOS (.NET 8)
308+
dependsOn: Build_macOS
309+
pool:
310+
vmImage: 'macOS-11'
311+
steps:
312+
- download: current
313+
artifact: NuGet Package macOS
314+
displayName: 'Download build artifact'
315+
- task: CopyFiles@2
316+
inputs:
317+
sourceFolder: $(Pipeline.Workspace)/NuGet Package macOS
318+
targetFolder: $(Build.SourcesDirectory)/BuildArtifacts/Packages/NuGet
319+
displayName: 'Copy build artifact for test run'
320+
- task: UseDotNet@2
321+
inputs:
322+
version: '8.x'
323+
displayName: 'Install .NET 8'
324+
- bash: ./build.sh --verbosity=diagnostic
325+
workingDirectory: ./tests/frosting/net8.0
326+
displayName: 'Run integration tests'
327+
env:
328+
SYSTEM_ACCESSTOKEN: $(System.AccessToken)
329+
216330
# Integration Tests Script Runner macOS (.NET 6)
217331
- job: Test_Script_Runner_macOS_Net6
218332
displayName: Integration Tests Script Runner macOS (.NET 6)
@@ -231,6 +345,7 @@ jobs:
231345
- task: UseDotNet@2
232346
inputs:
233347
version: '6.x'
348+
displayName: 'Install .NET 6'
234349
- bash: ./build.sh --verbosity=diagnostic
235350
workingDirectory: ./tests/script-runner/net6.0
236351
displayName: 'Run integration tests'
@@ -255,12 +370,38 @@ jobs:
255370
- task: UseDotNet@2
256371
inputs:
257372
version: '7.x'
373+
displayName: 'Install .NET 7'
258374
- bash: ./build.sh --verbosity=diagnostic
259375
workingDirectory: ./tests/script-runner/net7.0
260376
displayName: 'Run integration tests'
261377
env:
262378
SYSTEM_ACCESSTOKEN: $(System.AccessToken)
263379

380+
# Integration Tests Script Runner macOS (.NET 8)
381+
- job: Test_Script_Runner_macOS_Net8
382+
displayName: Integration Tests Script Runner macOS (.NET 8)
383+
dependsOn: Build_macOS
384+
pool:
385+
vmImage: 'macOS-11'
386+
steps:
387+
- download: current
388+
artifact: NuGet Package macOS
389+
displayName: 'Download build artifact'
390+
- task: CopyFiles@2
391+
inputs:
392+
sourceFolder: $(Pipeline.Workspace)/NuGet Package macOS
393+
targetFolder: $(Build.SourcesDirectory)/BuildArtifacts/Packages/NuGet
394+
displayName: 'Copy build artifact for test run'
395+
- task: UseDotNet@2
396+
inputs:
397+
version: '8.x'
398+
displayName: 'Install .NET 8'
399+
- bash: ./build.sh --verbosity=diagnostic
400+
workingDirectory: ./tests/script-runner/net8.0
401+
displayName: 'Run integration tests'
402+
env:
403+
SYSTEM_ACCESSTOKEN: $(System.AccessToken)
404+
264405
# Integration Tests Frosting Ubuntu (.NET 6)
265406
- job: Test_Frosting_Ubuntu_Net6
266407
displayName: Integration Tests Frosting Ubuntu (.NET 6)
@@ -279,6 +420,7 @@ jobs:
279420
- task: UseDotNet@2
280421
inputs:
281422
version: '6.x'
423+
displayName: 'Install .NET 6'
282424
- bash: ./build.sh --verbosity=diagnostic
283425
workingDirectory: ./tests/frosting/net6.0
284426
displayName: 'Run integration tests'
@@ -303,12 +445,38 @@ jobs:
303445
- task: UseDotNet@2
304446
inputs:
305447
version: '7.x'
448+
displayName: 'Install .NET 7'
306449
- bash: ./build.sh --verbosity=diagnostic
307450
workingDirectory: ./tests/frosting/net7.0
308451
displayName: 'Run integration tests'
309452
env:
310453
SYSTEM_ACCESSTOKEN: $(System.AccessToken)
311454

455+
# Integration Tests Frosting Ubuntu (.NET 8)
456+
- job: Test_Frosting_Ubuntu_Net8
457+
displayName: Integration Tests Frosting Ubuntu (.NET 8)
458+
dependsOn: Build_Ubuntu
459+
pool:
460+
vmImage: 'ubuntu-20.04'
461+
steps:
462+
- download: current
463+
artifact: NuGet Package Ubuntu
464+
displayName: 'Download build artifact'
465+
- task: CopyFiles@2
466+
inputs:
467+
sourceFolder: $(Pipeline.Workspace)/NuGet Package Ubuntu
468+
targetFolder: $(Build.SourcesDirectory)/BuildArtifacts/Packages/NuGet
469+
displayName: 'Copy build artifact for test run'
470+
- task: UseDotNet@2
471+
inputs:
472+
version: '8.x'
473+
displayName: 'Install .NET 8'
474+
- bash: ./build.sh --verbosity=diagnostic
475+
workingDirectory: ./tests/frosting/net8.0
476+
displayName: 'Run integration tests'
477+
env:
478+
SYSTEM_ACCESSTOKEN: $(System.AccessToken)
479+
312480
# Integration Tests Script Runner Ubuntu (.NET 6)
313481
- job: Test_Script_Runner_Ubuntu_Net6
314482
displayName: Integration Tests Script Runner Ubuntu (.NET 6)
@@ -327,6 +495,7 @@ jobs:
327495
- task: UseDotNet@2
328496
inputs:
329497
version: '6.x'
498+
displayName: 'Install .NET 6'
330499
- bash: ./build.sh --verbosity=diagnostic
331500
workingDirectory: ./tests/script-runner/net6.0
332501
displayName: 'Run integration tests'
@@ -351,8 +520,34 @@ jobs:
351520
- task: UseDotNet@2
352521
inputs:
353522
version: '7.x'
523+
displayName: 'Install .NET 7'
354524
- bash: ./build.sh --verbosity=diagnostic
355525
workingDirectory: ./tests/script-runner/net7.0
356526
displayName: 'Run integration tests'
357527
env:
358528
SYSTEM_ACCESSTOKEN: $(System.AccessToken)
529+
530+
# Integration Tests Script Runner Ubuntu (.NET 8)
531+
- job: Test_Script_Runner_Ubuntu_Net8
532+
displayName: Integration Tests Script Runner Ubuntu (.NET 8)
533+
dependsOn: Build_Ubuntu
534+
pool:
535+
vmImage: 'ubuntu-20.04'
536+
steps:
537+
- download: current
538+
artifact: NuGet Package Ubuntu
539+
displayName: 'Download build artifact'
540+
- task: CopyFiles@2
541+
inputs:
542+
sourceFolder: $(Pipeline.Workspace)/NuGet Package Ubuntu
543+
targetFolder: $(Build.SourcesDirectory)/BuildArtifacts/Packages/NuGet
544+
displayName: 'Copy build artifact for test run'
545+
- task: UseDotNet@2
546+
inputs:
547+
version: '8.x'
548+
displayName: 'Install .NET 8'
549+
- bash: ./build.sh --verbosity=diagnostic
550+
workingDirectory: ./tests/script-runner/net8.0
551+
displayName: 'Run integration tests'
552+
env:
553+
SYSTEM_ACCESSTOKEN: $(System.AccessToken)

global.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"sdk": {
33
"allowPrerelease": true,
4-
"version": "7.0.404",
4+
"version": "8.0.100",
55
"rollForward": "latestFeature"
66
}
77
}

0 commit comments

Comments
 (0)