App Release
CLI Modes
Run one app:
npx @sil/app-release --config apps/chess/release/ios.json --mode preflight
Run all apps from release.config.json:
npx -p @sil/app-release app-release-all --mode screenshots
Modes
preflight: report paths, config status, upload readiness, and module requirements.validate/verify: run the configured validation command or script.screenshots: build the simulator app and capture screenshots.site-screenshots: capture screenshots intosite/public/screenshots/apps/<app>.promo-video/promo-videos/videos: record or compose promo videos.archive: create an Xcode archive and optional IPA export.upload-build: upload an IPA withxcrun altool.prepare-metadata: convert metadata JSON into Fastlane Deliver text files.upload-metadata: upload metadata with Fastlane Deliver.prepare-screenshots: copy screenshots into Fastlane Deliver layout.upload-screenshots: upload screenshots with Fastlane Deliver.distribute: upload build, metadata, and screenshots.all: validate, screenshots, archive, prepare metadata, and prepare screenshots.
Common Flags
--config <path>: app release config path.--mode <mode>: mode to run. Defaults toall.--output <path>: override screenshot or video output root.--skip-validate: skip validation inall.--upload: inall, also upload build, metadata, and screenshots.--dry-run: print commands and check config without running side-effect commands.
Multi-App Flags
--app chess: run one app from the manifest.--apps chess,reversi: run a subset of apps.--manifest release.config.json: use a custom manifest.--output-root artifacts/release: place per-app output under a shared root.