Support dynamic inputs with the remote repo contents cache#27634
Closed
fmeum wants to merge 4 commits intobazelbuild:masterfrom
Closed
Support dynamic inputs with the remote repo contents cache#27634fmeum wants to merge 4 commits intobazelbuild:masterfrom
fmeum wants to merge 4 commits intobazelbuild:masterfrom
Conversation
b4b3182 to
7b4b79f
Compare
ee70885 to
94c992a
Compare
2243c1d to
5d25e75
Compare
0763010 to
fbaafe6
Compare
Collaborator
Author
|
@bazel-io fork 9.0.0 |
fmeum
commented
Dec 16, 2025
src/main/java/com/google/devtools/build/lib/rules/repository/RepoRecordedInput.java
Show resolved
Hide resolved
83f4282 to
6dffc99
Compare
Collaborator
Author
github-merge-queue bot
pushed a commit
to bazel-contrib/rules_python
that referenced
this pull request
Feb 23, 2026
This is testing the new API to make use of remote caching mechanisms. Needs: bazelbuild/bazel#27634 --------- Co-authored-by: Richard Levasseur <rlevasseur@google.com>
rickeylev
added a commit
to rickeylev/rules_python
that referenced
this pull request
Feb 23, 2026
…b#3589) This is testing the new API to make use of remote caching mechanisms. Needs: bazelbuild/bazel#27634 --------- Co-authored-by: Richard Levasseur <rlevasseur@google.com> (cherry picked from commit 06aa36d)
rickeylev
added a commit
to bazel-contrib/rules_python
that referenced
this pull request
Feb 23, 2026
This is testing the new API to make use of remote caching mechanisms. Needs: bazelbuild/bazel#27634 --------- (cherry picked from commit 06aa36d) Co-authored-by: Ignas Anikevicius <240938+aignas@users.noreply.github.com>
Collaborator
Author
|
@bazel-io fork 9.1.0 |
Member
|
@fmeum Could you please resolve the conflicts? |
Collaborator
Author
|
@iancha1992 Done! |
Wyverald
approved these changes
Mar 23, 2026
Member
Wyverald
left a comment
There was a problem hiding this comment.
great work, as always! I think I understand most of what this PR is doing :) Thanks for pushing through!
src/main/java/com/google/devtools/build/lib/remote/RemoteRepoContentsCacheImpl.java
Outdated
Show resolved
Hide resolved
src/main/java/com/google/devtools/build/lib/remote/RemoteRepoContentsCacheImpl.java
Outdated
Show resolved
Hide resolved
src/main/java/com/google/devtools/build/lib/remote/RemoteRepoContentsCacheImpl.java
Outdated
Show resolved
Hide resolved
src/main/java/com/google/devtools/build/lib/remote/RemoteRepoContentsCacheImpl.java
Show resolved
Hide resolved
src/main/java/com/google/devtools/build/lib/remote/RemoteRepoContentsCacheImpl.java
Outdated
Show resolved
Hide resolved
src/main/java/com/google/devtools/build/lib/remote/RemoteRepoContentsCacheImpl.java
Show resolved
Hide resolved
src/main/java/com/google/devtools/build/lib/bazel/repository/RepositoryFetchFunction.java
Outdated
Show resolved
Hide resolved
src/main/java/com/google/devtools/build/lib/runtime/RemoteRepoContentsCache.java
Show resolved
Hide resolved
src/main/java/com/google/devtools/build/lib/remote/RemoteRepoContentsCacheImpl.java
Outdated
Show resolved
Hide resolved
src/main/java/com/google/devtools/build/lib/remote/RemoteRepoContentsCacheImpl.java
Outdated
Show resolved
Hide resolved
Wyverald
approved these changes
Mar 24, 2026
src/main/java/com/google/devtools/build/lib/remote/RemoteRepoContentsCacheImpl.java
Outdated
Show resolved
Hide resolved
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.
With this change, all reproducible repository rules can now be cached in a disk or remote cache, including those with dependencies recorded dynamically during evaluation.
This is made possible by introducing a new intermediate type of synthetic AC entries. When looking up the predeclared inputs hash for a repo rule with dynamic dependencies, the action result for such an intermediate entry lists one or more sets of inputs (e.g. a particular file in another repo or an environment variable name). These inputs are then requested from Skyframe and their current values are hashed to obtain the key of the next AC entry, which is again either an intermediate entry or a final entry containing the contents of the repository.
RELNOTES: The remote repo contents cache now supports all reproducible repo rules.