Use a trait for remote action result caching #19097
Merged
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.
This separates the
remote::remote_cache
coordination code from the gRPC REAPI implementation by:remote::remote_cache::ActionCacheProvider
traitremote::remote_cache::reapi
and implementing that traitThis is, in theory, just a lift-and-shift, with no functionality change.
This is preparation work for supporting more remote stores like GHA cache or S3, for #11149, and is specifically broken out of #17840. It continues #19050. Additional work required to actually solve #11149:
store::remote::ByteStore
andremote::remote_cache
The commits are individually reviewable:
remote_cache.rs
after 1, and thereapi.rs
file in this commit (it's less useful than Use a trait for remote ByteStore network implementation #19050, since most of the code is deleted, but, buried in there are chunks of completely unchanged code)