Skip to content

feature : 게시글 상품 좋아요 on/off api 구현(#166) #140

feature : 게시글 상품 좋아요 on/off api 구현(#166)

feature : 게시글 상품 좋아요 on/off api 구현(#166) #140

name: develop pull request Check and Test
on:
pull_request:
branches: [ "develop" ]
jobs:
test:
runs-on: ubuntu-latest
steps:
# 체크아웃
- name: Checkout
uses: actions/checkout@v4
# JDK 17 세팅
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: '17'
distribution: 'temurin'
# 테스트 환경에서 필요한 컨테이너 실행 (redis, postgres)
- name: Run Containers
run: docker compose -f ./docker-compose-test.yml up -d
# 테스트 환경에서 필요한 스키마, 데이터 등록
- 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 "⏳ 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
run: chmod +x ./gradlew
# .env 파일 생성
- name: Load secrets into .env file
run: |
echo "${{ secrets.ENV }}" >> .env
# Gradle setup, check(코드 품질 관리, 테스트) 실행
- name: Setup Gradle
uses: gradle/gradle-build-action@v2
with:
arguments: check
cache-read-only: ${{ github.ref != 'refs/heads/main' && github.ref != 'refs/heads/develop' }}