Skip to content

Create a CAS-backed virtual directory implementation

Background

After CAS-based artifact caches are in use (#387 (closed)), we can allow certain elements in BuildStream to use the CAS directly instead of extracting to a filesystem first, which should improve performance.

Task description

Implement CAS-based virtual directories using the abstract virtual directory implementation from #394 (closed).

  • Implement CASBasedDirectory
  • Switch Import and Compose elements to use the new CAS-based directory instead of file-based virtual directories.

Acceptance Criteria

  • All existing tests should pass
  • freedesktop-sdk should build correctly and we should be able to verify that the new CAS-based directory has been used
  • Build time for freedesktop-sdk should be no worse than 10% slower than it was without this MR.

Edited by Jim MacArthur
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information