diff --git a/.github/workflows/develop_build_deploy.yml b/.github/workflows/develop_build_deploy.yml index 7d8d7d9..00e8c1c 100644 --- a/.github/workflows/develop_build_deploy.yml +++ b/.github/workflows/develop_build_deploy.yml @@ -31,9 +31,20 @@ jobs: # 테스트 환경에서 필요한 스키마, 데이터 등록 - name: Apply Schema and Data + env: + TEST_POSTGRES_CONTAINER_NAME: "${{ github.event.repository.name }}-postgres-1" + TEST_POSTGRES_USER: test + TEST_POSTGRES_DB: ftm_test_db run: | - echo "${{ secrets.SCHEMA_SQL }}" > src/test/resources/test-schema.sql - echo "${{ secrets.DATA_SQL }}" > src/test/resources/test-data.sql + echo "⏳ Waiting for postgres to be ready..." + until docker exec -i $TEST_POSTGRES_CONTAINER_NAME pg_isready -U $TEST_POSTGRES_USER -d $TEST_POSTGRES_DB; do + echo "postgres is not ready yet. Retrying in 3 seconds..." + sleep 3 + done + echo "✅ postgres is ready!" + + echo "${{ secrets.SCHEMA_SQL }}" | docker exec -i $TEST_POSTGRES_CONTAINER_NAME psql -U $TEST_POSTGRES_USER -d $TEST_POSTGRES_DB + echo "${{ secrets.DATA_SQL }}" | docker exec -i $TEST_POSTGRES_CONTAINER_NAME psql -U $TEST_POSTGRES_USER -d $TEST_POSTGRES_DB # Gradlew 실행 권한 허용 - name: Grant Execute Permission for Gradlew @@ -44,13 +55,21 @@ jobs: run: | echo "${{ secrets.ENV }}" >> .env + # Swagger API 문서화 task 실행 + - name: Apply Swagger API Document Task + run: ./gradlew copyOasToSwagger + + # Rest Docs API 문서화 task 실행 + - name: Apply Rest Docs API Document Task + run: ./gradlew copyDocument + # Gradle 빌드 - name: Build with Gradle id: gradle uses: gradle/gradle-build-action@v2 with: arguments: | - build + bootJar --scan cache-read-only: ${{ github.ref != 'refs/heads/main' && github.ref != 'refs/heads/develop' }} diff --git a/.github/workflows/develop_pull_request.yml b/.github/workflows/develop_pull_request.yml index aebb5cd..08ae798 100644 --- a/.github/workflows/develop_pull_request.yml +++ b/.github/workflows/develop_pull_request.yml @@ -26,9 +26,20 @@ jobs: # 테스트 환경에서 필요한 스키마, 데이터 등록 - name: Apply Schema and Data + env: + TEST_POSTGRES_CONTAINER_NAME: "${{ github.event.repository.name }}-postgres-1" + TEST_POSTGRES_USER: test + TEST_POSTGRES_DB: ftm_test_db run: | - echo "${{ secrets.SCHEMA_SQL }}" > src/test/resources/test-schema.sql - echo "${{ secrets.DATA_SQL }}" > src/test/resources/test-data.sql + echo "⏳ Waiting for postgres to be ready..." + until docker exec -i $TEST_POSTGRES_CONTAINER_NAME pg_isready -U $TEST_POSTGRES_USER -d $TEST_POSTGRES_DB; do + echo "postgres is not ready yet. Retrying in 3 seconds..." + sleep 3 + done + echo "✅ postgres is ready!" + + echo "${{ secrets.SCHEMA_SQL }}" | docker exec -i $TEST_POSTGRES_CONTAINER_NAME psql -U $TEST_POSTGRES_USER -d $TEST_POSTGRES_DB + echo "${{ secrets.DATA_SQL }}" | docker exec -i $TEST_POSTGRES_CONTAINER_NAME psql -U $TEST_POSTGRES_USER -d $TEST_POSTGRES_DB # Gradlew 실행 권한 허용 - name: Grant Execute Permission for Gradlew