@@ -28,28 +28,43 @@ jobs:
2828 coverage :
2929 name : Coverage ${{ matrix.runtime.language }}
3030 needs : coverage-matrix
31- runs-on : ubuntu-latest
31+ runs-on : ${{ matrix.runtime.runner }}
3232 strategy :
3333 fail-fast : false
3434 matrix :
3535 runtime : ${{ fromJson(needs.coverage-matrix.outputs.matrix) }}
3636 steps :
3737 - uses : actions/checkout@v6
38- - uses : actions/setup-node@v6
38+ - if : matrix.runtime.setup == 'node' || matrix.runtime.setup == 'dotnet'
39+ uses : actions/setup-node@v6
3940 with :
4041 node-version : 22
41- - uses : actions/setup-dotnet@v5
42+ - if : matrix.runtime.setup == 'dotnet'
43+ uses : actions/setup-dotnet@v5
4244 with :
4345 dotnet-version : 10.0.x
44- - run : npm ci --prefix SDK/js
45- - run : dotnet restore SDK/dotnet/ManagedCode.Tps.slnx
46+ - if : matrix.runtime.setup == 'dart'
47+ uses : dart-lang/setup-dart@v1
48+ - if : matrix.runtime.setup == 'java'
49+ uses : actions/setup-java@v4
50+ with :
51+ distribution : temurin
52+ java-version : ' 17'
53+ - if : matrix.runtime.setup == 'node'
54+ run : npm ci --prefix SDK/js
55+ - if : matrix.runtime.setup == 'dotnet'
56+ run : dotnet restore SDK/dotnet/ManagedCode.Tps.slnx
4657 - run : ${{ matrix.runtime.build }}
4758 - run : ${{ matrix.runtime.coverage }}
4859 - name : Coverage Policy
4960 run : |
5061 {
5162 echo "## Coverage Policy"
5263 echo ""
64+ echo "- TypeScript: minimum 90% statements, branches, functions, and lines"
5365 echo "- JavaScript: minimum 90% statements, branches, functions, and lines"
5466 echo "- C#: minimum 90% line, branch, and method coverage"
67+ echo "- Flutter: minimum 90% line coverage for SDK source files"
68+ echo "- Swift: minimum 90% line coverage for SDK source files"
69+ echo "- Java: minimum 90% line coverage for SDK source files"
5570 } >> "$GITHUB_STEP_SUMMARY"
0 commit comments