@@ -41,53 +41,34 @@ jobs:
4141
4242 strategy :
4343 matrix :
44- os : [ubuntu-latest, macos-latest, macos-13, windows-latest]
45- dotnet-version : [2.1.818, 3.0.103, 3.1.426, 5.0.408, 6.0.x, 8.0.x]
44+ os : [ ubuntu-latest, macos-latest, macos-15-intel, windows-latest ]
45+ device : [ cpu, cpu:1 ]
46+ dotnet-version : [ 2.1.x, 3.1.x, 6.0.x, 8.0.x, 10.0.x ]
4647 include :
47- - dotnet-version : 2.1.818
48- binding-framework : netstandard2.0
48+ - dotnet-version : 2.1.x
4949 test-framework : netcoreapp2.1
50- - dotnet-version : 3.0.103
51- binding-framework : netcoreapp3.0
52- test-framework : netcoreapp3.0
53- - dotnet-version : 3.1.426
54- binding-framework : netcoreapp3.0
50+ - dotnet-version : 3.1.x
5551 test-framework : netcoreapp3.1
56- - dotnet-version : 5.0.408
57- binding-framework : netcoreapp3.0
58- test-framework : net5.0
5952 - dotnet-version : 6.0.x
60- binding-framework : net6.0
6153 test-framework : net6.0
6254 - dotnet-version : 8.0.x
63- binding-framework : net8.0
6455 test-framework : net8.0
56+ - dotnet-version : 10.0.x
57+ test-framework : net10.0
6558 exclude :
6659 - os : ubuntu-latest
67- dotnet-version : 2.1.818
60+ dotnet-version : 2.1.x
6861 - os : ubuntu-latest
69- dotnet-version : 3.0.103
70- - os : ubuntu-latest
71- dotnet-version : 3.1.426
72- - os : ubuntu-latest
73- dotnet-version : 5.0.408
74- - os : macos-latest
75- dotnet-version : 2.1.818
76- - os : macos-latest
77- dotnet-version : 3.0.103
78- - os : macos-latest
79- dotnet-version : 3.1.426
62+ dotnet-version : 3.1.x
8063 - os : macos-latest
81- dotnet-version : 5.0.408
64+ dotnet-version : 2.1.x
8265 - os : macos-latest
83- dotnet-version : 6.0.x
84- - os : macos-13
85- dotnet-version : 8.0.x
66+ dotnet-version : 3.1.x
8667
8768 steps :
8869 - uses : actions/checkout@v3
8970
90- - name : Setup .NET
71+ - name : Set up .NET
9172 uses : actions/setup-dotnet@v3
9273 with :
9374 dotnet-version : ${{ matrix.dotnet-version }}
@@ -99,10 +80,24 @@ jobs:
9980 dotnet-version : 8.0.x
10081
10182 - name : Build binding
102- run : dotnet build Leopard/Leopard.csproj --framework ${{ matrix.binding-framework }} -v n
83+ run : dotnet build Leopard/Leopard.csproj
84+
85+ - name : Set test framework version (linux)
86+ if : ${{ matrix.os == 'ubuntu-latest' }}
87+ run : sed -i 's/net6.0/${{matrix.test-framework}}/g' LeopardTest/LeopardTest.csproj
88+
89+ - name : Set test framework version (macos)
90+ if : ${{ matrix.os == 'macos-latest' || matrix.os == 'macos-15-intel' }}
91+ run : sed -i '.bak' 's/net6.0/${{matrix.test-framework}}/g' LeopardTest/LeopardTest.csproj
92+
93+ - name : Set test framework version (windows)
94+ if : ${{ matrix.os == 'windows-latest' }}
95+ run : (Get-Content -Path "LeopardTest/LeopardTest.csproj") -replace "net6.0", "${{matrix.test-framework}}" | Set-Content -Path "LeopardTest/LeopardTest.csproj"
10396
10497 - name : Test
105- run : dotnet test --framework ${{ matrix.test-framework }} -v n
98+ run : dotnet test -v n
99+ env :
100+ DEVICE : ${{ matrix.device }}
106101
107102 build-self-hosted :
108103 runs-on : ${{ matrix.machine }}
@@ -111,13 +106,24 @@ jobs:
111106
112107 strategy :
113108 matrix :
114- machine : [rpi3-32, rpi3-64, rpi4-32, rpi4-64, rpi5-64, pv-windows-arm64]
109+ device : [ best ]
110+ machine : [ rpi3-32, rpi3-64, rpi4-32, rpi4-64, rpi5-32, rpi5-64, pv-windows-arm64 ]
111+ include :
112+ - device : gpu
113+ machine : pv-linux
114+ - device : gpu
115+ machine : pv-windows
116+ - device : gpu
117+ machine : pv-ios
115118
116119 steps :
117120 - uses : actions/checkout@v3
118121
119122 - name : Build binding
120- run : dotnet build Leopard/Leopard.csproj --framework net8.0 -v n
123+ run : dotnet build Leopard/Leopard.csproj
121124
122125 - name : Test
123- run : dotnet test --framework net8.0 -v n
126+ run : dotnet test -v n
127+ env :
128+ DEVICE : ${{ matrix.device }}
129+ DOTNET_ROLL_FORWARD : LatestMajor
0 commit comments