Repository navigation
Keep inherited Xcode overrides out of default host identity - #2
Merged
Merged
Conversation
Strict action environments use the global developer selection. Make discovery explicit and offer a tracked rule attribute for actions selecting another host developer directory, retaining its path and tool identity. The real Bazel platform check covers inherited overrides in running and fresh servers and explicitly selecting another installed Xcode. Unit tests, pinned Ruff, strict mypy and buildifier passed.
Omit the optional developer attribute when using its default so the real platform check can also run against the previous rule. That run executes instead of hitting the disk cache with an inherited override; the fixed rule passes the same check.
This was referenced Oct 13, 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.
An inherited
DEVELOPER_DIRcan make the host cache key describe an acquired,job-local Xcode path even though strict action environments use the global
host selection. That fragments results and the inherited override is not a
repository dependency.
Default discovery now explicitly uses the global selection. The optional
developer_dirattribute lets builds match an explicitly selectedhost-dependent action environment. Directory and tool identity remain in the
key, and changing the attribute reevaluates the repository.
Verified with the existing real Bazel platform check on macOS: inherited
selection changes reuse results in running and fresh servers; selecting a
different installed Xcode executes under a different tool identity; restoring
the global selection reuses its disk-cache result. Watched tool and Homebrew
bottle changes still execute. Unit tests, pinned Ruff, strict mypy and
buildifier passed.