Skip to content

Commit f42573d

Browse files
committed
Add debug logging for coverage extraction
Adding debug output to: - List all coverage files in both locations - Show first 50 lines of coverage.xml - Display extracted LINES and COVERED values - Try alternative attribute names (elements/coveredelements) This will help identify why coverage is showing 0%.
1 parent 5f3a673 commit f42573d

File tree

1 file changed

+31
-4
lines changed

1 file changed

+31
-4
lines changed

.github/workflows/code-coverage.yml

Lines changed: 31 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -80,17 +80,44 @@ jobs:
8080
- name: Generate coverage report summary
8181
id: coverage
8282
run: |
83-
# Extract coverage percentage from clover XML
83+
# Debug: Check for coverage files
84+
echo "=== Debug: Looking for coverage files ==="
85+
ls -la coverage* 2>/dev/null || echo "No coverage files found in current directory"
86+
ls -la ${{ github.workspace }}/coverage* 2>/dev/null || echo "No coverage files in workspace"
87+
88+
# Try both locations
89+
COVERAGE_FILE=""
8490
if [ -f coverage.xml ]; then
85-
# Extract lines covered and total from XML
86-
LINES=$(grep -o 'statements="[0-9]*"' coverage.xml | head -1 | grep -o '[0-9]*')
87-
COVERED=$(grep -o 'coveredstatements="[0-9]*"' coverage.xml | head -1 | grep -o '[0-9]*')
91+
COVERAGE_FILE="coverage.xml"
92+
elif [ -f ${{ github.workspace }}/coverage.xml ]; then
93+
COVERAGE_FILE="${{ github.workspace }}/coverage.xml"
94+
fi
95+
96+
if [ -n "$COVERAGE_FILE" ]; then
97+
echo "=== Debug: Found coverage file at $COVERAGE_FILE ==="
98+
echo "=== Debug: First 50 lines of coverage.xml ==="
99+
head -50 "$COVERAGE_FILE"
100+
101+
# Extract coverage using various possible attribute names
102+
# Try 'statements' and 'coveredstatements'
103+
LINES=$(grep -o 'statements="[0-9]*"' "$COVERAGE_FILE" | head -1 | grep -o '[0-9]*')
104+
COVERED=$(grep -o 'coveredstatements="[0-9]*"' "$COVERAGE_FILE" | head -1 | grep -o '[0-9]*')
105+
106+
# Try alternative: 'elements' and 'coveredelements'
107+
if [ -z "$LINES" ]; then
108+
LINES=$(grep -o 'elements="[0-9]*"' "$COVERAGE_FILE" | head -1 | grep -o '[0-9]*')
109+
COVERED=$(grep -o 'coveredelements="[0-9]*"' "$COVERAGE_FILE" | head -1 | grep -o '[0-9]*')
110+
fi
111+
112+
echo "=== Debug: LINES=$LINES, COVERED=$COVERED ==="
113+
88114
if [ -n "$LINES" ] && [ -n "$COVERED" ] && [ "$LINES" -gt 0 ]; then
89115
COVERAGE=$(awk "BEGIN {printf \"%.2f\", ($COVERED/$LINES)*100}")
90116
else
91117
COVERAGE="0"
92118
fi
93119
else
120+
echo "=== Debug: No coverage.xml file found ==="
94121
COVERAGE="0"
95122
fi
96123
echo "current_coverage=$COVERAGE" >> $GITHUB_OUTPUT

0 commit comments

Comments
 (0)