Skip to content

Commit 61ed256

Browse files
authored
Merge pull request #181 from fsprojects/coverage-steps-config
Updates to complete configuration of Daily Test Coverage Improver
2 parents 9aeeae0 + 0405467 commit 61ed256

File tree

1 file changed

+61
-0
lines changed
  • .github/actions/daily-test-improver/coverage-steps

1 file changed

+61
-0
lines changed
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
name: 'Daily Test Coverage Improver - Coverage Steps'
2+
description: 'Builds project, runs tests, and generates coverage reports'
3+
runs:
4+
using: 'composite'
5+
steps:
6+
- name: Setup .NET
7+
uses: actions/setup-dotnet@v4
8+
with:
9+
dotnet-version: '8.0.x'
10+
11+
- name: Restore dependencies
12+
shell: bash
13+
run: dotnet restore
14+
15+
- name: Build project
16+
shell: bash
17+
run: dotnet build --no-restore
18+
19+
- name: Add coverlet collector
20+
shell: bash
21+
run: |
22+
dotnet add tests/FSharp.Control.AsyncSeq.Tests/FSharp.Control.AsyncSeq.Tests.fsproj package coverlet.collector --version 6.0.0 --no-restore || true
23+
24+
- name: Run tests with coverage
25+
shell: bash
26+
run: |
27+
dotnet test --collect:"XPlat Code Coverage" --results-directory ./coverage --logger "console;verbosity=detailed"
28+
29+
- name: Install ReportGenerator
30+
shell: bash
31+
run: dotnet tool install -g dotnet-reportgenerator-globaltool || dotnet tool update -g dotnet-reportgenerator-globaltool
32+
33+
- name: Generate coverage report
34+
shell: bash
35+
run: |
36+
reportgenerator -reports:"coverage/**/coverage.cobertura.xml" -targetdir:"coverage/report" -reporttypes:"Html;Badges;Cobertura;JsonSummary"
37+
38+
- name: Display coverage summary
39+
shell: bash
40+
run: |
41+
echo "=== Coverage Summary ==="
42+
if [ -f "coverage/report/Summary.json" ]; then
43+
cat coverage/report/Summary.json | grep -E '"coverage":|"covered":|"uncovered":|"coverable":'
44+
else
45+
echo "Coverage summary not found"
46+
find coverage -name "*.xml" -o -name "*.json" | head -5
47+
fi
48+
49+
- name: Upload coverage report
50+
uses: actions/upload-artifact@v4
51+
with:
52+
name: coverage-report
53+
path: coverage/report/
54+
retention-days: 30
55+
56+
- name: Upload raw coverage data
57+
uses: actions/upload-artifact@v4
58+
with:
59+
name: coverage-data
60+
path: coverage/
61+
retention-days: 7

0 commit comments

Comments
 (0)