[FEAT]: 게시글 CRUD 기능 구현 #5
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Backend PR CI | |
| env: | |
| BACKEND_DIR: back | |
| on: | |
| pull_request: | |
| branches: | |
| # 개발 초기 - main으로의 PR 시 검사 | |
| # 향후 dev로의 PR / dev -> main PR 시에도 검사 | |
| - main | |
| - dev | |
| types: [ | |
| # PR 생성 및 다시 오픈 시 | |
| opened, reopened, | |
| # 최초 PR 제출 이후 작업 브랜치 push 발생 시 | |
| synchronize | |
| ] | |
| # 대상 경로의 수정 사항이 있을 때 동작 | |
| paths: | |
| [ | |
| ".github/workflows/**", | |
| "back/build.gradle.kts", | |
| "back/settings.gradle.kts", | |
| "back/src/**", | |
| "back/Dockerfile", | |
| ] | |
| # 동일 브랜치에서 연속 실행 방지 | |
| concurrency: | |
| group: backend-ci-${{ github.ref }}-${{ github.event.pull_request.number }} | |
| cancel-in-progress: true | |
| permissions: | |
| contents: read | |
| # mikepenz/action-junit-report 구동을 위한 최소 조건 | |
| checks: write | |
| jobs: | |
| backend-ci: | |
| # 상단의 types 주석을 참고 | |
| name: Backend CI | |
| runs-on: ubuntu-latest | |
| # 작업 디렉토리 | |
| defaults: | |
| run: | |
| working-directory: ./${{ env.BACKEND_DIR }} | |
| steps: | |
| # 소스 코드 가져오기 | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| # JDK 설정 | |
| # graalvm 21 사용 | |
| - name: Set up JDK 21 | |
| uses: actions/setup-java@v5 | |
| with: | |
| distribution: "graalvm" | |
| java-version: "21" | |
| cache: "gradle" | |
| # Gradle 캐싱 | |
| - name: Set up Gradle | |
| uses: gradle/actions/setup-gradle@v4 | |
| # Gradle 실행 권한 부여 | |
| - name: Grant execute permission for gradlew | |
| run: chmod +x gradlew | |
| # Secret으로 부터 .env 생성 | |
| - name: Generate .env | |
| run: | | |
| printf "%s" "${{ secrets.DOT_ENV }}" > .env | |
| # Gradle 빌드 및 테스트 진행 | |
| - name: Execute Build and Tests | |
| run: ./gradlew clean build test --no-daemon --warning-mode=all | |
| # 테스트 실행 결과 로깅 Action | |
| - name: Generate JUnit Test Report | |
| uses: mikepenz/action-junit-report@v5 | |
| if: success() || failure() # 성공 여부 상관없이 실행 | |
| with: | |
| report_paths: "**/build/test-results/test/TEST-*.xml" |