summaryrefslogtreecommitdiff
path: root/src/buildstream/_artifactcache.py
Commit message (Collapse)AuthorAgeFilesLines
* _artifactcache.py: Reset artifact_service in ArtifactRemote.close()Jürg Billeter2019-10-151-0/+4
|
* _artifactcache.py: Don't push artifact blobs when no files are presentBenjamin Schubert2019-10-081-1/+2
| | | | | | | | | | Previously, if an artifact proto had no files at all in it, we would fail at pushing it, making BuildStream crash. When no files are part of an artifact proto, we can short-circuit the call and avoid pushing them unecessarily. - Add a test to ensure this doesn't come back.
* _artifactcache.py: Move capabilities check to _check() and extend itJürg Billeter2019-09-191-9/+21
| | | | | | | 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.
* _artifactcache.py: Create ArtifactServiceStub in _configure_protocols()Jürg Billeter2019-09-191-7/+11
| | | | | There is no need to create a new stub for every request. This also matches what SourceRemote does.
* Allow splitting artifact cachesTristan Maat2019-09-061-107/+266
| | | | | | | 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.
* Remove cache-specifc spec classesTristan Maat2019-09-061-12/+1
| | | | This was almost entirely just historical code duplication.
* _artifactcache.py: Add remote support to bst artifact showJames Ennis2019-08-271-0/+47
| | | | | | If remotes exist, each remote will be checked for the target artifacts. If an artifact is cached remotely, we make a record of this.
* _artifactcache.py: Handle CASRemoteErrorJürg Billeter2019-08-201-1/+5
|
* _artifactcache.py: Remove unused code tracking required elementsJürg Billeter2019-08-201-69/+0
|
* cascache.py: Remove add_reachable_*_callback() methodsJürg Billeter2019-08-201-39/+0
|
* Remove support for pruning CAS cacheJürg Billeter2019-08-201-14/+2
|
* Remove CASQuota and CASCacheUsageJürg Billeter2019-08-201-20/+0
|
* _artifactcache.py: Use capabilities serviceRaoul Hidalgo Charman2019-06-261-6/+11
| | | | | | | | This is used in the remote initialisation to check that artifact service is supported. This should allow us to seperate the endpoints of different services more easily in future. Part of #915
* _artifactcache.py: fix find_missing_blobs methodRaoul Hidalgo Charman2019-06-211-3/+6
| | | | | | | This never will have worked because digests aren't hashable, and this method wasn't being covered in any tests. Also changed `remote_missing_blobs` to ensure the blobs list is an iterator and updated its docs.
* Improve legacy artifact remote handlingRaoul Hidalgo Charman2019-06-051-1/+34
| | | | | | | | | This creates a new ArtifactRemote class, derived from CASRemote that extends initialisation to check for an artifact service. This drops the remote early rather than raising an error on method not found each time it tries to use it. Fixes #1025
* _artifactcache.py: Create artifact proto file atomicallyJürg Billeter2019-05-231-1/+1
|
* Move source from 'buildstream' to 'src/buildstream'Chandan Singh2019-05-211-0/+617
This was discussed in #1008. Fixes #1009.