Feat, refactor : 파일 업로드 기능 수정, 방명록 기능 구현 (#296) #319
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: PR Build & Test | |
| # PR 이벤트 트리거 (main, dev 브랜치 대상으로) | |
| on: | |
| pull_request: | |
| branches: | |
| - main | |
| - dev | |
| types: [opened, synchronize, reopened] | |
| jobs: | |
| # -------------------------- | |
| # main 브랜치용 build & test | |
| # -------------------------- | |
| build-and-test-main: | |
| if: github.base_ref == 'main' # main 브랜치로 PR이 들어올 때만 실행 | |
| runs-on: ubuntu-latest | |
| services: | |
| redis: | |
| image: redis:7 | |
| ports: | |
| - 6379:6379 | |
| mysql: | |
| image: mysql:8 | |
| ports: | |
| - 3306:3306 | |
| env: | |
| MYSQL_ROOT_PASSWORD: root_pass | |
| MYSQL_DATABASE: testdb | |
| # MySQL 헬스체크, MySQL 실행 준비 중인 동안 스프링부트 실행을 방지 | |
| options: >- | |
| --health-cmd="mysqladmin ping -h localhost -p$MYSQL_ROOT_PASSWORD" | |
| --health-interval=10s | |
| --health-timeout=5s | |
| --health-retries=3 | |
| steps: | |
| # 저장소 체크아웃 | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| # Java 21 설치 | |
| - name: Set up Java 21 | |
| uses: actions/setup-java@v3 | |
| with: | |
| distribution: 'temurin' # Eclipse Temurin JDK | |
| java-version: '21' # Gradle build.gradle toolchain에 맞춤 | |
| # .env 파일 생성 | |
| - name: Create .env file | |
| run: echo "${{ secrets.DOT_ENV }}" > .env | |
| # Build (테스트 제외) | |
| - name: Build project | |
| run: ./gradlew clean build -x test | |
| # Test 실행 | |
| - name: Run tests | |
| run: ./gradlew test | |
| # -------------------------- | |
| # dev 브랜치용 build & test | |
| # -------------------------- | |
| build-and-test-dev: | |
| if: github.base_ref == 'dev' # dev 브랜치로 PR이 들어올 때만 실행 | |
| runs-on: ubuntu-latest | |
| services: | |
| redis: | |
| image: redis:7 | |
| ports: | |
| - 6379:6379 | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Set up Java 21 | |
| uses: actions/setup-java@v3 | |
| with: | |
| distribution: 'temurin' | |
| java-version: '21' | |
| - name: Create .env file | |
| run: echo "${{ secrets.DOT_ENV }}" > .env | |
| - name: Build project | |
| run: ./gradlew clean build -x test | |
| - name: Run tests | |
| run: ./gradlew test |