55 branches :
66 - release
77
8- # 최신 push에 관한 CI 작업만 수행
98concurrency :
109 group : build-${{ github.ref }}
1110 cancel-in-progress : true
@@ -15,26 +14,46 @@ jobs:
1514 runs-on : macos-latest
1615
1716 steps :
18- - name : Checkout
17+ - name : Checkout repository
1918 uses : actions/checkout@v4
2019
20+ # 1. Xcode 버전 명시적 설정
2121 - name : Select Xcode
22- run : sudo xcode-select -switch /Applications/Xcode.app
22+ uses : maxim-lobanov/setup-xcode@v1
23+ with :
24+ xcode-version : ' 26.2'
25+
26+ # 2. SPM 매크로 지문 검증 우회 (빌드 안정성 확보)
27+ - name : Disable Macro Validation
28+ run : |
29+ defaults write com.apple.dt.Xcode IDESkipMacroFingerprintValidation -bool YES
30+ defaults write com.apple.dt.Xcode IDESkipPackagePluginFingerprintValidation -bool YES
2331
32+ # 3. SPM 의존성 사전 해결
33+ - name : Resolve SPM Dependencies
34+ run : xcodebuild -resolvePackageDependencies -project ./Neki-iOS.xcodeproj -scheme Neki-iOS
35+
36+ # 4. Match 인증서 저장소 접근을 위한 SSH 세팅
2437 - name : Install SSH key for Match
2538 uses : webfactory/ssh-agent@v0.8.0
2639 with :
2740 ssh-private-key : ${{ secrets.MATCH_SSH_KEY }}
2841
29- - name : Install Ruby Gems
30- run : bundle install
42+ # 5. Ruby 및 Fastlane 세팅 (Gemfile 활용)
43+ - name : Setup Ruby and Install Gems
44+ uses : ruby/setup-ruby@v1
45+ with :
46+ ruby-version : ' 3.2'
47+ bundler-cache : true
3148
49+ # 6. Fastlane 배포 실행
3250 - name : Run Fastlane Release
3351 run : bundle exec fastlane release
3452 env :
3553 APP_IDENTIFIER : ${{ secrets.APP_IDENTIFIER }}
3654 APPLE_ID : ${{ secrets.APPLE_ID }}
3755 TEAM_ID : ${{ secrets.TEAM_ID }}
56+ FASTLANE_ITC_TEAM_ID : ${{ secrets.FASTLANE_ITC_TEAM_ID }}
3857 ASC_KEY_ID : ${{ secrets.ASC_KEY_ID }}
3958 ASC_ISSUER_ID : ${{ secrets.ASC_ISSUER_ID }}
4059 ASC_KEY_CONTENT : ${{ secrets.ASC_KEY_CONTENT }}
0 commit comments