|
21 | 21 | - name: Checkout LFS objects
|
22 | 22 | run: git lfs checkout
|
23 | 23 |
|
24 |
| - |
25 | 24 | - name: Cache local Maven repository
|
26 | 25 | uses: actions/cache@v4
|
27 | 26 | with:
|
@@ -52,15 +51,31 @@ jobs:
|
52 | 51 | echo "cx-mac binary does not exist"; exit 1;
|
53 | 52 | fi
|
54 | 53 |
|
55 |
| - - name: Run tests with Maven |
56 |
| - run: mvn -B test --file pom.xml |
| 54 | + - name: Install xmllint |
| 55 | + run: sudo apt-get install -y libxml2-utils |
| 56 | + |
| 57 | + - name: Run tests with JaCoCo |
| 58 | + run: mvn test jacoco:report |
57 | 59 | env:
|
58 | 60 | CX_CLIENT_ID: ${{ secrets.CX_CLIENT_ID}}
|
59 | 61 | CX_CLIENT_SECRET: ${{ secrets.CX_CLIENT_SECRET}}
|
60 | 62 | CX_BASE_URI: ${{ secrets.CX_BASE_URI }}
|
61 | 63 | CX_TENANT: ${{ secrets.CX_TENANT }}
|
62 | 64 | CX_APIKEY: ${{ secrets.CX_APIKEY }}
|
63 | 65 |
|
| 66 | + - name: Print total coverage percentage |
| 67 | + run: | |
| 68 | + COVERED_LINES=$(xmllint --xpath "string(//report/counter[@type='LINE']/@covered)" target/site/jacoco/jacoco.xml) |
| 69 | + MISSED_LINES=$(xmllint --xpath "string(//report/counter[@type='LINE']/@missed)" target/site/jacoco/jacoco.xml) |
| 70 | + TOTAL_LINES=$((COVERED_LINES + MISSED_LINES)) |
| 71 | + COVERAGE_PERCENTAGE=$(echo "scale=2; $COVERED_LINES / $TOTAL_LINES * 100" | bc) |
| 72 | + echo "Total coverage percentage: $COVERAGE_PERCENTAGE%" |
| 73 | +
|
| 74 | + - name: Upload JaCoCo coverage report |
| 75 | + uses: actions/upload-artifact@c7d193f32edcb7bfad88892161225aeda64e9392 #v4 |
| 76 | + with: |
| 77 | + name: jacoco-coverage-report |
| 78 | + path: target/site/jacoco |
64 | 79 |
|
65 | 80 | - name: Build with Maven
|
66 | 81 | run: mvn -B verify -DskipTests -Dgpg.skip --file pom.xml
|
|
0 commit comments