Skip to content

chore: 게시글 조회수 동시성 테스트 반복 실행 워크플로우 추가 - #811

Merged
whqtker merged 1 commit into
developfrom
chore/post-view-count-concurrency-test-workflow
Jul 9, 2026
Merged

chore: 게시글 조회수 동시성 테스트 반복 실행 워크플로우 추가#811
whqtker merged 1 commit into
developfrom
chore/post-view-count-concurrency-test-workflow

Conversation

@whqtker

Copy link
Copy Markdown
Member

관련 이슈

  • resolves:

작업 내용

테스트용, 추후 제거 예정

특이 사항

리뷰 요구사항 (선택)

수동 트리거로 PostViewCountConcurrencyTest를 50회 반복 실행해
플레이키니스를 검증할 수 있도록 한다.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@whqtkerwhqtker self-assigned this Jul 9, 2026
@whqtkerwhqtker added the 진행 중 자유롭게 merge 가능 label Jul 9, 2026
@whqtker
whqtker requested a review from Hexeong as a code ownerJuly 9, 2026 06:20
@coderabbitai

coderabbitaiBot commented Jul 9, 2026

Copy link
Copy Markdown

Review Change Stack

Walkthrough

1. 새 워크플로우 파일 추가

  • .github/workflows/post-view-count-concurrency-test.yml을 신규 생성했어요.
  • workflow_dispatch로 수동 트리거되며 Ubuntu 환경에서 JDK 21과 Gradle을 설정해요.

2. 반복 테스트 실행

  • 지정된 동시성 테스트(PostViewCountConcurrencyTest)를 --rerun-tasks 옵션과 함께 총 50회 반복 실행해요.
  • 매 회차마다 build/test-results/test 결과를 build/repeat-test-results/run-$i로 복사해 별도로 보관해요.

3. 실패 집계 및 리포트 게시

  • 전체 회차 중 실패 횟수를 집계하고, 하나라도 실패하면 exit 1로 워크플로우 자체를 실패 처리해요.
  • mikepenz/action-junit-report@v5를 통해 수집된 JUnit XML 결과를 리포트로 게시해요.

Estimated code review effort: 2 (Simple) | ~10 minutes

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check nameStatusExplanationResolution
Description check⚠️ Warning템플릿의 관련 이슈와 특이 사항이 비어 있고 작업 내용도 '테스트용' 수준이라 주요 정보를 충분히 담지 못합니다.관련 이슈 번호, 작업 내용 요약, 특이 사항, 필요 시 리뷰 요구사항을 채워 템플릿을 완성해 주세요.
✅ Passed checks (4 passed)
Check nameStatusExplanation
Title check✅ Passed변경 내용인 조회수 동시성 테스트 반복 실행 워크플로우 추가를 정확히 요약합니다.
Docstring Coverage✅ PassedNo functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check✅ PassedCheck skipped because no linked issues were found for this pull request.
Out of Scope Changes check✅ PassedCheck skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch chore/post-view-count-concurrency-test-workflow

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@whqtker
whqtker merged commit 38ea842 into developJul 9, 2026
3 of 4 checks passed

@coderabbitaicoderabbitaiBot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Nitpick comments (1)
.github/workflows/post-view-count-concurrency-test.yml (1)

31-49: 🩺 Stability & Availability | 🔵 Trivial | ⚡ Quick win

테스트 루프 단계에 timeout 추가를 권장합니다.

50회 반복되는 Spring Boot 동시성 테스트는 각 회차마다 1000개 스레드 생성과 Thread.sleep(SCHEDULING_DELAY_MS + 1000) 대기를 포함합니다. 특정 회차에서 테스트가 hang되면 워크플로우가 매우 오래 실행될 수 있습니다. timeout-minutes를 지정해 무한 대기 상태를 방지하는 것이 좋습니다.

⏱️ 제안하는 수정
 - name: Run test 50 times
+ timeout-minutes: 60
run: |
set +e
FAIL_COUNT=0
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In @.github/workflows/post-view-count-concurrency-test.yml around lines 31 - 49,
The “Run test 50 times” step in the workflow can hang indefinitely during the
repeated Spring Boot concurrency test run. Add a timeout limit to the workflow
job or this step so the repeated `./gradlew test` loop in the concurrency test
cannot block forever; keep the change focused on the existing repeat-test step
and its surrounding workflow configuration.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In @.github/workflows/post-view-count-concurrency-test.yml:
- Around line 14-17: In the Checkout master step using actions/checkout@v4,
explicitly disable persisted GitHub credentials by setting persist-credentials
to false, since this workflow only runs tests and does not need git-auth
persistence. Update the existing checkout configuration in the workflow job so
the actions/checkout invocation includes the new security setting alongside ref:
master.
---
Nitpick comments:
In @.github/workflows/post-view-count-concurrency-test.yml:
- Around line 31-49: The “Run test 50 times” step in the workflow can hang
indefinitely during the repeated Spring Boot concurrency test run. Add a timeout
limit to the workflow job or this step so the repeated `./gradlew test` loop in
the concurrency test cannot block forever; keep the change focused on the
existing repeat-test step and its surrounding workflow configuration.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: 65f8241d-5711-4803-8f40-92907f98d5a5

📥 Commits

Reviewing files that changed from the base of the PR and between ac51829 and 228ec6a.

📒 Files selected for processing (1)
  • .github/workflows/post-view-count-concurrency-test.yml

Comment on lines +14 to +17
- name: Checkout master
uses: actions/checkout@v4
with:
ref: master

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔒 Security & Privacy | 🟡 Minor | ⚡ Quick win

persist-credentials: false 추가를 권장합니다.

actions/checkout@v4는 기본적으로 GitHub 토큰을 git config에 저장합니다. 이 워크플로우는 테스트 실행만 수행하므로 credential 지속이 불필요하며, 보안 노출면을 줄이기 위해 persist-credentials: false를 명시하는 것이 좋습니다.

🔒️ 제안하는 수정
 - name: Checkout master
uses: actions/checkout@v4
with:
ref: master
+ persist-credentials: false
📝 Committable suggestion

‼️IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
- name: Checkout master
uses: actions/checkout@v4
with:
ref: master
- name: Checkout master
uses: actions/checkout@v4
with:
ref: master
persist-credentials: false
🧰 Tools
🪛 zizmor (1.26.1)

[warning] 14-17: credential persistence through GitHub Actions artifacts (artipacked): does not set persist-credentials: false

(artipacked)

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In @.github/workflows/post-view-count-concurrency-test.yml around lines 14 - 17,
In the Checkout master step using actions/checkout@v4, explicitly disable
persisted GitHub credentials by setting persist-credentials to false, since this
workflow only runs tests and does not need git-auth persistence. Update the
existing checkout configuration in the workflow job so the actions/checkout
invocation includes the new security setting alongside ref: master.

Source: Linters/SAST tools

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

기능진행 중자유롭게 merge 가능

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@whqtker