Shorebird OTA パッチの作成・配布(staging → promote → stable)
Shorebird OTA パッチを staging に作成し、検証後に stable へ昇格する。
新バージョンのリリースは
/release-mobileスキルを使用する。 アセット差分でパッチが適用されない場合も、/release-mobileでリリース後に再パッチする。
patch (staging) → デバッグ画面で検証 → promote (stable) → 全ユーザーに配信
grep '^version:' apps/mobile/pubspec.yaml
version: X.Y.Z+N の値を記録する(= <version>)。
引数でプラットフォームが指定された場合はそのまま使う。指定がなければユーザーに確認する。
# iOS
bash .claude/skills/shorebird-patch/patch.sh ios <version>
# Android
bash .claude/skills/shorebird-patch/patch.sh android <version>
# 両方の場合は順番に実行
スクリプトが以下を一括で行う:
shorebird patch で staging にパッチ作成--allow-asset-diffs によりアセット変更の確認プロンプトを自動スキップ完了後の出力から パッチ番号 を記録する(= <patch-number>)。
パッチ出力に以下の警告が含まれていないか確認する:
[WARN] Your app contains asset changes, which will not be included in the patch.
この警告が出た場合、パッチは publish されるが実機に適用されない可能性が高い。
アセット差分が検出された場合、ユーザーに以下を報告する:
MaterialIcons-Regular.otf)/release-mobile で新リリースを作成してから、クリーンな状態でパッチを再作成するパッチが staging に配信されたら、以下の方法で検証する:
shorebird preview --track=staging --release-version=<version>検証が問題なければ stable に昇格する:
bash .claude/skills/shorebird-patch/promote.sh <version> <patch-number>
以下を報告する:
npm run shorebird:patch:android -- <release-version>
npm run shorebird:patch:ios -- <release-version>
npm run shorebird:promote -- <release-version> <patch-number>
--allow-asset-diffs でパッチ作成は成功するが、アセット変更(フォント、画像等)を含むパッチは実機で適用に失敗する。/release-mobile で新リリースが必要Published Patch N! と表示されていれば成功shorebird コマンドを直接実行する場合は --release-version フラグ必須(省略するとインタラクティブプロンプトで非TTY環境がエラーになる)(patch N) が出ているか確認。出ていなければShorebirdリリースビルドでない可能性がある