@@ -129,50 +129,20 @@ jobs:
129129 - run : make sdk-build
130130 - run : make react-native-npm-ci
131131 - run : make react-native-pod-install
132- - name : Install the Apple certificate and provisioning profile
133- env :
134- IOS_CERTIFICATE_BASE64 : ${{ secrets.REACT_NATIVE_IOS_CERTIFICATE_BASE64 }}
135- IOS_PROVISIONING_PROFILE_BASE64 : ${{ secrets.REACT_NATIVE_IOS_PROVISIONING_PROFILE_BASE64 }}
136- run : |
137- CERTIFICATE_PATH=$RUNNER_TEMP/build_certificate.p12
138- PP_PATH=$RUNNER_TEMP/build_pp.mobileprovision
139- KEYCHAIN_PATH=$RUNNER_TEMP/app-signing.keychain-db
140-
141- echo -n "$IOS_CERTIFICATE_BASE64" | base64 --decode -o $CERTIFICATE_PATH
142- echo -n "$IOS_PROVISIONING_PROFILE_BASE64" | base64 --decode -o $PP_PATH
143-
144- security create-keychain -p "" $KEYCHAIN_PATH
145- security set-keychain-settings $KEYCHAIN_PATH
146- security unlock-keychain -p "" $KEYCHAIN_PATH
147-
148- security import $CERTIFICATE_PATH -P "" -A -t cert -f pkcs12 -k $KEYCHAIN_PATH
149- security list-keychain -d user -s $KEYCHAIN_PATH
150-
151- mkdir -p ~/Library/MobileDevice/Provisioning\ Profiles
152- cp $PP_PATH ~/Library/MobileDevice/Provisioning\ Profiles
153- - name : Install App Store Connect API key
154- env :
155- IOS_API_KEY_BASE64 : ${{ secrets.IOS_API_KEY_BASE64 }}
156- IOS_API_KEY_ID : ${{ secrets.IOS_API_KEY_ID }}
157- run : |
158- API_KEY_PATH=$RUNNER_TEMP/AuthKey_${IOS_API_KEY_ID}.p8
159- echo -n "$IOS_API_KEY_BASE64" | base64 --decode -o $API_KEY_PATH
160- - name : Create fastlane api key json
161- env :
162- API_ISSUER : ${{ secrets.IOS_API_KEY_ISSUER }}
163- API_KEY : ${{ secrets.IOS_API_KEY_ID }}
164- run : |
165- export API_KEY_PATH=$RUNNER_TEMP/AuthKey_${API_KEY}.p8
166- make fastlane-api-key-json
132+ - uses : authgear/gh-actions-install-apple-certificate-and-provisioning-profile@v1
133+ with :
134+ certificate_base64 : ${{ secrets.REACT_NATIVE_IOS_CERTIFICATE_BASE64 }}
135+ provisioning_profile_base64 : ${{ secrets.REACT_NATIVE_IOS_PROVISIONING_PROFILE_BASE64 }}
136+ - uses : authgear/gh-actions-create-fastlane-api-key-json-file@v1
137+ with :
138+ api_key_id : ${{ secrets.IOS_API_KEY_ID }}
139+ api_key_issuer : ${{ secrets.IOS_API_KEY_ISSUER }}
140+ api_key_base64 : ${{ secrets.IOS_API_KEY_BASE64 }}
141+ output_path : ./build/fastlane-api-key.json
167142 - run : make react-native-build-ios-app
168143 - name : Upload to TestFlight
169144 if : ${{ github.ref == 'refs/heads/master' }}
170145 run : make react-native-upload-ios-app
171- - name : Clean up keychain and provisioning profile
172- if : ${{ always() }}
173- run : |
174- security delete-keychain $RUNNER_TEMP/app-signing.keychain-db
175- rm ~/Library/MobileDevice/Provisioning\ Profiles/build_pp.mobileprovision
176146
177147 react_native_android :
178148 if : ${{ github.repository == 'authgear/authgear-sdk-js' }}
@@ -231,50 +201,20 @@ jobs:
231201 - run : make capacitor-npm-ci
232202 - run : make capacitor-npm-audit
233203 - run : make capacitor-build-js
234- - name : Install the Apple certificate and provisioning profile
235- env :
236- IOS_CERTIFICATE_BASE64 : ${{ secrets.CAPACITOR_IOS_CERTIFICATE_BASE64 }}
237- IOS_PROVISIONING_PROFILE_BASE64 : ${{ secrets.CAPACITOR_IOS_PROVISIONING_PROFILE_BASE64 }}
238- run : |
239- CERTIFICATE_PATH=$RUNNER_TEMP/build_certificate.p12
240- PP_PATH=$RUNNER_TEMP/build_pp.mobileprovision
241- KEYCHAIN_PATH=$RUNNER_TEMP/app-signing.keychain-db
242-
243- echo -n "$IOS_CERTIFICATE_BASE64" | base64 --decode -o $CERTIFICATE_PATH
244- echo -n "$IOS_PROVISIONING_PROFILE_BASE64" | base64 --decode -o $PP_PATH
245-
246- security create-keychain -p "" $KEYCHAIN_PATH
247- security set-keychain-settings $KEYCHAIN_PATH
248- security unlock-keychain -p "" $KEYCHAIN_PATH
249-
250- security import $CERTIFICATE_PATH -P "" -A -t cert -f pkcs12 -k $KEYCHAIN_PATH
251- security list-keychain -d user -s $KEYCHAIN_PATH
252-
253- mkdir -p ~/Library/MobileDevice/Provisioning\ Profiles
254- cp $PP_PATH ~/Library/MobileDevice/Provisioning\ Profiles
255- - name : Install App Store Connect API key
256- env :
257- IOS_API_KEY_BASE64 : ${{ secrets.IOS_API_KEY_BASE64 }}
258- IOS_API_KEY_ID : ${{ secrets.IOS_API_KEY_ID }}
259- run : |
260- API_KEY_PATH=$RUNNER_TEMP/AuthKey_${IOS_API_KEY_ID}.p8
261- echo -n "$IOS_API_KEY_BASE64" | base64 --decode -o $API_KEY_PATH
262- - name : Create fastlane api key json
263- env :
264- API_ISSUER : ${{ secrets.IOS_API_KEY_ISSUER }}
265- API_KEY : ${{ secrets.IOS_API_KEY_ID }}
266- run : |
267- export API_KEY_PATH=$RUNNER_TEMP/AuthKey_${API_KEY}.p8
268- make fastlane-api-key-json
204+ - uses : authgear/gh-actions-install-apple-certificate-and-provisioning-profile@v1
205+ with :
206+ certificate_base64 : ${{ secrets.CAPACITOR_IOS_CERTIFICATE_BASE64 }}
207+ provisioning_profile_base64 : ${{ secrets.CAPACITOR_IOS_PROVISIONING_PROFILE_BASE64 }}
208+ - uses : authgear/gh-actions-create-fastlane-api-key-json-file@v1
209+ with :
210+ api_key_id : ${{ secrets.IOS_API_KEY_ID }}
211+ api_key_issuer : ${{ secrets.IOS_API_KEY_ISSUER }}
212+ api_key_base64 : ${{ secrets.IOS_API_KEY_BASE64 }}
213+ output_path : ./build/fastlane-api-key.json
269214 - run : make capacitor-build-ios-app
270215 - name : Upload to TestFlight
271216 if : ${{ github.ref == 'refs/heads/master' }}
272217 run : make capacitor-upload-ios-app
273- - name : Clean up keychain and provisioning profile
274- if : ${{ always() }}
275- run : |
276- security delete-keychain $RUNNER_TEMP/app-signing.keychain-db
277- rm ~/Library/MobileDevice/Provisioning\ Profiles/build_pp.mobileprovision
278218
279219 capacitor_android :
280220 if : ${{ github.repository == 'authgear/authgear-sdk-js' }}
0 commit comments