Remote source cache

Description

This is a follow up to !1124 (merged), which adds push and pull to source cache so remote source caches can be configured. Where possible it will favour fetching from these instead of the original source location, which allows mirroring of sources, and should reduced build time in this case due to no need to stage the sources. In the situation where a user wants to open a workspace, the original source has to be fetched, as the open workspace method is not always the stage method and may require the unstaged source.

Changes proposed in this merge request:

  • Add push and pull methods to source cache
  • Integrate these into the fetch and push pipelines.
  • Add tests for both

Future work / discussion points:

  • This currently just uses the reference service, so perhaps bst-artifact-server should change it's name to bst-reference-server or similar, as it is no longer just used for artifacts. However with artifact as a proto work we will probably want separate artifact and source cache servers.
  • This is very similar to how the artifact cache push and pull methods work, so some refactoring and deduplication is probably possible.

This merge request, when approved, will close: #440 (closed)

This MR is currently based off !1214 (merged)


Edited by Raoul Hidalgo Charman

Merge request reports

Loading