Skip to content

Commit 7e50a98

Browse files
committed
testing
1 parent b2a1ac6 commit 7e50a98

File tree

2 files changed

+60
-39
lines changed

2 files changed

+60
-39
lines changed

.github/workflows/post-coverage-comment.yml

Lines changed: 33 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,12 @@ jobs:
1818

1919
steps:
2020
- name: Download coverage data
21-
uses: actions/download-artifact@v4
22-
with:
23-
name: coverage-comment-data
24-
github-token: ${{ secrets.GITHUB_TOKEN }}
25-
run-id: ${{ github.event.workflow_run.id }}
21+
env:
22+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
23+
run: |
24+
gh run download ${{ github.event.workflow_run.id }} \
25+
--repo ${{ github.repository }} \
26+
--name coverage-comment-data
2627
2728
- name: Read coverage data
2829
id: coverage
@@ -34,32 +35,36 @@ jobs:
3435
3536
cat pr-info.json
3637
37-
# Extract values from JSON
38-
PR_NUMBER=$(jq -r '.pr_number' pr-info.json)
39-
COVERAGE_PCT=$(jq -r '.coverage_percentage' pr-info.json)
40-
COVERED_LINES=$(jq -r '.covered_lines' pr-info.json)
41-
TOTAL_LINES=$(jq -r '.total_lines' pr-info.json)
42-
PATCH_PCT=$(jq -r '.patch_coverage_pct' pr-info.json)
43-
LOW_COV_FILES=$(jq -r '.low_coverage_files' pr-info.json)
44-
PATCH_SUMMARY=$(jq -r '.patch_coverage_summary' pr-info.json)
45-
ADO_URL=$(jq -r '.ado_url' pr-info.json)
38+
# Extract values from JSON with proper quoting
39+
PR_NUMBER="$(jq -r '.pr_number' pr-info.json)"
40+
COVERAGE_PCT="$(jq -r '.coverage_percentage' pr-info.json)"
41+
COVERED_LINES="$(jq -r '.covered_lines' pr-info.json)"
42+
TOTAL_LINES="$(jq -r '.total_lines' pr-info.json)"
43+
PATCH_PCT="$(jq -r '.patch_coverage_pct' pr-info.json)"
44+
LOW_COV_FILES="$(jq -r '.low_coverage_files' pr-info.json)"
45+
PATCH_SUMMARY="$(jq -r '.patch_coverage_summary' pr-info.json)"
46+
ADO_URL="$(jq -r '.ado_url' pr-info.json)"
4647
47-
# Export to env for next step
48-
echo "PR_NUMBER=$PR_NUMBER" >> $GITHUB_ENV
49-
echo "COVERAGE_PERCENTAGE=$COVERAGE_PCT" >> $GITHUB_ENV
50-
echo "COVERED_LINES=$COVERED_LINES" >> $GITHUB_ENV
51-
echo "TOTAL_LINES=$TOTAL_LINES" >> $GITHUB_ENV
52-
echo "PATCH_COVERAGE_PCT=$PATCH_PCT" >> $GITHUB_ENV
53-
echo "ADO_URL=$ADO_URL" >> $GITHUB_ENV
48+
# Export to env for next step (single-line values)
49+
echo "PR_NUMBER=${PR_NUMBER}" >> $GITHUB_ENV
50+
echo "COVERAGE_PERCENTAGE=${COVERAGE_PCT}" >> $GITHUB_ENV
51+
echo "COVERED_LINES=${COVERED_LINES}" >> $GITHUB_ENV
52+
echo "TOTAL_LINES=${TOTAL_LINES}" >> $GITHUB_ENV
53+
echo "PATCH_COVERAGE_PCT=${PATCH_PCT}" >> $GITHUB_ENV
54+
echo "ADO_URL=${ADO_URL}" >> $GITHUB_ENV
5455
55-
# Handle multiline values
56-
echo "LOW_COVERAGE_FILES<<EOF" >> $GITHUB_ENV
57-
echo "$LOW_COV_FILES" >> $GITHUB_ENV
58-
echo "EOF" >> $GITHUB_ENV
56+
# Handle multiline values with proper quoting
57+
{
58+
echo "LOW_COVERAGE_FILES<<EOF"
59+
echo "$LOW_COV_FILES"
60+
echo "EOF"
61+
} >> $GITHUB_ENV
5962
60-
echo "PATCH_COVERAGE_SUMMARY<<EOF" >> $GITHUB_ENV
61-
echo "$PATCH_SUMMARY" >> $GITHUB_ENV
62-
echo "EOF" >> $GITHUB_ENV
63+
{
64+
echo "PATCH_COVERAGE_SUMMARY<<EOF"
65+
echo "$PATCH_SUMMARY"
66+
echo "EOF"
67+
} >> $GITHUB_ENV
6368
6469
- name: Comment coverage summary on PR
6570
uses: marocchino/sticky-pull-request-comment@v2

.github/workflows/pr-code-coverage.yml

Lines changed: 27 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -420,18 +420,34 @@ jobs:
420420
- name: Save coverage data for comment
421421
run: |
422422
mkdir -p coverage-comment-data
423-
cat > coverage-comment-data/pr-info.json << EOF
424-
{
425-
"pr_number": "${{ github.event.pull_request.number }}",
426-
"coverage_percentage": "${{ env.COVERAGE_PERCENTAGE }}",
427-
"covered_lines": "${{ env.COVERED_LINES }}",
428-
"total_lines": "${{ env.TOTAL_LINES }}",
429-
"patch_coverage_pct": "${{ env.PATCH_COVERAGE_PCT }}",
430-
"low_coverage_files": $(jq -Rs . <<< "${{ env.LOW_COVERAGE_FILES }}"),
431-
"patch_coverage_summary": $(jq -Rs . <<< "${{ env.PATCH_COVERAGE_SUMMARY }}"),
432-
"ado_url": "${{ env.ADO_URL }}"
423+
jq -n \
424+
--arg pr_number "${{ github.event.pull_request.number }}" \
425+
--arg coverage_percentage "${{ env.COVERAGE_PERCENTAGE }}" \
426+
--arg covered_lines "${{ env.COVERED_LINES }}" \
427+
--arg total_lines "${{ env.TOTAL_LINES }}" \
428+
--arg patch_coverage_pct "${{ env.PATCH_COVERAGE_PCT }}" \
429+
--arg low_coverage_files "${{ env.LOW_COVERAGE_FILES }}" \
430+
--arg patch_coverage_summary "${{ env.PATCH_COVERAGE_SUMMARY }}" \
431+
--arg ado_url "${{ env.ADO_URL }}" \
432+
'{
433+
pr_number: $pr_number,
434+
coverage_percentage: $coverage_percentage,
435+
covered_lines: $covered_lines,
436+
total_lines: $total_lines,
437+
patch_coverage_pct: $patch_coverage_pct,
438+
low_coverage_files: $low_coverage_files,
439+
patch_coverage_summary: $patch_coverage_summary,
440+
ado_url: $ado_url
441+
}' > coverage-comment-data/pr-info.json
442+
443+
# Validate JSON before uploading
444+
echo "Validating generated JSON..."
445+
jq . coverage-comment-data/pr-info.json > /dev/null || {
446+
echo "❌ Invalid JSON generated"
447+
cat coverage-comment-data/pr-info.json
448+
exit 1
433449
}
434-
EOF
450+
echo "✅ JSON validation successful"
435451
cat coverage-comment-data/pr-info.json
436452
437453
- name: Upload coverage comment data

0 commit comments

Comments
 (0)