# 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= 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= or add a group with internal: true to apple.testflight.groups, then storebound apple testflight distribute --build ${BUILD} --group " - 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 --submit-review (Beta App Review is your call)"