Ship-step contract for pipelines: uniform exit codes (0/1/2/3/4/7) in cli/lib/ship-step.ts, one final --json line, --result-file (atomic, also on failure), --progress json, --env-file with secret redaction, --version-from; idempotent play upload / apple upload / play release / apple submit re-runs end with exit 7; play upload takes --track production and --version-code

This commit is contained in:
CRTkafa 2026-10-23 13:13:21 +08:00
parent 4eac8e8cd8
commit 06a0b424f5
14 changed files with 928 additions and 24 deletions

View file

@ -71,13 +71,17 @@
"allow-version-mismatch",
"build-number",
"configuration",
"env-file",
"keychain",
"no-install",
"no-prebuild",
"out",
"progress",
"project",
"result-file",
"scheme",
"version",
"version-from",
"workspace"
],
"apple bundle": [
@ -215,13 +219,17 @@
],
"apple resubmit": [
"build",
"env-file",
"keychain",
"new-version",
"no-install",
"no-submit",
"platform",
"progress",
"resolve-iaps",
"result-file",
"version",
"version-from",
"with-version"
],
"apple review-details": [
@ -253,13 +261,17 @@
],
"apple submit": [
"build",
"env-file",
"keychain",
"new-version",
"no-install",
"no-submit",
"platform",
"progress",
"resolve-iaps",
"result-file",
"version",
"version-from",
"with-version"
],
"apple subscriptions": [
@ -308,6 +320,7 @@
"allow-version-mismatch",
"build",
"csv",
"env-file",
"group",
"internal-only",
"invite",
@ -315,11 +328,14 @@
"locale",
"no-wait",
"older-than",
"progress",
"remove",
"result-file",
"submit-review",
"text",
"timeout",
"version",
"version-from",
"via"
],
"apple win-back": [
@ -649,16 +665,20 @@
"play build": [
"allow-stale-web",
"dir",
"env-file",
"flavor",
"include-drafts",
"module",
"no-prebuild",
"not-sent-for-review",
"out",
"progress",
"prune",
"result-file",
"src",
"variant",
"version-code",
"version-from",
"version-name",
"write"
],
@ -690,16 +710,20 @@
"play release": [
"alpha",
"beta",
"env-file",
"fraction",
"include-drafts",
"internal",
"name",
"not-sent-for-review",
"production",
"progress",
"prune",
"result-file",
"src",
"variant",
"version-code",
"version-from",
"write"
],
"play rollout": [
@ -746,14 +770,19 @@
"write"
],
"play upload": [
"env-file",
"include-drafts",
"name",
"not-sent-for-review",
"progress",
"prune",
"result-file",
"src",
"status",
"track",
"variant",
"version-code",
"version-from",
"write"
],
"prices": [
@ -941,6 +970,25 @@
"seconds",
"target"
],
"status": [
"all",
"app",
"apple",
"apply",
"apps",
"concurrency",
"force",
"merge",
"no-health",
"no-validate",
"offline",
"out",
"play",
"state",
"stdio",
"versions",
"workspace"
],
"triage": [
"apple",
"build",
@ -1079,6 +1127,7 @@
"download",
"enable",
"end",
"env-file",
"every",
"experiment",
"expo",
@ -1185,6 +1234,7 @@
"poster",
"production",
"profile",
"progress",
"project",
"propose",
"prune",
@ -1200,6 +1250,7 @@
"render",
"repair-stuck",
"resolve-iaps",
"result-file",
"resume",
"review-sent",
"root",
@ -1253,6 +1304,7 @@
"verify",
"version",
"version-code",
"version-from",
"version-name",
"versions",
"via",
@ -1559,7 +1611,7 @@
"storebound play subscriptions [--dry] [--only id1,id2] [--csv store/prices.csv] [--yes] [--allow-price-changes]"
],
"play upload": [
"storebound play upload [<app.aab>] [--track internal|alpha|beta] [--status completed|draft] [--name text] [--not-sent-for-review] [--dry] [--yes] [--json]"
"storebound play upload [<app.aab>] [--track internal|alpha|beta|production] [--status completed|draft] [--version-code N] [--name text] [--not-sent-for-review] [--dry] [--yes] [--json]"
],
"prices": [
"storebound prices export [--out store/prices.csv] [--store apple|play] [--only ids] [--with-automatic] [--no-subscriptions] [--dry] [--json]",
@ -1628,6 +1680,9 @@
"shots video": [
"storebound shots video [--lang en,tr] [--target iphone,ipad,youtube] [--seconds 25] [--no-captions] [--dry]"
],
"status": [
"storebound status [--app <name|store id|folder>] [--json]"
],
"triage": [
"storebound triage [--apple] [--play] [--days 14] [--build N] [--issues 10] [--comments 3] [--dry] [--json]"
],