Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
24 changes: 4 additions & 20 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,26 +11,10 @@ on:
- develop

jobs:
verify:
name: Unit and Integration Verification
placeholder:
name: CI Placeholder
runs-on: ubuntu-latest

steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Setup Java 21
uses: actions/setup-java@v4
with:
java-version: '21'
distribution: 'temurin'
cache: 'gradle'

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

- name: Run unit tests
run: ./gradlew test

- name: Run integration tests
run: ./gradlew integrationTest
- name: Verification reset notice
run: echo "Backend automated test verification is temporarily disabled."
Comment on lines +14 to +20
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

CI가 항상 성공해 품질 게이트가 사실상 비활성화됩니다.

Line 14~20의 placeholder 잡은 검증 없이 성공 상태만 만들기 때문에, 회귀가 main/develop로 바로 유입될 수 있습니다. 임시 조치라면 최소한 컴파일/패키징 수준의 기본 게이트는 유지해 주세요.

임시 최소 게이트(예: 테스트 제외 빌드) 제안
 jobs:
-  placeholder:
-    name: CI Placeholder
+  placeholder:
+    name: CI Minimal Verification
     runs-on: ubuntu-latest

     steps:
-      - name: Verification reset notice
-        run: echo "Backend automated test verification is temporarily disabled."
+      - name: Checkout
+        uses: actions/checkout@v4
+      - name: Set up JDK 21
+        uses: actions/setup-java@v4
+        with:
+          distribution: temurin
+          java-version: '21'
+          cache: gradle
+      - name: Grant execute permission for gradlew
+        run: chmod +x ./gradlew
+      - name: Minimal build verification (tests temporarily disabled)
+        run: ./gradlew build -x test
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.github/workflows/ci.yml around lines 14 - 20, The CI placeholder job named
"placeholder" currently only echoes a notice (step "Verification reset notice")
which forces the workflow to always succeed; replace that echo-only step with a
minimal verification step that actually fails on regressions — e.g., add a step
that runs your project's compile/package command (for JS: install deps and run
build/test script; for Java: mvn -B package -DskipTests=false; for other stacks
use the equivalent) or at minimum run a linter/compile check; ensure the job
keeps the "name: CI Placeholder" and the existing step name or add a new step
that executes the real build command so the workflow fails on build errors
instead of always passing.

25 changes: 0 additions & 25 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,34 +12,9 @@ env:
IMAGE_NAME: git-ranker

jobs:
verify:
name: Pre-deploy Verification
runs-on: ubuntu-latest

steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Setup Java 21
uses: actions/setup-java@v4
with:
java-version: '21'
distribution: 'temurin'
cache: 'gradle'

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

- name: Run unit tests
run: ./gradlew test

- name: Run integration tests
run: ./gradlew integrationTest

docker:
name: Build & Push Docker Image
runs-on: ubuntu-latest
needs: verify

steps:
- name: Checkout code
Expand Down
34 changes: 0 additions & 34 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -46,40 +46,6 @@ dependencies {
runtimeOnly 'io.micrometer:micrometer-registry-prometheus'
runtimeOnly 'io.jsonwebtoken:jjwt-impl:0.12.3'
runtimeOnly 'io.jsonwebtoken:jjwt-jackson:0.12.3'

testImplementation 'io.projectreactor:reactor-test'
testImplementation 'org.springframework.security:spring-security-test'
testImplementation 'org.springframework.batch:spring-batch-test'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
testImplementation 'org.springframework.boot:spring-boot-testcontainers'
testImplementation 'org.testcontainers:junit-jupiter'
testImplementation 'org.testcontainers:mysql'

testRuntimeOnly 'com.h2database:h2'
testRuntimeOnly 'org.junit.platform:junit-platform-launcher'
}

// 단위 테스트: *IT.java 제외 (Docker 불필요)
tasks.named('test') {
useJUnitPlatform()
exclude '**/*IT.class'
}

// 통합 테스트: Testcontainers 기반 *IT.java만 별도 lane에서 실행
// check 라이프사이클에는 연결하지 않고 CI/deploy verification이 명시적으로 호출한다.
tasks.register('integrationTest', Test) {
group = 'verification'
description = 'Runs Testcontainers-backed integration tests.'
useJUnitPlatform()
include '**/*IT.class'

mustRunAfter tasks.named('test')

testClassesDirs = sourceSets.test.output.classesDirs
classpath = sourceSets.test.runtimeClasspath

// Docker 29+는 최소 API 1.44를 요구하지만 docker-java 3.4.0은 기본값 1.32로 요청함
systemProperty 'api.version', '1.44'
}

tasks.named('processResources') {
Expand Down

This file was deleted.

Loading