Skip to content

Commit 4cf8769

Browse files
committed
ci: coverage changes
1 parent e2c8aac commit 4cf8769

File tree

1 file changed

+26
-31
lines changed

1 file changed

+26
-31
lines changed

.github/workflows/ci.yml

Lines changed: 26 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -515,17 +515,11 @@ jobs:
515515
github_token: ${{ secrets.GITHUB_TOKEN }}
516516

517517
- name: Codecov
518+
id: codecov
518519
if: matrix.coverage
519-
env:
520-
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
521520
run: |
522-
set -x
523-
524-
if [ -z "$CODECOV_TOKEN" ]; then
525-
echo "CODECOV_TOKEN is not set. Skipping coverage report."
526-
exit 0
527-
fi
528-
521+
set -euvx
522+
529523
# Find gcov
530524
gcov_tool="gcov"
531525
for version in "${{steps.setup-cpp.outputs.version-major}}.${{steps.setup-cpp.outputs.version-minor}}" "${{steps.setup-cpp.outputs.version-major}}"; do
@@ -534,28 +528,29 @@ jobs:
534528
break
535529
fi
536530
done
537-
538-
for dir in "./build"; do
539-
# Generate reports
540-
echo "Generate report: $dir"
541-
lcov --rc lcov_branch_coverage=0 --gcov-tool "$gcov_tool" --directory "$dir" --capture --output-file "$dir/all.info" --ignore-errors inconsistent
542-
lcov --rc lcov_branch_coverage=0 --ignore-errors inconsistent --list "$dir/all.info"
543-
544-
# Upload to codecov
545-
echo "Upload to codecov: $dir"
546-
bash <(curl -s https://codecov.io/bash) -f "$dir/all.info"
547-
done
548-
549-
# Summary
550-
echo "# Coverage" >> $GITHUB_STEP_SUMMARY
551-
echo "" >> $GITHUB_STEP_SUMMARY
552-
echo "[![codecov](https://codecov.io/github/$GITHUB_REPOSITORY/commit/$GITHUB_SHA/graphs/sunburst.svg)](https://codecov.io/github/$GITHUB_REPOSITORY/commit/$GITHUB_SHA)" >> $GITHUB_STEP_SUMMARY
553-
echo "" >> $GITHUB_STEP_SUMMARY
554-
echo "" >> $GITHUB_STEP_SUMMARY
555-
echo "Commit: [![codecov](https://codecov.io/github/$GITHUB_REPOSITORY/commit/$GITHUB_SHA/graph/badge.svg)](https://codecov.io/github/$GITHUB_REPOSITORY/commit/$GITHUB_SHA)" >> $GITHUB_STEP_SUMMARY
556-
echo "" >> $GITHUB_STEP_SUMMARY
557-
echo "Branch: [![codecov](https://codecov.io/github/$GITHUB_REPOSITORY/branch/$GITHUB_REF_NAME/graph/badge.svg)](https://codecov.io/github/$GITHUB_REPOSITORY/commit/$GITHUB_SHA)" >> $GITHUB_STEP_SUMMARY
558-
echo "" >> $GITHUB_STEP_SUMMARY
531+
532+
dir="./build"
533+
lcov --rc lcov_branch_coverage=0 --gcov-tool "$gcov_tool" --directory "$dir" --capture --output-file "$dir/all.info" --ignore-errors inconsistent
534+
lcov --rc lcov_branch_coverage=0 --ignore-errors inconsistent --list "$dir/all.info"
535+
echo "file=$(realpath "$dir/all.info")" >> $GITHUB_OUTPUT
536+
537+
- name: Upload Coverage as Artifact
538+
if: matrix.coverage
539+
uses: actions/upload-artifact@v4
540+
with:
541+
name: Coverage
542+
path: ${{ steps.codecov.outputs.file }}
543+
retention-days: 30
544+
545+
- name: Codecov Upload
546+
uses: codecov/codecov-action@v5
547+
if: matrix.coverage
548+
with:
549+
fail_ci_if_error: true
550+
files: ${{ steps.codecov.outputs.file }}
551+
disable_search: true
552+
token: ${{ secrets.CODECOV_TOKEN }}
553+
verbose: true
559554

560555

561556
releases:

0 commit comments

Comments
 (0)