| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
This eliminates code duplication in `ArtifactCache`, `SourceCache` and
`ElementSourcesCache`.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Sources have been cached in CAS individually, except for sources that
transform other sources, which have been cached combined with all
previous sources of the element. This caching structure may be confusing
as sources are specified in the element as a list and this is not a good
fit for #1274 where we want to support caching individual sources in a
Remote Asset server with a BuildStream-independent URI (especially the
`directory` configuration would be problematic).
This replaces the combined caching of 'previous' sources with an
element-level source cache, which caches all sources of an element
staged together. Sources that don't depend on previous sources are still
cached individually.
This also makes it possible to add a list of all element sources to the
source proto used by the element-level source cache.
|
|
|
|
| |
They no longer differ among subclasses.
|
|
|
|
|
| |
This migrates the source cache from the BuildStream Source protocol to
the Remote Asset API.
|
| |
|
| |
|
| |
|
|
|
|
| |
This fixes handling of missing blobs in `ArtifactCache.pull()`.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
As discussed over the mailing list, reformat code using Black. This is a
one-off change to reformat all our codebase. Moving forward, we
shouldn't expect such blanket reformats. Rather, we expect each change
to already comply with the Black formatting style.
|
|
|
|
| |
This also adds a test to ensure we are correctly setting the cache up
|
| |
|
|
|
|
|
|
| |
If a remote has some missing blobs for a source, we should not fail
abruptly but instead continue to the next remote, and, in the worst
case, fetch the source again.
|
|
|
|
|
|
|
| |
It's sufficient to check the capabilities once per bst session. This
avoids the extra round trip in remote.init().
This also adds a check for allow_updates for push remotes.
|
|
|
|
|
|
|
| |
This is now split into storage/index remotes, where the former is
expected to be a CASRemote and the latter a BuildStream-specific
remote with the extensions required to store BuildStream artifact
protos.
|
|
|
|
| |
This was almost entirely just historical code duplication.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
This changes the location of source refs from `cache/cas/refs` to
`cache/sources_protos` and fixes tests that looked in the old reference
place. Source cache now uses the new protocol buffer and grpc methods
defined, for storing locally, and pushing and pulling to remotes.
Part of #1038
|
|
|
|
|
|
|
|
| |
Add flag to indicate whether sources can stage directly to a virtual
directory. Adds `__stage_previous_sources` method which stages previous
sources taking into account whether they use virtual directories or not.
Part of #983
|
|
This was discussed in #1008.
Fixes #1009.
|