@@ -207,11 +207,43 @@ jobs:
207
207
with :
208
208
java-version : ' 8'
209
209
distribution : ' adopt'
210
+ - name : Install Apple certificate
211
+ env :
212
+ BUILD_CERTIFICATE_BASE64 : ${{ secrets.APPLE_BUILD_CERTIFICATE_BASE64 }}
213
+ P12_PASSWORD : ${{ secrets.APPLE_P12_PASSWORD }}
214
+ KEYCHAIN_PASSWORD : ${{ secrets.APPLE_KEYCHAIN_PASSWORD }}
215
+ APPLE_API_KEY_BASE64 : ${{ secrets.APPLE_API_KEY_BASE64 }}
216
+ APPLE_API_KEY_NAME : ${{ secrets.APPLE_API_KEY_NAME }}
217
+ run : |
218
+ # create variables
219
+ CERTIFICATE_PATH=$RUNNER_TEMP/build_certificate.p12
220
+ KEYCHAIN_PATH=$RUNNER_TEMP/app-signing.keychain-db
221
+
222
+ # import certificate from secrets
223
+ echo -n "$BUILD_CERTIFICATE_BASE64" | base64 --decode --output $CERTIFICATE_PATH
224
+
225
+ # create temporary keychain
226
+ security create-keychain -p "$KEYCHAIN_PASSWORD" $KEYCHAIN_PATH
227
+ security set-keychain-settings -lut 21600 $KEYCHAIN_PATH
228
+ security unlock-keychain -p "$KEYCHAIN_PASSWORD" $KEYCHAIN_PATH
229
+
230
+ # import certificate to keychain
231
+ security import $CERTIFICATE_PATH -P "$P12_PASSWORD" -A -t cert -f pkcs12 -k $KEYCHAIN_PATH -T /usr/bin/codesign
232
+ security list-keychain -d user -s $KEYCHAIN_PATH
233
+
234
+ # import api key from secrets
235
+ mkdir "${HOME}/private_keys"
236
+ echo -n "$APPLE_API_KEY_BASE64" | base64 --decode --output "${HOME}/private_keys/AuthKey_$APPLE_API_KEY_NAME.p8"
210
237
-
211
238
name : Build
212
239
run : |
213
240
chmod +x compile_macosx.sh
214
- ./compile_macosx.sh amd64 Release ${{ github.event.inputs.repo }} ${{ github.event.inputs.ref }}
241
+ ./compile_macosx.sh amd64 Release ${{ github.event.inputs.repo }} ${{ github.event.inputs.ref }} "${{ secrets.APPLE_BUILD_CERTIFICATE_NAME }}" ${{ secrets.APPLE_TEAM_NAME }} ${{ secrets.APPLE_API_KEY_ID }} "${HOME}/private_keys/AuthKey_${{ secrets.APPLE_API_KEY_NAME }}.p8" ${{ secrets.APPLE_API_KEY_ISSUER }}
242
+ - name : Clean up keychain
243
+ if : ${{ always() }}
244
+ run : |
245
+ security delete-keychain $RUNNER_TEMP/app-signing.keychain-db
246
+ rm -rf "${HOME}/private_keys"
215
247
- name : Export distribution
216
248
run : |
217
249
mv out/binary_distrib.tar.gz out/macosx-amd64.tar.gz
@@ -242,11 +274,38 @@ jobs:
242
274
with :
243
275
java-version : ' 8'
244
276
distribution : ' adopt'
277
+ - name : Install Apple certificate
278
+ env :
279
+ BUILD_CERTIFICATE_BASE64 : ${{ secrets.APPLE_BUILD_CERTIFICATE_BASE64 }}
280
+ P12_PASSWORD : ${{ secrets.APPLE_P12_PASSWORD }}
281
+ KEYCHAIN_PASSWORD : ${{ secrets.APPLE_KEYCHAIN_PASSWORD }}
282
+ APPLE_API_KEY_BASE64 : ${{ secrets.APPLE_API_KEY_BASE64 }}
283
+ APPLE_API_KEY_NAME : ${{ secrets.APPLE_API_KEY_NAME }}
284
+ run : |
285
+ # create variables
286
+ CERTIFICATE_PATH=$RUNNER_TEMP/build_certificate.p12
287
+ KEYCHAIN_PATH=$RUNNER_TEMP/app-signing.keychain-db
288
+
289
+ # import certificate from secrets
290
+ echo -n "$BUILD_CERTIFICATE_BASE64" | base64 --decode --output $CERTIFICATE_PATH
291
+
292
+ # create temporary keychain
293
+ security create-keychain -p "$KEYCHAIN_PASSWORD" $KEYCHAIN_PATH
294
+ security set-keychain-settings -lut 21600 $KEYCHAIN_PATH
295
+ security unlock-keychain -p "$KEYCHAIN_PASSWORD" $KEYCHAIN_PATH
296
+
297
+ # import certificate to keychain
298
+ security import $CERTIFICATE_PATH -P "$P12_PASSWORD" -A -t cert -f pkcs12 -k $KEYCHAIN_PATH -T /usr/bin/codesign
299
+ security list-keychain -d user -s $KEYCHAIN_PATH
300
+
301
+ # import api key from secrets
302
+ mkdir "${HOME}/private_keys"
303
+ echo -n "$APPLE_API_KEY_BASE64" | base64 --decode --output "${HOME}/private_keys/AuthKey_$APPLE_API_KEY_NAME.p8"
245
304
-
246
305
name : Build
247
306
run : |
248
307
chmod +x compile_macosx.sh
249
- ./compile_macosx.sh arm64 Release ${{ github.event.inputs.repo }} ${{ github.event.inputs.ref }}
308
+ ./compile_macosx.sh arm64 Release ${{ github.event.inputs.repo }} ${{ github.event.inputs.ref }} "${{ secrets.APPLE_BUILD_CERTIFICATE_NAME }}" ${{ secrets.APPLE_TEAM_NAME }} ${{ secrets.APPLE_API_KEY_ID }} "${HOME}/private_keys/AuthKey_${{ secrets.APPLE_API_KEY_NAME }}.p8" ${{ secrets.APPLE_API_KEY_ISSUER }}
250
309
- name : Clean up keychain
251
310
if : ${{ always() }}
252
311
run : |
@@ -257,6 +316,4 @@ jobs:
257
316
mv out/binary_distrib.tar.gz out/macosx-arm64.tar.gz
258
317
gh release upload ${{needs.create-release.outputs.release_tag_name}} out/macosx-arm64.tar.gz
259
318
env :
260
- GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
261
-
262
-
319
+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
0 commit comments