Skip to content

rebase fin

rebase fin #3

Workflow file for this run

name: JaCoCo Test
on:
push:
branches: [ main, dev, 'feature/*' ]
pull_request:
branches: [ dev, main ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Set up JDK 21
uses: actions/setup-java@v3
with:
java-version: '21'
distribution: 'temurin'
- name: Cache Gradle packages
uses: actions/cache@v3
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
restore-keys: |
${{ runner.os }}-gradle-
- name: Grant execute permission for gradlew
run: chmod +x gradlew
- name: Build with Gradle
run: ./gradlew build -x test
- name: Run tests with environment variables
run: ./gradlew test --info --stacktrace
env:
SPRING_PROFILES_ACTIVE: test
SPRING_DATASOURCE_URL: jdbc:h2:mem:testdb;MODE=MySQL;
SPRING_DATASOURCE_DRIVER_CLASS_NAME: org.h2.Driver
SPRING_DATASOURCE_USERNAME: sa
SPRING_JPA_HIBERNATE_DDL_AUTO: create-drop
JWT_SECRET: testtesttesttesttesttesttesttest
JWT_ACCESS_TOKEN_EXPIRATION: 3600000
JWT_REFRESH_TOKEN_EXPIRATION: 86400000
SPRING_SECURITY_OAUTH2_CLIENT_REGISTRATION_KAKAO_CLIENT_ID: test-client-id
SPRING_SECURITY_OAUTH2_CLIENT_REGISTRATION_KAKAO_CLIENT_SECRET: test-client-secret
# JaCoCo 테스트 커버리지 보고서 생성
- name: Generate JaCoCo Test Coverage Report
if: success() # 테스트가 성공했을 때만 실행
run: ./gradlew jacocoTestReport
# 테스트 커버리지 검증
- name: Verify Test Coverage
if: success() # 테스트가 성공했을 때만 실행
run: ./gradlew jacocoTestCoverageVerification || true # 커버리지가 낮아도 빌드 실패하지 않음
# 커버리지 보고서를 아티팩트로 업로드
- name: Upload JaCoCo Test Coverage Report
if: success() # 테스트가 성공했을 때만 실행
uses: actions/upload-artifact@v4
with:
name: jacoco-report
path: build/reports/jacoco/test/html/
# 선택 사항: 커버리지 결과를 PR 코멘트에 추가
- name: Comment Test Coverage on PR
if: github.event_name == 'pull_request' && success()
uses: madrapps/[email protected]
with:
paths: build/reports/jacoco/test/jacocoTestReport.xml
token: ${{ secrets.GITHUB_TOKEN }}
min-coverage-overall: 40
min-coverage-changed-files: 60
title: '📊 테스트 커버리지 리포트'