storebound/templates/workflows/beta.yml

45 lines
1.8 KiB
YAML

# storebound flow "beta" for a game: a playtest build on TestFlight and Play internal testing.
# storebound flow run beta VERSION=1.2.0 [--apply]
# VERSION is required ("?"). GROUP empty = the internal group of apple.testflight.groups (the group `internal: true`);
# GROUP=<name> picks a TestFlight group that exists (or is listed in apple.testflight.groups).
description: Next game build to TestFlight and Play internal testing
params:
VERSION: "?"
GROUP: ""
steps:
- id: check
run: check
- id: ads
if: exists ios
run: ads scan --ios ios
continueOnError: true
- id: next-build
if: apple
run: apple next-build
capture: BUILD
- id: build
if: apple
run: apple build --version ${VERSION} --build-number ${BUILD}
- id: upload
if: apple
run: apple upload --no-wait --build ${BUILD} --allow-existing
- id: wait
if: apple
run: apple testflight wait --build ${BUILD} --version ${VERSION}
- id: distribute
if: apple && ${GROUP}
run: apple testflight distribute --build ${BUILD} --group ${GROUP}
- id: distribute-internal
if: apple && !${GROUP} && ${config.testflight.internal}
run: apple testflight distribute --build ${BUILD} --group ${config.testflight.internal}
- id: no-group
if: apple && !${GROUP} && !${config.testflight.internal}
owner: "No TestFlight group: pass GROUP=<name> or add a group with internal: true to apple.testflight.groups, then storebound apple testflight distribute --build ${BUILD} --group <name>"
- id: play-build
if: play
run: play build --version-name ${VERSION}
- id: play-upload
if: play
run: play upload --track internal
- id: external
owner: "External playtesters: storebound apple testflight distribute --build ${BUILD} --group <external group> --submit-review (Beta App Review is your call)"