Files

57 lines
2.2 KiB
YAML
Raw Permalink Normal View History

name: App Store
description: Uploads a signed iOS .ipa to App Store Connect for TestFlight, and sends a version for App Store review
inputs:
issuer-id:
description: The issuer id of the team's App Store Connect API keys, from a secret
required: true
key-id:
description: The id of the API key, from a secret
required: true
private-key:
description: The text of the API key's .p8 file, from a secret
required: true
bundle-id:
description: The app's bundle identifier, for example software.arasaka.meweb
required: true
ipa:
description: The signed .ipa to upload; its version and build number are read from it
required: false
notes:
description: A folder of <locale>.txt files, such as en-US.txt and it.txt; what to test on TestFlight, and what is new when submitting
required: false
groups:
description: TestFlight groups to give the uploaded build to, by name, separated by commas or lines
required: false
submit:
description: true sends the build for App Store review, creating or reusing the version
default: "false"
version:
description: The version to submit when no ipa is given, for example 1.4.0
required: false
build:
description: The build number to submit when no ipa is given; the newest processed build of version when empty
required: false
release:
description: after-approval puts the version on sale as soon as Apple approves it; manual waits for you
default: after-approval
phased:
description: true releases the update to automatic updaters over seven days
default: "false"
runs:
using: composite
steps:
- shell: bash
run: python3 "$GITHUB_ACTION_PATH/apple.py"
env:
ASC_ISSUER_ID: ${{ inputs.issuer-id }}
ASC_KEY_ID: ${{ inputs.key-id }}
ASC_PRIVATE_KEY: ${{ inputs.private-key }}
APPLE_BUNDLE_ID: ${{ inputs.bundle-id }}
APPLE_IPA: ${{ inputs.ipa }}
APPLE_NOTES: ${{ inputs.notes }}
APPLE_GROUPS: ${{ inputs.groups }}
APPLE_SUBMIT: ${{ inputs.submit }}
APPLE_VERSION: ${{ inputs.version }}
APPLE_BUILD: ${{ inputs.build }}
APPLE_RELEASE: ${{ inputs.release }}
APPLE_PHASED: ${{ inputs.phased }}