Repository navigation
fix(gate): linux 関門をワークツリーから回しても嘘の赤が出ないようにする - #39
Merged
Merged
Conversation
0.22.1 の出荷時、ワークツリーから tools/linux-test.sh (全テスト) を回したら 9 本が赤になった。全部 CI の実機 ubuntu では緑で、正体は 3 種類の環境起因: 1. **ワークツリーの .git はホスト絶対パス参照ファイル** — コンテナには 参照先が無く、リポジトリ発見をする git が全部 fatal。リポジトリ不要の `git merge-file` (region の実 git テスト) まで、継承した cwd の発見失敗で 巻き添え死していた 2. **大小畳みの期待値を cfg で書いていた** (pathx / guard) — 製品は実 FS 探針 (`worktree::fs_case_insensitive`, プロセスに 1 回) で畳みを決めるので、 「Linux なのに /w が大小非区別」という Docker-on-Mac の実在環境でだけ、 製品は正しいのにテストが落ちる 3. glyph / PID 名前空間 / 絶対時間 1 秒の線形テスト — 既知・既記載の類 直し: - linux-test.sh: ワークツリー検出時、参照先の本体 .git を**同じ絶対パスへ read-only で**写してリポジトリ発見を成立させる (ro は「テストが実リポジトリへ 書いたら落ちる」検出を兼ねる)。引数は set -- で組み立て、空白パスでも壊れない - region: `Lab::git` の cwd を実験場へ固定 (リポジトリ不要の操作に cwd を 継承させない) - pathx / guard: 大小の期待値を cfg ではなく製品と同じ探針で分岐 - CLAUDE.md: 上記 2 つの罠と、「公開は回した検査が全部出そろってから」 (0.22.1 で linux 段を待たずに公開した反省) を記録 検証: ワークツリーから tools/linux-test.sh で region 実git×9 / pathx / guard が緑 (git dir の ro 写しの証跡行も確認)。macOS の verify 緑。 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WxQjdDj6y3C6h9oUm4CL4Z
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
0.22.1 出荷時、ワークツリーから
tools/linux-test.sh(全テスト) を回したら 9 本が赤になった。全部 CI の実機 ubuntu では緑で、正体は環境起因 3 種。リリース前に気づける形へ直し、記録する (ユーザー指示)。原因と直し
.gitはホスト絶対パス参照ファイル — コンテナに参照先が無く、リポジトリ発見をする git が全部 fatal(region 実git×3)。→ linux-test.sh がワークツリー検出時に本体.gitを同じ絶対パスへ read-only で写す + region のLab::gitは cwd を実験場へ固定worktree::fs_case_insensitive()で決めるので、Docker-on-Mac(Linux + 大小非区別マウント) でだけ製品が正しいのにテストが落ちる。→ 期待値を製品と同じ探針で分岐記録 (CLAUDE.md)
gh release create) は回した検査が全部出そろってから — 0.22.1 で linux 段を待たずに公開した反省検証
tools/linux-test.shで region 実git×9 / pathx / guard 緑(git dir の ro 写しの証跡行も確認)tools/verify.sh緑 /--lint(clippy) 緑🤖 Generated with Claude Code
https://claude.ai/code/session_01WxQjdDj6y3C6h9oUm4CL4Z