4
4
push :
5
5
branches :
6
6
- 258-cyclomatic-complexity-and-mcdc-in-ci
7
+ paths-ignore :
8
+ - ' coverage/line-coverage-badge.svg'
9
+ - ' coverage/branch-coverage-badge.svg'
7
10
pull_request :
8
11
branches :
9
12
- 258-cyclomatic-complexity-and-mcdc-in-ci
10
13
11
14
jobs :
12
15
coverage :
13
- if : " !contains(github.event.head_commit.message, 'Update coverage badges')" && github.actor != 'github-actions[bot]'
14
16
runs-on : ubuntu-latest
15
17
container :
16
18
image : ivvitc/cryptolib:20240814
44
46
45
47
# Step 4: Fix Detached HEAD State
46
48
- name : Fix Detached HEAD State
47
- run : |
48
- git checkout -B ${GITHUB_REF##*/}
49
- working-directory : ${{ github.workspace }}
49
+ run : git checkout -B ${GITHUB_REF##*/}
50
50
51
51
# Step 5: Build with Coverage Flags
52
52
- name : Build with Coverage Flags
@@ -61,21 +61,17 @@ jobs:
61
61
gcovr --branches --xml-pretty --exclude-unreachable-branches -o coverage/coverage_report.xml
62
62
gcovr --branches --html --html-details -o coverage/coverage_report.html
63
63
64
- # Extract coverage metrics
65
64
LINE_COVERAGE=$(grep 'line-rate' coverage/coverage_report.xml | sed -n 's/.*line-rate="\(.*\)".*/\1/p')
66
65
BRANCH_COVERAGE=$(grep 'branch-rate' coverage/coverage_report.xml | sed -n 's/.*branch-rate="\(.*\)".*/\1/p')
67
66
68
- # Convert to percentages
69
67
LINE_COVERAGE_PERCENT=$(printf "%.0f" $(echo "$LINE_COVERAGE * 100" | bc))
70
68
BRANCH_COVERAGE_PERCENT=$(printf "%.0f" $(echo "$BRANCH_COVERAGE * 100" | bc))
71
69
72
- # Generate badges
73
70
curl -o coverage/line-coverage-badge.svg "https://img.shields.io/badge/line%20coverage-${LINE_COVERAGE_PERCENT}%25-brightgreen"
74
71
curl -o coverage/branch-coverage-badge.svg "https://img.shields.io/badge/branch%20coverage-${BRANCH_COVERAGE_PERCENT}%25-brightgreen"
75
72
76
73
# Step 7: Commit Badges to the Current Branch
77
74
- name : Commit Coverage Badges
78
- working-directory : ${{ github.workspace }}
79
75
run : |
80
76
git config user.name "github-actions"
81
77
git config user.email "actions@github.com"
0 commit comments