Skip to content

Commit 48fc815

Browse files
Use shared github actions
1 parent b14320b commit 48fc815

File tree

2 files changed

+11
-61
lines changed

2 files changed

+11
-61
lines changed

.github/workflows/ci.yaml

Lines changed: 11 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -107,59 +107,22 @@ jobs:
107107
- run: make example-flutter-test
108108
- run: make example-flutter-analyze
109109
- run: make example-dart-format
110-
- name: Prepare certificate and provisioning profile
111-
env:
112-
IOS_CERTIFICATE_PASSWORD: ${{ secrets.IOS_CERTIFICATE_PASSWORD }}
113-
IOS_CERTIFICATE_BASE64: ${{ secrets.IOS_CERTIFICATE_BASE64 }}
114-
IOS_PROVISIONING_PROFILE_BASE64: ${{ secrets.IOS_PROVISIONING_PROFILE_BASE64 }}
115-
IOS_KEYCHAIN_PASSWORD: ${{ secrets.IOS_KEYCHAIN_PASSWORD }}
116-
run: |
117-
CERTIFICATE_PATH=$RUNNER_TEMP/build_certificate.p12
118-
PP_PATH=$RUNNER_TEMP/build_pp.mobileprovision
119-
KEYCHAIN_PATH=$RUNNER_TEMP/app-signing.keychain-db
120-
121-
# import certificate and provisioning profile from secrets
122-
echo -n "$IOS_CERTIFICATE_BASE64" | base64 --decode -o $CERTIFICATE_PATH
123-
124-
echo -n "$IOS_PROVISIONING_PROFILE_BASE64" | base64 --decode -o $PP_PATH
125-
126-
# create temporary keychain
127-
security create-keychain -p "$IOS_KEYCHAIN_PASSWORD" $KEYCHAIN_PATH
128-
security set-keychain-settings -lut 21600 $KEYCHAIN_PATH
129-
security unlock-keychain -p "$IOS_KEYCHAIN_PASSWORD" $KEYCHAIN_PATH
130-
131-
# import certificate to keychain
132-
security import $CERTIFICATE_PATH -P "$IOS_CERTIFICATE_PASSWORD" -A -t cert -f pkcs12 -k $KEYCHAIN_PATH
133-
security set-key-partition-list -S apple-tool:,apple: -k "$IOS_KEYCHAIN_PASSWORD" $KEYCHAIN_PATH
134-
security list-keychain -d user -s $KEYCHAIN_PATH
135-
136-
# apply provisioning profile
137-
mkdir -p ~/Library/MobileDevice/Provisioning\ Profiles
138-
cp $PP_PATH ~/Library/MobileDevice/Provisioning\ Profiles
139-
- name: Install App Store Connect API key
140-
env:
141-
IOS_API_KEY_BASE64: ${{ secrets.IOS_API_KEY_BASE64 }}
142-
IOS_API_KEY_ID: ${{ secrets.IOS_API_KEY_ID }}
143-
run: |
144-
API_KEY_PATH=$RUNNER_TEMP/AuthKey_${IOS_API_KEY_ID}.p8
145-
echo -n "$IOS_API_KEY_BASE64" | base64 --decode -o $API_KEY_PATH
146-
- name: Create fastlane api key json
147-
env:
148-
API_ISSUER: ${{ secrets.IOS_API_KEY_ISSUER }}
149-
API_KEY: ${{ secrets.IOS_API_KEY_ID }}
150-
run: |
151-
export API_KEY_PATH=$RUNNER_TEMP/AuthKey_${API_KEY}.p8
152-
make fastlane-api-key-json
110+
- uses: authgear/gh-actions-install-apple-certificate-and-provisioning-profile@v1
111+
with:
112+
certificate_base64: ${{ secrets.IOS_CERTIFICATE_BASE64 }}
113+
certificate_password: ${{ secrets.IOS_CERTIFICATE_PASSWORD }}
114+
provisioning_profile_base64: ${{ secrets.IOS_PROVISIONING_PROFILE_BASE64 }}
115+
- uses: authgear/gh-actions-create-fastlane-api-key-json-file@v1
116+
with:
117+
api_key_id: ${{ secrets.IOS_API_KEY_ID }}
118+
api_key_issuer: ${{ secrets.IOS_API_KEY_ISSUER }}
119+
api_key_base64: ${{ secrets.IOS_API_KEY_BASE64 }}
120+
output_path: ./build/fastlane-api-key.json
153121
- run: make example-pod-install
154122
- run: make example-build-ios-app
155123
- name: Upload to TestFlight
156124
if: ${{ github.ref == 'refs/heads/main' }}
157125
run: make example-upload-ios-app
158-
- name: Clean up keychain and provisioning profile
159-
if: ${{ always() }}
160-
run: |
161-
security delete-keychain $RUNNER_TEMP/app-signing.keychain-db
162-
rm ~/Library/MobileDevice/Provisioning\ Profiles/build_pp.mobileprovision
163126

164127
deploy-android:
165128
runs-on: macos-14

Makefile

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,3 @@
1-
API_ISSUER ?= "invalid"
2-
API_KEY ?= "invalid"
3-
API_KEY_PATH ?= ./AuthKey_invalid.p8
4-
5-
.PHONY: fastlane-api-key-json
6-
fastlane-api-key-json:
7-
mkdir -p ./build
8-
jq --slurp --raw-input > ./build/fastlane-api-key.json \
9-
--arg key_id $(API_KEY) \
10-
--arg issuer_id $(API_ISSUER) \
11-
'{key_id: $$key_id, issuer_id: $$issuer_id, key: .}' \
12-
$(API_KEY_PATH)
13-
141
.PHONY: example-flutter-pub-get
152
example-flutter-pub-get:
163
cd ./example; flutter pub get

0 commit comments

Comments
 (0)