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

remote_execution: implement OSS write_action_result for local_only cache uploads #764

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Commits on Sep 20, 2024

  1. remote_execution: implement OSS write_action_result for `local_only…

    …` cache uploads
    
    Forward port of part of <facebook#477>,
    which implements code in the OSS path for putting results of actions marked
    `local_only = True` into the RBE `ActionCache`.
    
    For people actually using the "remote execution" part of RBE and not just a
    cache, this rather large omission in the system will often be transparently
    mitigated because RBE services will not only record `ActionCache` entries
    on your behalf, they will also implement "EX-to-AC" forwarding where any
    execution calls will immediately get looked up in the `ActionCache` anyway as an
    optimization. Which means you'll never see this for things that properly hit CAS
    inputs/outputs.
    
    However, a `CommandExecutorConfig` configured with `remote_enabled = False` can
    still enable `remote_cache_enabled = allow_cache_uploads = True` which will both
    enable the ActionCache/CAS support, and also allow uploads to those interfaces
    too.
    
    The most useful example of this type of setup is in a CI system like GitHub
    Actions: where you run the build inside a container or image that provides
    something quasi-hermetic (e.g. including your toolchains), while the RBE system
    is purely a cache storing inputs/outputs/ActionCache entries and never uses
    remote execution.
    
    The hope is that this functionality will soon be plug-and-play on GitHub using
    an RBE-to-GHA caching proxy, so Buck2 projects will be able to get a quick and
    easy cache, but without RE. Therefore this functionality will become highly
    useful.
    
    Co-authored-by: Austin Seipp <aseipp@pobox.com>
    cormacrelf and thoughtpolice committed Sep 20, 2024
    Configuration menu
    Copy the full SHA
    0878208 View commit details
    Browse the repository at this point in the history