File tree Expand file tree Collapse file tree 1 file changed +87
-0
lines changed Expand file tree Collapse file tree 1 file changed +87
-0
lines changed Original file line number Diff line number Diff line change 1+ name : Backend PR CI
2+
3+ env :
4+ BACKEND_DIR : back
5+
6+ on :
7+ pull_request :
8+ branches :
9+ # 개발 초기 - main으로의 PR 시 검사
10+ # 향후 dev로의 PR / dev -> main PR 시에도 검사
11+ - main
12+ - dev
13+ types : [
14+ # PR 생성 및 다시 오픈 시
15+ opened, reopened,
16+ # 최초 PR 제출 이후 작업 브랜치 push 발생 시
17+ synchronize
18+ ]
19+
20+ # 대상 경로의 수정 사항이 있을 때 동작
21+ paths :
22+ [
23+ " .github/workflows/**" ,
24+ " back/build.gradle.kts" ,
25+ " back/settings.gradle.kts" ,
26+ " back/src/**" ,
27+ " back/Dockerfile" ,
28+ ]
29+
30+ # 동일 브랜치에서 연속 실행 방지
31+ concurrency :
32+ group : backend-ci-${{ github.ref }}-${{ github.event.pull_request.number }}
33+ cancel-in-progress : true
34+
35+ permissions :
36+ contents : read
37+ # mikepenz/action-junit-report 구동을 위한 최소 조건
38+ checks : write
39+
40+ jobs :
41+ backend-ci :
42+ # 상단의 types 주석을 참고
43+ name : Backend CI
44+ runs-on : ubuntu-latest
45+
46+ # 작업 디렉토리
47+ defaults :
48+ run :
49+ working-directory : ./${{ env.BACKEND_DIR }}
50+
51+ steps :
52+ # 소스 코드 가져오기
53+ - name : Checkout repository
54+ uses : actions/checkout@v4
55+
56+ # JDK 설정
57+ # graalvm 21 사용
58+ - name : Set up JDK 21
59+ uses : actions/setup-java@v5
60+ with :
61+ distribution : " graalvm"
62+ java-version : " 21"
63+ cache : " gradle"
64+
65+ # Gradle 캐싱
66+ - name : Set up Gradle
67+ uses : gradle/actions/setup-gradle@v4
68+
69+ # Gradle 실행 권한 부여
70+ - name : Grant execute permission for gradlew
71+ run : chmod +x gradlew
72+
73+ # Secret으로 부터 .env 생성
74+ - name : Generate .env
75+ run : |
76+ printf "%s" "${{ secrets.DOT_ENV }}" > .env
77+
78+ # Gradle 빌드 및 테스트 진행
79+ - name : Execute Build and Tests
80+ run : ./gradlew clean build test --no-daemon --warning-mode=all
81+
82+ # 테스트 실행 결과 로깅 Action
83+ - name : Generate JUnit Test Report
84+ uses : mikepenz/action-junit-report@v5
85+ if : success() || failure() # 성공 여부 상관없이 실행
86+ with :
87+ report_paths : " **/build/test-results/test/TEST-*.xml"
You can’t perform that action at this time.
0 commit comments