WIP: Introduce new artifact subcommand `delete`
Description
This MR aims to introduce the a new bst artifact delete
subcommand.
The addition of the artifact delete
subcommand itself has been split out from !1008 (closed).
This MR adds tests to the command and further ensures that the command can handle more use-cases.
Acceptance criteria
-
Cherry-pick relevant commits of !1008 (closed) -
Handle deleting non-existent/non-present refs more gracefully -
Don't touch cascache.py API -
Ensure that we can delete artifacts that have been pulled without their buildtree -
Add tests for the extra use-cases
This MR will close #477 (closed) and partially address #773 (closed)
UPDATE: This MR is now on hold due to a decision to ensure that artifact refs are handled properly Stream.py, instead of including such logic in _frontend/cli.py.
Edited by James Ennis