Skip to content

Commit 63ea0ae

Browse files
Use password protected certificate
1 parent 2f20d9a commit 63ea0ae

File tree

1 file changed

+12
-4
lines changed

1 file changed

+12
-4
lines changed

.github/workflows/ci.yaml

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -125,23 +125,31 @@ jobs:
125125
- run: dart format --set-exit-if-changed lib
126126
- name: Prepare certificate and provisioning profile
127127
env:
128+
IOS_CERTIFICATE_PASSWORD: ${{ secrets.IOS_CERTIFICATE_PASSWORD }}
128129
IOS_CERTIFICATE_BASE64: ${{ secrets.IOS_CERTIFICATE_BASE64 }}
129130
IOS_PROVISIONING_PROFILE_BASE64: ${{ secrets.IOS_PROVISIONING_PROFILE_BASE64 }}
131+
IOS_KEYCHAIN_PASSWORD: ${{ secrets.IOS_KEYCHAIN_PASSWORD }}
130132
run: |
131133
CERTIFICATE_PATH=$RUNNER_TEMP/build_certificate.p12
132134
PP_PATH=$RUNNER_TEMP/build_pp.mobileprovision
133135
KEYCHAIN_PATH=$RUNNER_TEMP/app-signing.keychain-db
134136
137+
# import certificate and provisioning profile from secrets
135138
echo -n "$IOS_CERTIFICATE_BASE64" | base64 --decode -o $CERTIFICATE_PATH
139+
136140
echo -n "$IOS_PROVISIONING_PROFILE_BASE64" | base64 --decode -o $PP_PATH
137141
138-
security create-keychain -p "" $KEYCHAIN_PATH
139-
security set-keychain-settings $KEYCHAIN_PATH
140-
security unlock-keychain -p "" $KEYCHAIN_PATH
142+
# create temporary keychain
143+
security create-keychain -p "$IOS_KEYCHAIN_PASSWORD" $KEYCHAIN_PATH
144+
security set-keychain-settings -lut 21600 $KEYCHAIN_PATH
145+
security unlock-keychain -p "$IOS_KEYCHAIN_PASSWORD" $KEYCHAIN_PATH
141146
142-
security import $CERTIFICATE_PATH -P "" -A -t cert -f pkcs12 -k $KEYCHAIN_PATH
147+
# import certificate to keychain
148+
security import $CERTIFICATE_PATH -P "$IOS_CERTIFICATE_PASSWORD" -A -t cert -f pkcs12 -k $KEYCHAIN_PATH
149+
security set-key-partition-list -S apple-tool:,apple: -k "$IOS_KEYCHAIN_PASSWORD" $KEYCHAIN_PATH
143150
security list-keychain -d user -s $KEYCHAIN_PATH
144151
152+
# apply provisioning profile
145153
mkdir -p ~/Library/MobileDevice/Provisioning\ Profiles
146154
cp $PP_PATH ~/Library/MobileDevice/Provisioning\ Profiles
147155
- name: Build .ipa

0 commit comments

Comments
 (0)