Skip to content

프로필 기능 구현 앞서 팔로우 기능 간단 구현 #36

프로필 기능 구현 앞서 팔로우 기능 간단 구현

프로필 기능 구현 앞서 팔로우 기능 간단 구현 #36

Workflow file for this run

name: dev-build
on:
pull_request:
branches:
- develop # develop pr
types: [ opened, synchronize, reopened ]
workflow_dispatch:
jobs:
build:
name: Build and analyze
environment: develop-test
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis
- name: Set up JDK 21
uses: actions/setup-java@v4
with:
java-version: 21
distribution: 'zulu' # Alternative distribution options are available
- name: Cache Gradle packages
uses: actions/cache@v4
with:
path: ~/.gradle/caches
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle') }}
restore-keys: ${{ runner.os }}-gradle
- name: Cache SonarCloud packages
uses: actions/cache@v4
with:
path: ~/.sonar/cache
key: ${{ runner.os }}-sonar
restore-keys: ${{ runner.os }}-sonar
- name: MySQL 컨테이너 실행
run: |
docker run --name log4u-mysql \
-e MYSQL_ROOT_PASSWORD=root \
-e MYSQL_DATABASE=log4u \
-e MYSQL_USER=${{ secrets.DB_USERNAME }} \
-e MYSQL_PASSWORD=${{ secrets.DB_PASSWORD}} \
-d \
-p 3307:3306 \
mysql:8.0.33
- name: Wait for MySQL to be ready
run: |
for i in {1..10}; do
if docker exec log4u-mysql mysqladmin ping -h "127.0.0.1" --silent; then
echo "MySQL is ready!"
break
fi
echo "Waiting for MySQL to start..."
sleep 1
done
if ! docker exec log4u-mysql mysqladmin ping -h "127.0.0.1" --silent; then
echo "MySQL did not start in time!"
exit 1
fi
- name: Test and analyze
env:
#GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
DB_URL: ${{ secrets.DB_URL }}
DB_USERNAME: ${{ secrets.DB_USERNAME }}
DB_PASSWORD: ${{ secrets.DB_PASSWORD }}
NAVER_DEV_CLIENT_ID: ${{ secrets.NAVER_DEV_CLIENT_ID }}
NAVER_DEV_CLIENT_SECRET: ${{ secrets.NAVER_DEV_CLIENT_SECRET }}
NAVER_DEV_REDIRECT_URI: ${{ secrets.NAVER_DEV_REDIRECT_URI }}
GOOGLE_DEV_CLIENT_ID: ${{ secrets.GOOGLE_DEV_CLIENT_ID }}
GOOGLE_DEV_CLIENT_SECRET: ${{ secrets.GOOGLE_DEV_CLIENT_SECRET }}r
GOOGLE_DEV_REDIRECT_URI: ${{ secrets.GOOGLE_DEV_REDIRECT_URI }}
KAKAO_DEV_CLIENT_ID: ${{ secrets.KAKAO_DEV_CLIENT_ID }}
KAKAO_DEV_CLIENT_SECRET: ${{ secrets.KAKAO_DEV_CLIENT_SECRET }}
KAKAO_DEV_REDIRECT_URI: ${{ secrets.KAKAO_DEV_REDIRECT_URI }}
JWT_SECRET: ${{ secrets.JWT_SECRET }}
JWT_ACCESS_TOKEN_EXPIRE_TIME_SECONDS: ${{ secrets.JWT_ACCESS_TOKEN_EXPIRE_TIME_SECONDS }}
JWT_REFRESH_TOKEN_EXPIRE_TIME_SECONDS: ${{ secrets.JWT_ACCESS_TOKEN_EXPIRE_TIME_SECONDS }}
# dev 프로필 사용
run: |
chmod +x ./gradlew
# 소나클라우드 임시 비활성화 ./gradlew build jacocoTestReport sonar --info -Pprofile=dev -Dsonar.branch.name=${{ github.ref_name }}
./gradlew build -i jacocoTestReport -Pprofile=dev
- name: Docker MySQL 종료 및 제거
run: |
docker stop log4u-mysql
docker rm log4u-mysql
- name: Upload Test Report
uses: actions/upload-artifact@v4
with:
name: problems-report
path: build/reports/problems/problems-report.html