58 lines
1.9 KiB
YAML
58 lines
1.9 KiB
YAML
name: Notarize
|
|
inputs:
|
|
app-store-key:
|
|
description: App Store key in PEM PKCS#8 format
|
|
required: true
|
|
app-store-key-id:
|
|
description: App Store key ID
|
|
required: true
|
|
app-store-key-issuer-id:
|
|
description: App Store key issuer ID
|
|
required: true
|
|
archive-path:
|
|
description: Xcode archive path
|
|
required: true
|
|
export-path:
|
|
description: The path to export the archive to
|
|
required: true
|
|
outputs:
|
|
notarized-app:
|
|
description: The compressed and notarized app
|
|
value: ${{ steps.notarize.outputs.notarized-app }}
|
|
runs:
|
|
using: composite
|
|
steps:
|
|
- id: notarize
|
|
shell: bash
|
|
working-directory: Apple
|
|
run: |
|
|
echo "${{ inputs.app-store-key }}" > AuthKey_${{ inputs.app-store-key-id }}.p8
|
|
|
|
echo '{"destination":"upload","method":"developer-id"}' \
|
|
| plutil -convert xml1 -o ExportOptions.plist -
|
|
|
|
xcodebuild \
|
|
-exportArchive \
|
|
-allowProvisioningUpdates \
|
|
-allowProvisioningDeviceRegistration \
|
|
-authenticationKeyID ${{ inputs.app-store-key-id }} \
|
|
-authenticationKeyIssuerID ${{ inputs.app-store-key-issuer-id }} \
|
|
-authenticationKeyPath "${PWD}/AuthKey_${{ inputs.app-store-key-id }}.p8" \
|
|
-archivePath '${{ inputs.archive-path }}' \
|
|
-exportOptionsPlist ExportOptions.plist
|
|
|
|
until xcodebuild \
|
|
-exportNotarizedApp \
|
|
-allowProvisioningUpdates \
|
|
-allowProvisioningDeviceRegistration \
|
|
-authenticationKeyID ${{ inputs.app-store-key-id }} \
|
|
-authenticationKeyIssuerID ${{ inputs.app-store-key-issuer-id }} \
|
|
-authenticationKeyPath "${PWD}/AuthKey_${{ inputs.app-store-key-id }}.p8" \
|
|
-archivePath '${{ inputs.archive-path }}' \
|
|
-exportPath ${{ inputs.export-path }}
|
|
do
|
|
echo "Failed to export app, trying again in 10s..."
|
|
sleep 10
|
|
done
|
|
|
|
rm -rf AuthKey_${{ inputs.app-store-key-id }}.p8 ExportOptions.plist
|