Implement `bst artifact show`
Background
A new artifact sub-command: bst artifact show was proposed by @BenjaminSchubert on the mailing list (see: here). The implementation of this command was then proposed by myself and discussed on the list (see: here).
In the discussion, it was highlighted that it's important to have the --deps argument for this command. This means that we need to be able to load a dependency graph given an artifact ref. Therefore, implementing support for this will be considered a prerequsite to implementing bst artifact show.
Task description
-
Ensure that the proto has the necessary information which will allow it to reconstruct a dependency graph - (!1548 (merged)) -
Add the ability to walk an artifact's dependency tree to the loader -
Add the ability to load artifacts and their (build) dependencies - (!1553 (merged)) -
Write bst artifact showfor the local cache case - (!1560 (merged): abbcc263) -
Add remote support (via a--remote/--all-remotesflags)tobst artifact show -
add remote support to bst artifact show- (!1560 (merged): bf6ca661)
Acceptance Criteria
We should be able to use bst artifact show to see if artifacts are available remotely.
Further work
- Once the support for loading a dependency graph given an artifact ref has landed, we can then fix
artifact push/pull/checkoutto ensure that they can support artifact refs as arguments- This closes #822 (closed)
- Refactor the loader so that we can perform artifact related jobs outside of a project
- Address artifacts only by cache key
Edited by James Ennis