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

client: modify SolveOpt to take fsutil.FS objects #4094

Merged
merged 5 commits into from
Oct 23, 2023

Commits on Oct 23, 2023

  1. vendor: update fsutil to master@f09800878302

    Signed-off-by: Justin Chadwell <[email protected]>
    jedevc committed Oct 23, 2023
    Configuration menu
    Copy the full SHA
    8ba1deb View commit details
    Browse the repository at this point in the history
  2. session: modify FSSync provider to take fsutil.FS objects

    This patch modifies the function signature of the FSSync provider to
    take an fsutil.FS instead of a simple raw path resolved to the client's
    root filesystem.
    
    Internally, we were already creating an fsutil.FS to Send to the
    buildkit server, however, this abstraction didn't reach the session
    attachable parameters, so we couldn't provide our own custom FS
    implementation.
    
    The rationale behind this change is to allow providing more abstract
    custom filesystem implementations to a BuildKit client. This way, we can
    start to build from filesystems that might not be on disk - for example,
    we could use our Static filesystem implementation in tests to prevent
    creating lots of temporary directories, or we could use our Merge
    filesystem implementation to allow easily creating variants of a single
    context.
    
    Signed-off-by: Justin Chadwell <[email protected]>
    jedevc committed Oct 23, 2023
    Configuration menu
    Copy the full SHA
    11b8c6e View commit details
    Browse the repository at this point in the history
  3. client: allow exposing fsutil.FS through SolveOpts

    This completes propogating the fsutil.FS abstraction into the SolveOpt,
    deprecating the old LocalDirs.
    
    Since this is entirely a golang-level abstraction, we could potentially
    investigate just removing the old LocalDirs directly.
    
    Signed-off-by: Justin Chadwell <[email protected]>
    jedevc committed Oct 23, 2023
    Configuration menu
    Copy the full SHA
    cef8b80 View commit details
    Browse the repository at this point in the history
  4. exporter: refactor to clarify intent behind fs usage

    Signed-off-by: Justin Chadwell <[email protected]>
    jedevc committed Oct 23, 2023
    Configuration menu
    Copy the full SHA
    7b32d59 View commit details
    Browse the repository at this point in the history
  5. client: refactor to extract prepareMounts

    Now we error out if there is any clash between LocalDirs and
    LocalMounts.
    
    Signed-off-by: Justin Chadwell <[email protected]>
    jedevc committed Oct 23, 2023
    Configuration menu
    Copy the full SHA
    0f343f9 View commit details
    Browse the repository at this point in the history