diff --git a/.github/workflows/pr_sync_ci.yaml b/.github/workflows/pr_sync_ci.yaml new file mode 100644 index 00000000..609d153e --- /dev/null +++ b/.github/workflows/pr_sync_ci.yaml @@ -0,0 +1,49 @@ +name: Spring Boot Gradle Test Workflow + +on: [ pull_request ] + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - name: Repository checkout + uses: actions/checkout@v2 + + - name: Setup MySQL + uses: mirromutth/mysql-action@v1.1 + with: + mysql database: ${{secrets.TEST_DATABASE}} + mysql user: ${{secrets.TEST_DB_USERNAME}} + mysql password: ${{secrets.TEST_DB_PASSWORD}} + # run 명령어로 schema 만드는 명령어 실행 + run: mysql -u ${{secrets.TEST_DB_USERNAME}} -p=${{secrets.TEST_DB_PASSWORD}} < ../.././mysql/schema.sql + + # java 설치 + - name: Set up JDK 17 + uses: actions/setup-java@v4.0.0 + with: + java-version: '17' + distribution: 'liberica' + + # 환경 변수 적용 + - name: Configure application.yaml under test directory + uses: microsoft/variable-substitution@v1 + with: + files: ./src/main/resources/application.yaml + env: + spring.datasource.url: jdbc:mysql://localhost:3306/${{ secrets.TEST_DATABASE }} + spring.datasource.username: ${{ secrets.TEST_DB_USERNAME }} + spring.datasource.password: ${{ secrets.TEST_DB_PASSWORD }} + + # gradle 권한 추가 + - name: Grant execute permission for gradlew + run: chmod +x gradlew + + # 프로젝트 빌드 + - name: Build with Gradle + run: ./gradlew clean build + + # 테스트 실행 + - name: Run Tests + run: ./gradlew test diff --git a/src/main/resources/application.yaml b/src/main/resources/application.yaml index 24ef874b..0e0e2a55 100644 --- a/src/main/resources/application.yaml +++ b/src/main/resources/application.yaml @@ -3,7 +3,7 @@ spring: driver-class-name: com.mysql.cj.jdbc.Driver username: root password: root - url: jdbc:mysql://localhost:3308/ootw + url: jdbc:mysql://localhost:3306/ootw jpa: hibernate: ddl-auto: validate diff --git a/src/test/resources/application-test.yaml b/src/test/resources/application-test.yaml new file mode 100644 index 00000000..0e0e2a55 --- /dev/null +++ b/src/test/resources/application-test.yaml @@ -0,0 +1,10 @@ +spring: + datasource: + driver-class-name: com.mysql.cj.jdbc.Driver + username: root + password: root + url: jdbc:mysql://localhost:3306/ootw + jpa: + hibernate: + ddl-auto: validate + open-in-view: false