buildstream-migration / bst-staging

GNU Lesser General Public License v2.1
0 stars 0 forks source link

Introduce caching of individual sources, using a Remote Asset API based Asset Cache #1274

Open Cynical-Optimist opened 4 years ago

Cynical-Optimist commented 4 years ago

See original issue on GitLab In GitLab by [Gitlab user @sstriker] on Mar 25, 2020, 22:02

We can reduce the load and reliance on additional services by leveraging the Remote Asset API. CAS and Remote Asset API combined can serve as a cache of the content, with the additional benefit that having the content in CAS means it can be referred to in Remote Execution without additional uploads.

To support this we need to extend the Source Plugin API to return the list of URIs and qualifiers as needed by the FetchService. Specifically:

We will need to expand the Source Plugin API similarly to return the list of URIs and qualifiers as needed by the PushService. Specifically:

Behavior should be configurable to support the following use cases:

See also: https://mail.gnome.org/archives/buildstream-list/2020-February/msg00000.html

Cynical-Optimist commented 4 years ago

In GitLab by [Gitlab user @sstriker] on Mar 25, 2020, 22:03

Given the Source Plugin API changes suggesting this for 2.0

Cynical-Optimist commented 4 years ago

In GitLab by [Gitlab user @coldtom] on Aug 10, 2020, 14:56

I notice that in this outline different sets of qualifiers are used for fetch/push, which may cause problems with some servers which obey the Remote Asset API specification, in particular if a server opts in for the "MAY" here. It is probably fine to say that BuildStream requires the ability to match on a subset of qualifiers, but this does mean that there may be Remote Asset API server implementations that are not BuildStream compatible.

Cynical-Optimist commented 4 years ago

In GitLab by [Gitlab user @juergbi] on Aug 25, 2020, 15:45

mentioned in commit ab8316b37591e044a69276ec644b6f1a74c986eb

Cynical-Optimist commented 4 years ago

In GitLab by [Gitlab user @juergbi] on Aug 25, 2020, 15:45

mentioned in commit 8047bd78dfd2607a53b615b33dd7881068a3f2cb

Cynical-Optimist commented 4 years ago

In GitLab by [Gitlab user @juergbi] on Aug 25, 2020, 15:53

mentioned in commit 01f7621cea149dd97d4e84c502cc30c7ee166d39

Cynical-Optimist commented 4 years ago

In GitLab by [Gitlab user @juergbi] on Aug 25, 2020, 15:58

mentioned in merge request !2044

Cynical-Optimist commented 4 years ago

In GitLab by [Gitlab user @juergbi] on Aug 25, 2020, 17:08

mentioned in commit abcbeab5741044da897b1d14154faf4db3432582

Cynical-Optimist commented 4 years ago

In GitLab by [Gitlab user @juergbi] on Sep 3, 2020, 10:10

mentioned in commit 35b784099a1f14fa80123d6d2436c9be2db749f5

Cynical-Optimist commented 4 years ago

In GitLab by [Gitlab user @juergbi] on Sep 3, 2020, 10:10

mentioned in commit 94482a04c1b2726fec5ad3d49a8b532e3f41197e

Cynical-Optimist commented 4 years ago

In GitLab by [Gitlab user @juergbi] on Sep 3, 2020, 13:12

mentioned in commit 7df5e40e8673b8a59a93cfdf2685cf120d6a98db

Cynical-Optimist commented 4 years ago

In GitLab by [Gitlab user @juergbi] on Sep 3, 2020, 13:12

mentioned in commit 7175dbb76aab99935a4e3f5884bac9451bfb655e