Skip to content

Commit bdc0a4d

Browse files
committed
install Apple certificate and provisioning profile in build workflow
1 parent 9e3cefc commit bdc0a4d

File tree

2 files changed

+28
-0
lines changed

2 files changed

+28
-0
lines changed

.github/workflows/build.yaml

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,34 @@ jobs:
3636
env:
3737
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
3838
run: pnpm build
39+
- name: Install the Apple certificate and provisioning profile
40+
env:
41+
BUILD_CERTIFICATE_BASE64: ${{ secrets.BUILD_CERTIFICATE_BASE64 }}
42+
P12_PASSWORD: ${{ secrets.P12_PASSWORD }}
43+
BUILD_PROVISION_PROFILE_BASE64: ${{ secrets.BUILD_PROVISION_PROFILE_BASE64 }}
44+
KEYCHAIN_PASSWORD: ${{ secrets.KEYCHAIN_PASSWORD }}
45+
run: |
46+
# create variables
47+
CERTIFICATE_PATH=$RUNNER_TEMP/build_certificate.p12
48+
PP_PATH=$RUNNER_TEMP/build_pp.mobileprovision
49+
KEYCHAIN_PATH=$RUNNER_TEMP/app-signing.keychain-db
50+
51+
# import certificate and provisioning profile from secrets
52+
echo -n "$BUILD_CERTIFICATE_BASE64" | base64 --decode -o $CERTIFICATE_PATH
53+
echo -n "$BUILD_PROVISION_PROFILE_BASE64" | base64 --decode -o $PP_PATH
54+
55+
# create temporary keychain
56+
security create-keychain -p "$KEYCHAIN_PASSWORD" $KEYCHAIN_PATH
57+
security set-keychain-settings -lut 21600 $KEYCHAIN_PATH
58+
security unlock-keychain -p "$KEYCHAIN_PASSWORD" $KEYCHAIN_PATH
59+
60+
# import certificate to keychain
61+
security import $CERTIFICATE_PATH -P "$P12_PASSWORD" -A -t cert -f pkcs12 -k $KEYCHAIN_PATH
62+
security list-keychain -d user -s $KEYCHAIN_PATH
63+
64+
# apply provisioning profile
65+
mkdir -p ~/Library/MobileDevice/Provisioning\ Profiles
66+
cp $PP_PATH ~/Library/MobileDevice/Provisioning\ Profiles
3967
- name: Xcode build
4068
uses: sersoft-gmbh/xcodebuild-action@v2
4169
with:
647 Bytes
Binary file not shown.

0 commit comments

Comments
 (0)