728x90
반응형
이전 글에서 Jacoco Test Report를 통해 Test를 실행하고 프로젝트의 전체 테스트 커버리지를 확인할 수 있는 방법에 대해 기록했었다.
https://whitepro.tistory.com/968
이번에는 이렇게 로컬에서 생성한 리포트 외에, github action의 agent에서 report를 생성하고 그에 따라 github PR에 댓글로 coverage 결과를 남길 수 있는 방법에 대해서 알아본다. 이전 글에서는 codecov를 다뤘었는데, 해당 툴은 유료라서 무료로 제공되는 action tool을 사용해본다.
코드
아래처럼 작성하면 된다. report 파일을 따로 업로드하는 부분은 생략하였다.
유의할점은 다음과 같다.
- on.pull_request 방식으로 해야한다. 해당 액션 참조가 잘못되면 PR의 댓글에 coverage 결과가 남지 않을 수 있다.
- permissions.contents, pull-requests를 지정해주어야한다.
- secrets.GITHUB_TOKEN은 따로 설정이 필요할 수 있다.
- paths 값은 jacoco에서 지원하는 기본 경로로 지정해주었다.
name: Build & Test
on:
pull_request:
branches:
- '**'
permissions:
contents: read
pull-requests: write
jobs:
build-and-test:
name: Build
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v4
- name: Set up JDK 21
uses: actions/setup-java@v4
with:
distribution: 'corretto'
java-version: '21'
- name: Grant execute permission for gradlew
run: chmod +x ./gradlew
- name: Build
run: ./gradlew build
- name: Jacoco Report to PR
id: jacoco
uses: madrapps/jacoco-report@v1.6.1
with:
paths: ${{ github.workspace }}/build/reports/jacoco/test/jacocoTestReport.xml
token: ${{ secrets.GITHUB_TOKEN }}
min-coverage-overall: 80
min-coverage-changed-files: 80
debug-mode: false
title: Code Coverage
update-comment: true
- name: Get the Coverage info
run: |
echo "Total coverage ${{ steps.jacoco.outputs.coverage-overall }}"
echo "Changed Files coverage ${{ steps.jacoco.outputs.coverage-changed-files }}"
728x90
반응형
'Programming-[Base] > git' 카테고리의 다른 글
github ssh 방식, GPG key와 ssh key unverified 문제, .git config에 대한 이해 (0) | 2023.11.25 |
---|---|
github ssh 방식, 여러 계정으로 login 및 commit (0) | 2023.11.13 |
[TIL] git reflog: git reset도 잘못하고 merge도 잘못해서 local, remote 모두 엉망일때.. (0) | 2023.07.28 |
GPG key to github - GNUPG, pinentry 에러 mac M1 (0) | 2023.07.28 |
[TIL] git submodule, python setup.py와 pip, Docker CMD Bash shell (0) | 2023.05.16 |