Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
43 commits
Select commit Hold shift + click to select a range
df35992
refactor: (#933) JaCoCo 설정에서 deprecated buildDir API를 layout.buildDir…
ryujaemin08 Nov 5, 2025
35e5501
feat: (#933) dms-notification 하위 모듈에 테스트 디렉토리 구조 생성
ryujaemin08 Nov 5, 2025
59c7267
chore: (#933) CI 워크플로우 codecov 설정 업데이트
ryujaemin08 Nov 5, 2025
4b99c75
refactor: (#933) JaCoCo 리포트에서 테스트 스텁 제외 설정 추가
ryujaemin08 Nov 6, 2025
4a62c36
refactor: (#933) JaCoCo 리포트 HTML 제목을 각 마이크로서비스 이름으로 변경
ryujaemin08 Nov 6, 2025
b535fc0
feat: (#933) CI 워크플로우에 서비스별 커버리지 리포트 PR 코멘트 기능 추가
ryujaemin08 Nov 6, 2025
3e5c55e
test: (#933) Notification 도메인 모델 테스트 추가
ryujaemin08 Nov 6, 2025
ab5187a
test: (#933) 도메인 모델 비즈니스 로직 테스트 추가
ryujaemin08 Nov 7, 2025
0b2b953
refactor: (#933) 투표 주제 기간 검증 로직을 도메인 모델로 이동
ryujaemin08 Nov 13, 2025
5560fd3
test: (#933) VotingTopic 도메인 모델 기간 검증 테스트 개선
ryujaemin08 Nov 13, 2025
7adb739
test: (#933) SeatAvailabilityTest 중복 테스트 케이스 제거
ryujaemin08 Nov 13, 2025
f0e5815
style: (#933) NotificationTest 코드 포맷 정리
ryujaemin08 Nov 13, 2025
4ce7949
test: (#933) Auth 도메인 서비스 및 유스케이스 테스트 추가
ryujaemin08 Nov 13, 2025
ad5bd9d
test: (#933) School 도메인 유스케이스 테스트 추가
ryujaemin08 Nov 13, 2025
116f9c6
test: (#933) TimeSlot 도메인 모델 테스트 추가
ryujaemin08 Nov 13, 2025
c78a7c5
test: (#933) Tag 도메인 모델 테스트 추가
ryujaemin08 Nov 13, 2025
bd4845f
test: (#933) VolunteerApplicationStatus 도메인 모델 테스트 추가
ryujaemin08 Nov 13, 2025
26e7ce6
test: (#933) TopicSubscription 도메인 모델 테스트 추가
ryujaemin08 Nov 13, 2025
da870ba
test: (#933) notification 도메인 테스트 stub 추가
ryujaemin08 Nov 14, 2025
158010a
test: (#933) notification 도메인 모델 테스트 추가
ryujaemin08 Nov 14, 2025
9953739
test: (#933) notification DTO 테스트 추가
ryujaemin08 Nov 14, 2025
3020d80
test: (#933) notification 서비스 테스트 추가
ryujaemin08 Nov 14, 2025
fe58ee8
test: (#933) notification 유스케이스 테스트 추가
ryujaemin08 Nov 14, 2025
225f232
test: (#933) notification security 서비스 테스트 추가
ryujaemin08 Nov 14, 2025
624e7ed
test: (#933) notification 스케줄러 테스트 추가
ryujaemin08 Nov 14, 2025
7a801a0
test: (#933) notification persistence 어댑터 테스트 추가
ryujaemin08 Nov 14, 2025
fc0be6a
refactor: (#933)dms-notification infrastructure/persistence 계층 MockK …
ryujaemin08 Nov 17, 2025
83e89dd
test: (#933) dms-notification core 계층 Notification 모델 및 Service 단위테스트 추가
ryujaemin08 Nov 17, 2025
b1ef3f2
test: (#933) dms-notification core 계층 Service 단위테스트 추가 및 개선
ryujaemin08 Nov 17, 2025
273aeba
refactor: (#933) notificationOfUserPersistenceAdapter 네이밍 수정
ryujaemin08 Nov 18, 2025
706407c
fix: (#933) FCMAdapter의 불필요한 닫는 중괄호 제거
ryujaemin08 Dec 30, 2025
63b5fea
chore: (#933) CI 워크플로우에 Docker 실행 확인 단계 추가
ryujaemin08 Jan 13, 2026
196ca4f
refactor: #(933) GetVolunteerServiceImpl 불필요한 빈 줄 제거
ryujaemin08 Jan 13, 2026
55a0926
test: #(933) notification 및 auth 단위 테스트 검증 로직 개선
ryujaemin08 Jan 13, 2026
0ee14f7
setting: (#933) claude 관련 파일 .gitignore 에 추가
ryujaemin08 Jan 13, 2026
fa4dd59
fix: (#933) ConvertVolunteerScoreToPointUseCaseTest 코루틴 함수 모킹 수정
ryujaemin08 Jan 13, 2026
c3b4db1
fix: (#933)TestContainer 시작 타임아웃을 5분으로 증가
ryujaemin08 Jan 13, 2026
c31c9ed
fix: (#933) OutboxIntegrationTest 큐 정리 시 예외 처리 추가
ryujaemin08 Jan 13, 2026
49081b0
chore: (#933) CI 재실행 시 이전 JaCoCo 리포트 댓글 자동 삭제
ryujaemin08 Jan 13, 2026
0fab2e2
refactor: (#933) JaCoCo 리포트를 하나의 테이블 형태 댓글로 통합
ryujaemin08 Jan 13, 2026
5012281
refactor: (#933) 중복 테스트 실행 제거 및 단일 job으로 최적화
ryujaemin08 Jan 13, 2026
36ec4fa
chore: (#933) ci 파일 롤백
ryujaemin08 Jan 14, 2026
c62e6fc
refactor: (#933) test job 의 jacocoReport 를 재사용하여서 test-all job 에서 pr …
ryujaemin08 Jan 14, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
128 changes: 118 additions & 10 deletions .github/workflows/CI.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,33 +10,141 @@ on:
- main
- develop

permissions:
contents: read
pull-requests: write

jobs:
build:
test:
runs-on: ubuntu-latest

strategy:
matrix:
service: [main, notification, gateway]

steps:
- uses: actions/checkout@v3
- uses: codecov/codecov-action@v1
- name: Checkout code
uses: actions/checkout@v4
with:
token: ${{ secrets.CODECOV_TOKEN }}
fetch-depth: 0

- name: Set up Java
uses: actions/setup-java@v2
uses: actions/setup-java@v4
with:
java-version: '17'
distribution: 'zulu'
cache: 'gradle'

- name: Setup Gradle
uses: gradle/gradle-build-action@v2

- name: Grant execute permission for gradlew
run: chmod +x gradlew

- name: codecov gradle
run: ./gradlew test jacocoSubReports
- name: Verify Docker is running
run: docker info

- name: Run tests for ${{ matrix.service }} service
run: |
if [ "${{ matrix.service }}" = "main" ]; then
./gradlew :dms-main:test jacocoMainServiceReport --info
elif [ "${{ matrix.service }}" = "notification" ]; then
./gradlew :dms-notification:test jacocoNotificationServiceReport --info
elif [ "${{ matrix.service }}" = "gateway" ]; then
./gradlew :dms-gateway:test jacocoGatewayServiceReport --info
fi

- name: Upload JaCoCo report artifact
uses: actions/upload-artifact@v4
with:
name: jacoco-report-${{ matrix.service }}
path: build/reports/jacoco/${{ matrix.service }}-service/
retention-days: 1

- name: Upload coverage to Codecov
uses: codecov/codecov-action@v2
- name: Upload coverage for ${{ matrix.service }}
uses: codecov/codecov-action@v4
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: '**/build/reports/jacoco/test/jacocoTestReport.xml'
files: build/reports/jacoco/${{ matrix.service }}-service/jacocoTestReport.xml
flags: ${{ matrix.service }}-service
name: ${{ matrix.service }}-service-coverage
fail_ci_if_error: false
verbose: true

coverage-report:
runs-on: ubuntu-latest
needs: test
if: github.event_name == 'pull_request'

steps:
- name: Checkout code
uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Download all JaCoCo reports
uses: actions/download-artifact@v4
with:
path: build/reports/jacoco/
pattern: jacoco-report-*
merge-multiple: false

- name: Move reports to correct location
run: |
mkdir -p build/reports/jacoco/main-service
mkdir -p build/reports/jacoco/notification-service
mkdir -p build/reports/jacoco/gateway-service
cp -r build/reports/jacoco/jacoco-report-main/* build/reports/jacoco/main-service/ 2>/dev/null || true
cp -r build/reports/jacoco/jacoco-report-notification/* build/reports/jacoco/notification-service/ 2>/dev/null || true
cp -r build/reports/jacoco/jacoco-report-gateway/* build/reports/jacoco/gateway-service/ 2>/dev/null || true

- name: Verify JaCoCo reports exist
run: |
echo "=== Main service report ==="
ls -la build/reports/jacoco/main-service/ || echo "No main service report found"
echo "=== Notification service report ==="
ls -la build/reports/jacoco/notification-service/ || echo "No notification service report found"
echo "=== Gateway service report ==="
ls -la build/reports/jacoco/gateway-service/ || echo "No gateway service report found"

- name: Delete previous JaCoCo comments
run: |
COMMENTS=$(gh api repos/${{ github.repository }}/issues/${{ github.event.pull_request.number }}/comments \
--jq '.[] | select(.body | contains("Coverage Report")) | .id')

for comment_id in $COMMENTS; do
echo "Deleting comment $comment_id"
gh api repos/${{ github.repository }}/issues/comments/$comment_id -X DELETE
done
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}

- name: Comment PR with main service coverage
uses: madrapps/[email protected]
with:
paths: |
build/reports/jacoco/main-service/jacocoTestReport.xml
token: ${{ secrets.GITHUB_TOKEN }}
min-coverage-overall: 24
min-coverage-changed-files: 50
title: '📊 Main Service Coverage Report'

- name: Comment PR with notification service coverage
uses: madrapps/[email protected]
with:
paths: |
build/reports/jacoco/notification-service/jacocoTestReport.xml
token: ${{ secrets.GITHUB_TOKEN }}
min-coverage-overall: 25
min-coverage-changed-files: 50
title: '📊 Notification Service Coverage Report'

- name: Comment PR with gateway service coverage
uses: madrapps/[email protected]
with:
paths: |
build/reports/jacoco/gateway-service/jacocoTestReport.xml
token: ${{ secrets.GITHUB_TOKEN }}
min-coverage-overall: 0
min-coverage-changed-files: 50
title: '📊 Gateway Service Coverage Report'
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -42,3 +42,4 @@ out/
### Claude Code ###
CLAUDE.md
.claude/*
tmpclaude-*
Loading
Loading