Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use a trait for remote action result caching #19097

Merged
merged 4 commits into from
Jun 1, 2023

Conversation

huonw
Copy link
Contributor

@huonw huonw commented May 23, 2023

This separates the remote::remote_cache coordination code from the gRPC REAPI implementation by:

  • adding a remote::remote_cache::ActionCacheProvider trait
  • moving the REAPI implementation into remote::remote_cache::reapi and implementing that trait

This 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:

  • implementing other byte store and action cache providers
  • dynamically choosing the right providers for store::remote::ByteStore and remote::remote_cache

The commits are individually reviewable:

  1. preparatory breaking out of gRPC code
  2. defining the trait
  3. move the REAPI code and implement the trait, close to naively as possible:
  4. minor clean-up

@huonw huonw requested review from stuhood and tdyas May 23, 2023 11:29
@huonw huonw added the category:internal CI, fixes for not-yet-released features, etc. label May 23, 2023
@huonw
Copy link
Contributor Author

huonw commented Jun 1, 2023

Friendly ping 😄

@huonw huonw merged commit 713bb5b into pantsbuild:main Jun 1, 2023
@huonw huonw deleted the feature/action-result-trait-2 branch June 1, 2023 23:28
@wisechengyi wisechengyi mentioned this pull request Jun 3, 2023
wisechengyi added a commit that referenced this pull request Jun 4, 2023
### Internal

* upgrade to Rust v1.70.0
([#19228](#19228))

* Remove the last mentions of NO_TOOL_LOCKFILE.
([#19229](#19229))

* Upgrade Helm unittest
([#19220](#19220))

* Prepare `2.17.0rc0`.
([#19226](#19226))

* Use a trait for remote action result caching
([#19097](#19097))

* Port `Field` to Rust
([#19143](#19143))

* Upgrade `pyo3` to `0.19`.
([#19223](#19223))

* Prepare `2.16.0rc5`.
([#19221](#19221))

* internal: Create dep inference request type
([#19001](#19001))

* Avoid requiring Python when trying to install Python (using Pyenv)
([#19208](#19208))

* Fix secondary ownership warning semantics
([#19191](#19191))

* Bump os_pipe from 1.1.3 to 1.1.4 in /src/rust/engine
([#19202](#19202))

* Include committer date in local version identifier of unstable builds
([#19179](#19179))

* Ensure we set the AWS region.
([#19178](#19178))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
category:internal CI, fixes for not-yet-released features, etc.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants