まあもちろん実機は実機であれなんですがね…

ということで、E2EはAndroid版のみで実行する…が最適解かなあ。Bitrizeとかにいってもどうせ同じ問題起きるだろ。

おれモバイルのE2Eテストには詳しいんだけど、iOS SimulatorはE2Eテスト実行するのに適した環境じゃないです。iOS Simulatorというのは、自動化しようとすると不安定要因になるんですよ。

02:47:56.606 [ WARN] xcuitest.XCTestDriverClient.handleExceptions: Status code: 500, body: {"code":"internal","errorMessage":"Unable to perform work on main run loop, process main thread busy for 30.0s"}

悲報、EAS上でのmaestro実行不安定っぽい…。ウォームアップに時間かかってる???

けっきょく必須のCIはリリース時のみで、そう考えると、

  • 普段はdevelop上で開発。CIは、軽量なもののみ(lint,型チェック、ユニットテスト)
  • リリース時は、masterに向けてPR作成。EAS上でのCI起動(ビルド、E2Eテスト)。
  • リリースブランチマージされたらストアにsubmit&リリースノート作成

こんな感じかな。