8080 build/SnapSafe.ipa
8181 token : ${{ secrets.GITHUB_TOKEN }}
8282
83+ - name : Upload IPA artifact
84+ uses : actions/upload-artifact@v4
85+ with :
86+ name : SnapSafe-IPA
87+ path : build/SnapSafe.ipa
88+ retention-days : 1
89+
8390 build-and-publish-app-store :
84- name : Build and publish to App Store
91+ name : Upload to App Store
8592 runs-on : macos-latest
8693 needs : build-and-publish-github-release
8794 timeout-minutes : 30
9097 - name : Checkout code
9198 uses : actions/checkout@v5
9299
93- - name : Set Xcode version
94- run : sudo xcode-select -s /Applications/Xcode_26.0.1.app
95-
96- - name : Show Xcode version
97- run : xcodebuild -version
98-
99100 - name : Set up Ruby
100101 uses : ruby/setup-ruby@v1
101102 with :
@@ -105,45 +106,15 @@ jobs:
105106 - name : Install dependencies
106107 run : bundle install
107108
108- - name : Disable macro validation
109- run : |
110- defaults write com.apple.dt.Xcode IDESkipMacroFingerprintValidation -bool YES
111-
112- - name : Import certificates
113- env :
114- CERTIFICATE_BASE64 : ${{ secrets.IOS_DISTRIBUTION_CERTIFICATE_BASE64 }}
115- CERTIFICATE_PASSWORD : ${{ secrets.IOS_DISTRIBUTION_CERTIFICATE_PASSWORD }}
116- PROVISIONING_PROFILE_BASE64 : ${{ secrets.IOS_PROVISIONING_PROFILE_BASE64 }}
117- KEYCHAIN_PASSWORD : ${{ secrets.KEYCHAIN_PASSWORD }}
118- run : |
119- # Create keychain
120- KEYCHAIN_PATH=$RUNNER_TEMP/app-signing.keychain-db
121- security create-keychain -p "$KEYCHAIN_PASSWORD" $KEYCHAIN_PATH
122- security set-keychain-settings -lut 21600 $KEYCHAIN_PATH
123- security unlock-keychain -p "$KEYCHAIN_PASSWORD" $KEYCHAIN_PATH
124-
125- # Import certificate
126- CERTIFICATE_PATH=$RUNNER_TEMP/certificate.p12
127- echo "$CERTIFICATE_BASE64" | base64 --decode > $CERTIFICATE_PATH
128- security import $CERTIFICATE_PATH -P "$CERTIFICATE_PASSWORD" -A -t cert -f pkcs12 -k $KEYCHAIN_PATH
129- security list-keychain -d user -s $KEYCHAIN_PATH
130-
131- # Import provisioning profile
132- PROVISION_PATH=$RUNNER_TEMP/provision.mobileprovision
133- echo "$PROVISIONING_PROFILE_BASE64" | base64 --decode > $PROVISION_PATH
134- mkdir -p ~/Library/MobileDevice/Provisioning\ Profiles
135- cp $PROVISION_PATH ~/Library/MobileDevice/Provisioning\ Profiles/
136-
137- - name : Set up App Store Connect API Key
138- env :
139- API_KEY_CONTENT : ${{ secrets.APP_STORE_CONNECT_API_KEY_CONTENT }}
140- API_KEY_ID : ${{ secrets.APP_STORE_CONNECT_API_KEY_ID }}
141- run : |
142- mkdir -p ~/private_keys
143- echo "$API_KEY_CONTENT" | base64 --decode > ~/private_keys/AuthKey_${API_KEY_ID}.p8
109+ - name : Download IPA artifact
110+ uses : actions/download-artifact@v4
111+ with :
112+ name : SnapSafe-IPA
113+ path : build
144114
145- - name : Deploy to App Store
115+ - name : Upload to App Store
146116 env :
147117 APP_STORE_CONNECT_API_KEY_ID : ${{ secrets.APP_STORE_CONNECT_API_KEY_ID }}
148118 APP_STORE_CONNECT_ISSUER_ID : ${{ secrets.APP_STORE_CONNECT_ISSUER_ID }}
119+ APP_STORE_CONNECT_API_KEY_CONTENT : ${{ secrets.APP_STORE_CONNECT_API_KEY_CONTENT }}
149120 run : bundle exec fastlane deploy
0 commit comments