Skip to content

Commit 9eda1b8

Browse files
Refactor build.yml for permissions and coverage action (#646)
* Refactor build.yml for permissions and coverage action Updated GitHub Actions workflow to include permissions and replace the code coverage reporting method with a new action. * Replace Code Climate badges with Qlty.sh badges Updated test coverage and maintainability badges in README. * Merge Jacoco coverage reports into a single file Merged multiple Jacoco coverage report files into a single report for improved analysis. * Update JaCoCo CLI jar download URL in build.yml * Modify JaCoCo version handling in build workflow Updated JaCoCo version retrieval and download in build.yml * Refactor JaCoCo version retrieval in build.yml Updated the method to retrieve JaCoCo version from pom.xml using grep and sed. * Refactor JaCoCo version handling in build workflow Removed JaCoCo version extraction from build step and merged code coverage report files. * Refactor JaCoCo coverage commands in build.yml Updated JaCoCo merge and report commands to use .exec files instead of .xml files. * Add prefix paths for coverage files Added prefix paths for coverage files in build workflow. * Refactor code coverage report file handling Updated code coverage report step to use individual JaCoCo report files instead of merged report. * Refactor add-prefix for better readability * Update build.yml
1 parent bd9be5a commit 9eda1b8

File tree

2 files changed

+37
-18
lines changed

2 files changed

+37
-18
lines changed

.github/workflows/build.yml

Lines changed: 35 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,10 @@ on:
99
pull_request:
1010
branches: [ master ]
1111

12+
permissions:
13+
contents: read
14+
id-token: write
15+
1216
jobs:
1317

1418
build:
@@ -89,23 +93,38 @@ jobs:
8993
# tag pacts as production
9094
docker run --rm --net host ${PACT_CLI_IMG} broker create-version-tag --pacticipant credit-score-service --version `git rev-parse --short HEAD` --tag prod --broker-base-url ${PACT_BROKER_URL} --broker-username=rw_user --broker-password=rw_pass
9195
92-
- name: Code Coverage Report
96+
- name: Code Coverage Report welcome-member-email-service
9397
if: ${{ github.actor != 'dependabot[bot]' }}
94-
env:
95-
GIT_BRANCH: ${GITHUB_REF/refs\/heads\//}
96-
JACOCO_SOURCE_PATH: credit-score-service/src/main/java special-membership-service/src/main/java welcome-member-email-service/src/main/java
97-
CC_TEST_REPORTER_ID: ${{ secrets.CC_TEST_REPORTER_ID }}
98-
run: |
99-
curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter
100-
chmod +x ./cc-test-reporter
101-
./cc-test-reporter format-coverage -t jacoco credit-score-service/target/site/jacoco/jacoco.xml -o coverage/credit-score-service-unit.json
102-
./cc-test-reporter format-coverage -t jacoco credit-score-service/target/site/jacoco-it/jacoco.xml -o coverage/credit-score-service-it.json
103-
./cc-test-reporter format-coverage -t jacoco special-membership-service/target/site/jacoco/jacoco.xml -o coverage/special-membership-service-unit.json
104-
./cc-test-reporter format-coverage -t jacoco special-membership-service/target/site/jacoco-it/jacoco.xml -o coverage/special-membership-service-it.json
105-
./cc-test-reporter format-coverage -t jacoco welcome-member-email-service/target/site/jacoco/jacoco.xml -o coverage/welcome-member-email-service-unit.json
106-
./cc-test-reporter format-coverage -t jacoco welcome-member-email-service/target/site/jacoco-it/jacoco.xml -o coverage/welcome-member-email-service-it.json
107-
./cc-test-reporter sum-coverage coverage/*.json -p 6
108-
./cc-test-reporter upload-coverage
98+
uses: qltysh/qlty-action/coverage@v2
99+
with:
100+
oidc: true
101+
files: |
102+
welcome-member-email-service/target/site/jacoco/jacoco.xml
103+
welcome-member-email-service/target/site/jacoco-it/jacoco.xml
104+
add-prefix: welcome-member-email-service/src/main/java/
105+
tag: welcome-member-email-service
106+
107+
- name: Code Coverage Report special-membership-service
108+
if: ${{ github.actor != 'dependabot[bot]' }}
109+
uses: qltysh/qlty-action/coverage@v2
110+
with:
111+
oidc: true
112+
files: |
113+
special-membership-service/target/site/jacoco/jacoco.xml
114+
special-membership-service/target/site/jacoco-it/jacoco.xml
115+
add-prefix: special-membership-service/src/main/java/
116+
tag: special-membership-service
117+
118+
- name: Code Coverage Report credit-score-service
119+
if: ${{ github.actor != 'dependabot[bot]' }}
120+
uses: qltysh/qlty-action/coverage@v2
121+
with:
122+
oidc: true
123+
files: |
124+
credit-score-service/target/site/jacoco/jacoco.xml
125+
credit-score-service/target/site/jacoco-it/jacoco.xml
126+
add-prefix: credit-score-service/src/main/java/
127+
tag: credit-score-service
109128

110129
- name: Stop dependencies with docker-compose
111130
run: docker compose -f pact-tools/pact-broker/docker-compose.yml down

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[![Build](https://github.com/andreschaffer/microservices-testing-examples/actions/workflows/build.yml/badge.svg)](https://github.com/andreschaffer/microservices-testing-examples/actions/workflows/build.yml)
2-
[![Test Coverage](https://api.codeclimate.com/v1/badges/77358dd72d38afa63fce/test_coverage)](https://codeclimate.com/github/andreschaffer/microservices-testing-examples/test_coverage)
3-
[![Maintainability](https://api.codeclimate.com/v1/badges/77358dd72d38afa63fce/maintainability)](https://codeclimate.com/github/andreschaffer/microservices-testing-examples/maintainability)
2+
[![Code Coverage](https://qlty.sh/gh/andreschaffer/projects/microservices-testing-examples/coverage.svg)](https://qlty.sh/gh/andreschaffer/projects/microservices-testing-examples)
3+
[![Maintainability](https://qlty.sh/gh/andreschaffer/projects/microservices-testing-examples/maintainability.svg)](https://qlty.sh/gh/andreschaffer/projects/microservices-testing-examples)
44
[![Dependabot](https://img.shields.io/badge/Dependabot-enabled-blue?logo=dependabot)](https://docs.github.com/en/github/administering-a-repository/keeping-your-dependencies-updated-automatically)
55

66
# Microservices Testing Examples

0 commit comments

Comments
 (0)