@@ -4,7 +4,6 @@ on: [push, pull_request]
44
55jobs :
66 build :
7-
87 runs-on : ${{ matrix.os }}
98
109 strategy :
@@ -13,12 +12,15 @@ jobs:
1312 os : [windows-latest, ubuntu-22.04, macos-latest]
1413
1514 steps :
15+ # Prerequisites
1616 - name : Install tools
1717 if : matrix.os == 'ubuntu-22.04'
1818 run : sudo apt-get -yq install mono-vbnc dos2unix
1919 - uses : actions/checkout@v4
2020 with :
2121 submodules : true
22+
23+ # Setup .NET
2224 - name : Setup .NET 6.0
2325 uses : actions/setup-dotnet@v4
2426 with :
@@ -31,26 +33,59 @@ jobs:
3133 uses : actions/setup-dotnet@v4
3234 with :
3335 dotnet-version : ' 9.0.x'
36+
37+ # CI debug information
3438 - name : Version Information
3539 run : |
3640 dotnet --info
3741 try { msbuild -version } catch { }
3842 try { mono --version } catch { }
3943 shell : pwsh
44+
45+ # Build & package
4046 - name : Build
4147 run : pwsh make.ps1
4248 - name : Package
4349 run : pwsh make.ps1 package
50+
51+ # Upload package
4452 - uses : actions/upload-artifact@v4
4553 with :
4654 name : packages-${{ matrix.os }}
4755 path : Package/Release/Packages
48- - name : Test (net462)
49- run : ./make.ps1 -frameworks net462 test-all
50- shell : pwsh
51- - name : Test (net6.0)
52- run : ./make.ps1 -frameworks net6.0 test-all
53- shell : pwsh
54- - name : Test (net8.0)
55- run : ./make.ps1 -frameworks net8.0 test-all
56+
57+ test :
58+ runs-on : ${{ matrix.os }}
59+
60+ strategy :
61+ fail-fast : false
62+ matrix :
63+ os : [windows-latest, ubuntu-22.04, macos-latest]
64+ framework : ['net462', 'net6.0', 'net8.0']
65+
66+ steps :
67+ # Prerequisites
68+ - uses : actions/checkout@v4
69+ with :
70+ submodules : true
71+
72+ # Setup .NET
73+ - name : Setup .NET 6.0
74+ uses : actions/setup-dotnet@v4
75+ with :
76+ dotnet-version : ' 6.0.x'
77+ - name : Setup .NET 8.0
78+ uses : actions/setup-dotnet@v4
79+ with :
80+ dotnet-version : ' 8.0.x'
81+ - name : Setup .NET 9.0
82+ uses : actions/setup-dotnet@v4
83+ with :
84+ dotnet-version : ' 9.0.x'
85+
86+ # Build & Test
87+ - name : Build
88+ run : pwsh make.ps1
89+ - name : Test (${{ matrix.framework }})
90+ run : ./make.ps1 -frameworks ${{ matrix.framework }} test-all
5691 shell : pwsh
0 commit comments