validate: macOS versions need Mac screenshots, Play reads survive an ended edit; macOS build numbers across platforms; Mac build prebuild + apple.macAppCheck; signing wording off the Mac; dry flows plan uploads

This commit is contained in:
CRTkafa 2026-11-02 18:16:25 +07:00
parent b1f1b206d3
commit f5da7c9f7a
21 changed files with 519 additions and 57 deletions

View file

@ -1,9 +1,11 @@
# 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: "1.0.0"
GROUP: "Playtesters"
VERSION: "?"
GROUP: ""
steps:
- id: check
run: check
@ -25,8 +27,14 @@ steps:
if: apple
run: apple testflight wait --build ${BUILD} --version ${VERSION}
- id: distribute
if: apple
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}

View file

@ -3,10 +3,13 @@
# storebound flow run release VERSION=1.2.0 --apply writes run for real; each command still asks you first
# storebound flow run release --resume --apply continue after fixing a failed step
# Steps are storebound commands (no "storebound" prefix). `if: apple` / `if: play` skip a store the config does not
# have; `owner:` steps are never run, they list what you click. `sh:` runs your own build command (only with --apply).
# have; `if: ${PARAM}` turns an optional step on by a param (MAC_TAURI=<src-tauri> adds the macOS build, PLAY_TRACK=beta
# uploads to Play open testing); VERSION is required; `owner:` steps are never run, they list what you click. `sh:` runs your own build command (only with --apply).
description: Build, upload and check one game version on both stores, then your Submit click
params:
VERSION: "1.0.0"
VERSION: "?"
MAC_TAURI: ""
PLAY_TRACK: "internal"
steps:
- id: shots
if: exists store/renders
@ -24,12 +27,21 @@ steps:
- id: wait
if: apple
run: apple testflight wait --build ${BUILD} --version ${VERSION}
- id: mac-build
if: apple && ${MAC_TAURI}
run: apple build --platform macos --tauri ${MAC_TAURI} --version ${VERSION} --build-number ${BUILD}
- id: mac-upload
if: apple && ${MAC_TAURI}
run: apple upload --platform macos --no-wait --allow-existing
- id: play-build
if: play
run: play build --version-name ${VERSION}
- id: play-upload
if: play
run: play upload --track internal
run: play upload --track ${PLAY_TRACK}
- id: promote
if: play && ${PLAY_TRACK} != production
owner: "Play Console: promote the ${PLAY_TRACK} release to production (storebound play release --version-code <code> --production completed once you agree)"
- id: whats-new
if: exists store/whats-new
run: whats-new apply
@ -43,4 +55,4 @@ steps:
- id: plan
run: release plan ${VERSION}
- id: submit
owner: "App Store Connect: Submit for Review (version ${VERSION}, build ${BUILD}). Play Console: promote the internal release and Send changes for review"
owner: "App Store Connect: Submit for Review (version ${VERSION}, build ${BUILD}). Play Console: promote the ${PLAY_TRACK} release and Send changes for review"