Skip to content

Commit 1aacbae

Browse files
authored
(#83) 백엔드 build 전용 검증 기준으로 정렬
- legacy test dependency와 integrationTest 레인을 제거 - CI와 deploy workflow를 build-only baseline으로 정렬 - AGENTS.md에 현재 backend verification contract를 반영
1 parent 2fc52c3 commit 1aacbae

4 files changed

Lines changed: 8 additions & 56 deletions

File tree

.github/workflows/ci.yml

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ on:
1212

1313
jobs:
1414
verify:
15-
name: Unit and Integration Verification
15+
name: Build Verification
1616
runs-on: ubuntu-latest
1717

1818
steps:
@@ -29,11 +29,5 @@ jobs:
2929
- name: Grant execute permission for gradlew
3030
run: chmod +x gradlew
3131

32-
- name: Run unit tests
33-
run: ./gradlew test
34-
35-
- name: Run integration tests
36-
run: ./gradlew integrationTest
37-
3832
- name: Run packaging build
39-
run: ./gradlew build -x test
33+
run: ./gradlew build

.github/workflows/deploy.yml

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ env:
1313

1414
jobs:
1515
verify:
16-
name: Pre-deploy Verification
16+
name: Pre-deploy Build Verification
1717
runs-on: ubuntu-latest
1818

1919
steps:
@@ -30,14 +30,8 @@ jobs:
3030
- name: Grant execute permission for gradlew
3131
run: chmod +x gradlew
3232

33-
- name: Run unit tests
34-
run: ./gradlew test
35-
36-
- name: Run integration tests
37-
run: ./gradlew integrationTest
38-
3933
- name: Run packaging build
40-
run: ./gradlew build -x test
34+
run: ./gradlew build
4135

4236
docker:
4337
name: Build & Push Docker Image

AGENTS.md

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,24 +7,22 @@
77
1. `README.md`에서 프로젝트 목적과 high-level overview를 확인한다.
88
2. `build.gradle`, `settings.gradle`에서 모듈 구조, 의존성, verification task를 확인한다.
99
3. `.github/workflows/ci.yml`, `.github/workflows/deploy.yml`에서 CI verification lane과 pre-deploy gate를 확인한다.
10-
4. `src/test/java/`에서 current verification slice를 본다.
11-
- `*IT.java`는 Testcontainers 기반 integration lane이다.
10+
4. 현재 `src/test/` tree는 baseline reset 상태이므로, follow-up verification rebuild 전까지는 `build.gradle`과 workflow가 retained build-only lane을 어떻게 고정하는지 먼저 본다.
1211
5. `src/main/java/`, `src/main/resources/`에서 실제 구현과 runtime config를 읽는다.
1312

1413
## Source Of Truth
1514

1615
- repo overview: `README.md`
1716
- build and verification entrypoint: `build.gradle`
1817
- CI / deploy gate: `.github/workflows/ci.yml`, `.github/workflows/deploy.yml`
19-
- backend behavior and contracts: `src/main/java/`, `src/test/java/`
18+
- backend behavior and contracts: `src/main/java/`, `src/main/resources/`
2019
- runtime container surface: `Dockerfile`, `docker-compose.yml`
2120

2221
## 운영 원칙
2322

2423
- backend 구현 세부사항은 workflow repo 문서가 아니라 이 저장소의 문서, 설정, 코드, 테스트가 canonical source다.
2524
- root `README.md`는 개요만 유지한다. concrete bootstrap, verification, entrypoint 설명은 `AGENTS.md`와 named entry docs가 맡는다.
26-
- 현재 verification baseline command set은 `./gradlew test`, `./gradlew integrationTest`, packaging check `./gradlew build`다.
27-
- `./gradlew build`만으로는 `integrationTest`가 실행되지 않는다. CI/deploy gate는 이 순서를 명시적으로 호출하고, workflow에서는 마지막 packaging check를 `./gradlew build -x test`로 실행해 중복 unit test를 피한다.
28-
- `integrationTest`는 Docker/Testcontainers 전제를 가진다. 로컬 환경에서 Docker가 없으면 CI evidence와 함께 해석한다.
25+
- 현재 verification baseline command set은 `./gradlew build`다.
26+
- current baseline에는 dedicated test/integration lane이 없다. follow-up rebuild가 필요하면 `build.gradle`, workflow YAML, `AGENTS.md`를 함께 갱신한 뒤 repo-local baseline으로 다시 도입한다.
2927
- verification lane이나 deploy gate를 바꾸면 `build.gradle`, workflow YAML, `AGENTS.md`를 함께 맞춘다.
3028
- 현재 repo-local `.codex/skills/`는 없다. 별도 skill이 없을 때는 이 문서와 nearest code/test를 먼저 읽고 진행한다.

build.gradle

Lines changed: 0 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -46,40 +46,6 @@ dependencies {
4646
runtimeOnly 'io.micrometer:micrometer-registry-prometheus'
4747
runtimeOnly 'io.jsonwebtoken:jjwt-impl:0.12.3'
4848
runtimeOnly 'io.jsonwebtoken:jjwt-jackson:0.12.3'
49-
50-
testImplementation 'io.projectreactor:reactor-test'
51-
testImplementation 'org.springframework.security:spring-security-test'
52-
testImplementation 'org.springframework.batch:spring-batch-test'
53-
testImplementation 'org.springframework.boot:spring-boot-starter-test'
54-
testImplementation 'org.springframework.boot:spring-boot-testcontainers'
55-
testImplementation 'org.testcontainers:junit-jupiter'
56-
testImplementation 'org.testcontainers:mysql'
57-
58-
testRuntimeOnly 'com.h2database:h2'
59-
testRuntimeOnly 'org.junit.platform:junit-platform-launcher'
60-
}
61-
62-
// 단위 테스트: *IT.java 제외 (Docker 불필요)
63-
tasks.named('test') {
64-
useJUnitPlatform()
65-
exclude '**/*IT.class'
66-
}
67-
68-
// 통합 테스트: Testcontainers 기반 *IT.java만 별도 lane에서 실행
69-
// check 라이프사이클에는 연결하지 않고 CI/deploy verification이 명시적으로 호출한다.
70-
tasks.register('integrationTest', Test) {
71-
group = 'verification'
72-
description = 'Runs Testcontainers-backed integration tests.'
73-
useJUnitPlatform()
74-
include '**/*IT.class'
75-
76-
mustRunAfter tasks.named('test')
77-
78-
testClassesDirs = sourceSets.test.output.classesDirs
79-
classpath = sourceSets.test.runtimeClasspath
80-
81-
// Docker 29+는 최소 API 1.44를 요구하지만 docker-java 3.4.0은 기본값 1.32로 요청함
82-
systemProperty 'api.version', '1.44'
8349
}
8450
tasks.named('processResources') {
8551
filteringCharset = 'UTF-8'

0 commit comments

Comments
 (0)