From 228ec6a505102d8fe2307d6b57ccfd0fb09e4723 Mon Sep 17 00:00:00 2001 From: seonghyeok cho <65901319+whqtker@users.noreply.github.com> Date: Thu, 9 Jul 2026 15:18:47 +0900 Subject: [PATCH] =?UTF-8?q?ci:=20=EA=B2=8C=EC=8B=9C=EA=B8=80=20=EC=A1=B0?= =?UTF-8?q?=ED=9A=8C=EC=88=98=20=EB=8F=99=EC=8B=9C=EC=84=B1=20=ED=85=8C?= =?UTF-8?q?=EC=8A=A4=ED=8A=B8=20=EB=B0=98=EB=B3=B5=20=EC=8B=A4=ED=96=89=20?= =?UTF-8?q?=EC=9B=8C=ED=81=AC=ED=94=8C=EB=A1=9C=EC=9A=B0=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 수동 트리거로 PostViewCountConcurrencyTest를 50회 반복 실행해 플레이키니스를 검증할 수 있도록 한다. Co-Authored-By: Claude Sonnet 5 --- .../post-view-count-concurrency-test.yml | 55 +++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 .github/workflows/post-view-count-concurrency-test.yml diff --git a/.github/workflows/post-view-count-concurrency-test.yml b/.github/workflows/post-view-count-concurrency-test.yml new file mode 100644 index 000000000..38a8596ae --- /dev/null +++ b/.github/workflows/post-view-count-concurrency-test.yml @@ -0,0 +1,55 @@ +name: Post View Count Concurrency Test (x50) + +on: + workflow_dispatch: + +jobs: + repeat-test: + runs-on: ubuntu-latest + permissions: + contents: read + checks: write + + steps: + - name: Checkout master + uses: actions/checkout@v4 + with: + ref: master + + - name: Set up JDK 21 + uses: actions/setup-java@v4 + with: + java-version: '21' + distribution: 'temurin' + + - name: Setup Gradle + uses: gradle/actions/setup-gradle@v4 + + - name: Make Gradle wrapper executable + run: chmod +x ./gradlew + + - name: Run test 50 times + run: | + set +e + FAIL_COUNT=0 + for i in $(seq 1 50); do + echo "=== Run $i/50 ===" + ./gradlew test --tests "com.example.solidconnection.concurrency.PostViewCountConcurrencyTest.게시글을_조회할_때_조회수_동시성_문제를_해결한다" --rerun-tasks + STATUS=$? + mkdir -p build/repeat-test-results/run-$i + cp -r build/test-results/test/. build/repeat-test-results/run-$i/ 2>/dev/null || true + if [ $STATUS -ne 0 ]; then + FAIL_COUNT=$((FAIL_COUNT + 1)) + echo "Run $i FAILED" + fi + done + echo "Total failures: $FAIL_COUNT / 50" + if [ $FAIL_COUNT -ne 0 ]; then + exit 1 + fi + + - name: Publish Test Report + uses: mikepenz/action-junit-report@v5 + if: success() || failure() + with: + report_paths: 'build/repeat-test-results/**/TEST-*.xml'