@@ -64,40 +64,32 @@ jobs:
6464 - name : Grant execute permission for gradlew
6565 run : chmod +x ./gradlew
6666
67- # 5. application-secrets.yml 생성
68- - name : Generate application-secrets.yml
69- run : |
70- mkdir -p src/main/resources
71- echo "${{ secrets.APPLICATION_SECRET_YML }}" > src/main/resources/application-secrets.yml
72- echo "OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}" >> src/main/resources/application-secrets.yml
73-
74- echo "spring.cloud.aws.region.static: ${{ secrets.AWS_REGION }}" >> src/main/resources/application-secrets.yml
75- echo "spring.cloud.aws.credentials.access-key: ${{ secrets.AWS_ACCESS_KEY_ID }}" >> src/main/resources/application-secrets.yml
76- echo "spring.cloud.aws.credentials.secret-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}" >> src/main/resources/application-secrets.yml
77- echo "spring.cloud.aws.s3.bucket: ${{ secrets.AWS_S3_BUCKET_NAME }}" >> src/main/resources/application-secrets.yml
78- echo "spring.cloud.aws.stack.auto: false" >> src/main/resources/application-secrets.yml
79-
80- echo "liveblocks.secret-key: ${{ secrets.LIVEBLOCKS_SECRET_KEY }}" >> src/main/resources/application-secrets.yml
81-
82- # 6. application-secrets-server.yml 생성
83- - name : Generate application-secrets-server.yml
84- run : |
85- mkdir -p src/main/resources
86- echo "${{ secrets.APPLICATION_SECRET_SERVER_YML }}" > src/main/resources/application-secrets-server.yml
87- echo "OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}" >> src/main/resources/application-secrets-server.yml
88-
89- # 7. Gradle 테스트 실행
67+ # 5. Gradle 테스트 실행
9068 - name : Test with Gradle
9169 # 테스트 단계에서 RabbitMQ 연결을 위한 환경 변수 설정
9270 env :
71+ OPENAI_API_KEY : ${{ secrets.OPENAI_API_KEY }}
9372 SPRING_RABBITMQ_HOST : localhost
94- SPRING_RABBITMQ_PORT : 5672
9573 SPRING_RABBITMQ_USERNAME : guest
9674 SPRING_RABBITMQ_PASSWORD : guest
97- run : ./gradlew test
98-
99- # 8. 테스트 결과 요약 출력
75+ KAKAO_CLIENT_ID : ${{ secrets.OAUTH_KAKAO_CLIENT_ID }}
76+ GOOGLE_CLIENT_ID : ${{ secrets.OAUTH_GOOGLE_CLIENT_ID }}
77+ GOOGLE_CLIENT_SECRET : ${{ secrets.OAUTH_GOOGLE_CLIENT_SECRET }}
78+ AWS_ACCESS_KEY_ID : ${{ secrets.AWS_ACCESS_KEY_ID }}
79+ AWS_SECRET_ACCESS_KEY : ${{ secrets.AWS_SECRET_ACCESS_KEY }}
80+ AWS_S3_BUCKET_NAME : ${{ secrets.AWS_S3_BUCKET_NAME }}
81+ SENTRY_DSN : ${{ secrets.SENTRY_DSN }}
82+ JWT_SECRET_KEY : ${{ secrets.JWT_SECRET_KEY }}
83+ JWT_ACCESS_TOKEN_VALIDITY : ${{ secrets.JWT_ACCESS_TOKEN_VALIDITY }}
84+ JWT_REFRESH_TOKEN_VALIDITY : ${{ secrets.JWT_REFRESH_TOKEN_VALIDITY }}
85+ NAVER_CLIENT_ID : ${{ secrets.NAVER_CLIENT_ID }}
86+ NAVER_CLIENT_SECRET : ${{ secrets.NAVER_CLIENT_SECRET }}
87+ LIVEBLOCKS_SECRET_KEY : ${{ secrets.LIVEBLOCKS_SECRET_KEY }}
88+ run : ./gradlew test --stacktrace
89+
90+ # 6. 테스트 결과 요약 출력
10091 - name : Show test results
92+ if : always() # 테스트 실패 여부와 상관없이 항상 실행
10193 run : |
10294 echo "==== Test Results ===="
10395 if compgen -G "build/test-results/test/TEST-*.xml" > /dev/null; then
@@ -113,28 +105,19 @@ jobs:
113105 echo "No test results found."
114106 fi
115107
116- # 8-1. S3 자격 증명 제거 (빌드 전에만)
117- - name : Remove only S3 credentials before building
118- run : |
119- CONFIG_FILE="src/main/resources/application-secrets.yml"
120- sed -i '/spring.cloud.aws.credentials.access-key/d' $CONFIG_FILE
121- sed -i '/spring.cloud.aws.credentials.secret-key/d' $CONFIG_FILE
122- sed -i '/spring.cloud.aws.region.static/d' $CONFIG_FILE
123- sed -i '/spring.cloud.aws.stack.auto/d' $CONFIG_FILE
124-
125- # 9. Gradle 빌드 실행 (테스트 성공 시)
108+ # 7. Gradle 빌드 실행 (테스트 성공 시)
126109 - name : Build with Gradle
127110 run : ./gradlew build -x test
128111
129- # 10 . GHCR 로그인
112+ # 8 . GHCR 로그인
130113 - name : Log in to GHCR
131114 uses : docker/login-action@v2
132115 with :
133116 registry : ghcr.io
134117 username : ${{ github.repository_owner }}
135118 password : ${{ secrets.GITHUB_TOKEN }}
136119
137- # 11 . Docker 이미지 빌드 & 푸시
120+ # 9 . Docker 이미지 빌드 & 푸시
138121 - name : Build & Push Docker Image
139122 run : |
140123 IMAGE_NAME=ghcr.io/${{ github.repository }}/zoopzoop
0 commit comments