Repository navigation
fix(cache): hash contained tracked native file links - #53
Merged
Merged
Conversation
added 6 commits
November 11, 2026 12:48
This was referenced Nov 11, 2026
Merged
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.
The Rust platform CI consumer now uses the current Builder source fence. On Linux, its musl and Android jobs stop before compilation because the pinned MiniUPnP checkout contains tracked file symlinks such as
minissdpd/LICENSE -> ../LICENSE; the material-input hasher applies managed-worktree redirect rejection to those ordinary upstream inputs.Keep Rust sources, admitted native roots and directory ancestors strict. For subsequent native input roots only, accept actual links recorded with Git mode 120000 when their bounded relative target is a regular, nonredirected file inside the same root. Verify strict literal traversal agrees with the admitted target and require each literal ancestor to exist without redirection, so lexical
redirect/..ormissing/..cannot hide different material. Hash the link spelling and target bytes. Untracked/dirty regular-file replacements, external or absolute targets, dangling links, directory links, cycles and redirected ancestors remain refused. Upstream checkouts are unchanged.Focused real-link regressions are included in both existing Windows and Linux hosted unit selections. Normal commit/push privacy, hygiene and actionlint passed; the normal fast push ran 36 tests with zero failures or skips, including actual Windows file symlinks and the existing isolated synthetic Cargo A/B rebuild proof. Linux-hosted symlink and remaining baseline proof are pending the corrected exact head of this PR.
Parent-coordinated parallel delivery: packaging PR #52 owns disjoint provisioning and package-identity functions. This prerequisite fixes Rust PR emulebb/emulebb-rust#314; the consumer will pin the actual merged Builder revision before its fresh hosted matrix.
Refs emulebb/emulebb-rust#293 and #37.