Feature request: sharing built artifacts between bst instances
Based on previous experience with YBD, it would be useful for a BuildStream user to be able to serve content from their local artifact cache to other users (e.g. local team) so that they can avoid having to rebuild new content from scratch.
The other users could be:
- on a local area network, in which case the original developer needs an easy way to cause the local artifact cache to act as a server.
- running bst on the same server/filesystem as the original developer, in which case the local artifact cache would need to be idempotent so that multiple instances of bst can run in parallel creating and using the shared local cache without clashes or race conditions.
FWIW YBD achieves this by handling each artifact within its own directory, initially created as a tmpdir, then moved into place atomically - so the filesystem handles locking. The KBAS server is just a bottle script that operates on the directory containing the artifacts (directories), so multiple instances of YBD and KBAS can play nicely on the same machine.