@@ -4,21 +4,24 @@ on: [push, pull_request]
44
55jobs :
66 build :
7-
87 runs-on : ${{ matrix.os }}
98
109 strategy :
1110 fail-fast : false
1211 matrix :
1312 os : [windows-latest, ubuntu-22.04, macos-latest]
13+ framework : ['net462', 'net6.0', 'net8.0']
1414
1515 steps :
16+ # Prerequisites
1617 - name : Install tools
1718 if : matrix.os == 'ubuntu-22.04'
1819 run : sudo apt-get -yq install mono-vbnc dos2unix
1920 - uses : actions/checkout@v4
2021 with :
2122 submodules : true
23+
24+ # Setup .NET
2225 - name : Setup .NET 6.0
2326 uses : actions/setup-dotnet@v4
2427 with :
@@ -31,26 +34,57 @@ jobs:
3134 uses : actions/setup-dotnet@v4
3235 with :
3336 dotnet-version : ' 9.0.x'
37+
38+ # CI debug information
3439 - name : Version Information
3540 run : |
3641 dotnet --info
3742 try { msbuild -version } catch { }
3843 try { mono --version } catch { }
3944 shell : pwsh
45+
46+ # Build & package
4047 - name : Build
41- run : pwsh make.ps1
48+ run : pwsh make.ps1 -frameworks ${{ matrix.framework }}
4249 - name : Package
43- run : pwsh make.ps1 package
50+ run : pwsh make.ps1 package -frameworks ${{ matrix.framework }}
51+
52+ # Upload package
4453 - uses : actions/upload-artifact@v4
4554 with :
46- name : packages-${{ matrix.os }}
55+ name : packages-${{ matrix.os }}-${{ matrix.framework }}
4756 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
57+
58+ test :
59+ runs-on : ${{ matrix.os }}
60+
61+ strategy :
62+ fail-fast : false
63+ matrix :
64+ os : [windows-latest, ubuntu-22.04, macos-latest]
65+ framework : ['net462', 'net6.0', 'net8.0']
66+
67+ steps :
68+ # Prerequisites
69+ - uses : actions/checkout@v4
70+ with :
71+ submodules : true
72+
73+ # Setup .NET
74+ - name : Setup .NET ${{ matrix.framework }}
75+ uses : actions/setup-dotnet@v4
76+ with :
77+ dotnet-version : ' 6.0.x'
78+ - name : Setup .NET 8.0
79+ uses : actions/setup-dotnet@v4
80+ with :
81+ dotnet-version : ' 8.0.x'
82+ - name : Setup .NET 9.0
83+ uses : actions/setup-dotnet@v4
84+ with :
85+ dotnet-version : ' 9.0.x'
86+
87+ # Test action
88+ - name : Test (${{ matrix.framework }})
89+ run : ./make.ps1 -frameworks ${{ matrix.framework }} test-all
5690 shell : pwsh
0 commit comments