@@ -29,30 +29,36 @@ jobs:
2929 mkdir -p Neki-iOS/APP/Sources/Resources
3030 echo "${{ secrets.RELEASE_XCCONFIG }}" | base64 --decode > Neki-iOS/APP/Sources/Resources/Release.xcconfig
3131
32- # 3. SPM 매크로 지문 검증 우회
32+ # 3. 깃허브 Secret에서 Firebase Plist 파일 생성하기
33+ - name : Create Firebase Plist
34+ run : |
35+ mkdir -p Neki-iOS/APP/Sources/Resources/FirebaseConfig/Release
36+ echo "${{ secrets.FIREBASE_PLIST_RELEASE }}" | base64 --decode > Neki-iOS/APP/Sources/Resources/FirebaseConfig/Release/GoogleService-Info.plist
37+
38+ # 4. SPM 매크로 지문 검증 우회
3339 - name : Disable Macro Validation
3440 run : |
3541 defaults write com.apple.dt.Xcode IDESkipMacroFingerprintValidation -bool YES
3642 defaults write com.apple.dt.Xcode IDESkipPackagePluginFingerprintValidation -bool YES
3743
38- # 4 . SPM 의존성 사전 해결
44+ # 5 . SPM 의존성 사전 해결
3945 - name : Resolve SPM Dependencies
4046 run : xcodebuild -resolvePackageDependencies -project ./Neki-iOS.xcodeproj -scheme Neki-iOS
4147
42- # 5 . Match 인증서 저장소 접근을 위한 SSH 세팅
48+ # 6 . Match 인증서 저장소 접근을 위한 SSH 세팅
4349 - name : Install SSH key for Match
4450 uses : webfactory/ssh-agent@v0.8.0
4551 with :
4652 ssh-private-key : ${{ secrets.MATCH_SSH_KEY }}
4753
48- # 6 . Ruby 및 Fastlane 세팅 (Gemfile 활용)
54+ # 7 . Ruby 및 Fastlane 세팅 (Gemfile 활용)
4955 - name : Setup Ruby and Install Gems
5056 uses : ruby/setup-ruby@v1
5157 with :
5258 ruby-version : ' 3.2'
5359 bundler-cache : true
5460
55- # 7 . Fastlane 배포 실행
61+ # 8 . Fastlane 배포 실행
5662 - name : Run Fastlane Release
5763 run : bundle exec fastlane release
5864 env :
6571 ASC_KEY_CONTENT : ${{ secrets.ASC_KEY_CONTENT }}
6672 MATCH_PASSWORD : ${{ secrets.MATCH_PASSWORD }}
6773
68- # 8 . 배포 완료 후 서버로 최신 버전 정보 POST 요청
74+ # 9 . 배포 완료 후 서버로 최신 버전 정보 POST 요청
6975 - name : Send Version Update to Server
7076 if : success() # 배포가 성공적으로 끝났을 때만 실행
7177 run : |
@@ -75,15 +81,15 @@ jobs:
7581 echo "추출된 최신 버전: $APP_VERSION"
7682
7783 # 추출된 버전을 JSON 바디에 담아서 서버로 POST 요청 (minVersion은 필요시 추후 수정)
78- curl -X PATCH "${{ secrets.APP_VERSION_API_ADDRESS }}" \
79- -H "Content-Type: application/json" \
80- -H "Authorization: Bearer empty_token_just_for_header" \
81- -d "{
82- \"minVersion\": \"1.0.0\",
83- \"currentVersion\": \"$APP_VERSION\"
84- }"
84+ curl -X PATCH "${{ secrets.APP_VERSION_API_ADDRESS }}" \
85+ -H "Content-Type: application/json" \
86+ -H "Authorization: Bearer empty_token_just_for_header" \
87+ -d "{
88+ \"minVersion\": \"1.0.0\",
89+ \"currentVersion\": \"$APP_VERSION\"
90+ }"
8591
86- # 9 . Discord 결과 알림 (성공/실패 여부 전송)
92+ # 10 . Discord 결과 알림 (성공/실패 여부 전송)
8793 - name : Send Discord notification
8894 if : always() # 빌드 성공/실패 여부와 상관없이 무조건 실행
8995 run : |
94100 fi
95101 PAYLOAD=$(jq -n --arg content "$STATUS (${{ github.repository }})" '{content: $content}')
96102 curl -H "Content-Type: application/json" \
97- -X POST \
98- -d "$PAYLOAD" \
99- ${{ secrets.DISCORD_WEBHOOK_URL }}
103+ -X POST \
104+ -d "$PAYLOAD" \
105+ ${{ secrets.DISCORD_WEBHOOK_URL }}
0 commit comments