Allow debugging of remotely failed builds
Background
This issue is technical debt introduced by #76 (closed) and should be addressed during the 1.3 dev cycle.
Since we now cache the failed build state and the build tree itself in the artifact caches, it is important to make it useful and provide the ability to debug a build artifact whether it failed remotely or locally, consequently changing and cleaning up some codepaths which handle debugging of local build failures in special ways.
Task description
-
Build directories in ~/.cache/buildstream/buildshould now be cleaned up unconditionally -
When a build fails and there is an interactive prompt, the code should now use the failed artifact in the cache (including the build tree) in order to reconstruct an environment for debugging. -
Using the same mechanism, bst shellshould now provide a way to launch a build shell from failed build artifact -
The existing bst shell --sysrootoption is collateral damage here, we should make it more coherent and have it work for any provided sysroot; e.g. it should work using a path to a directory where abst checkoutwas performed.
Acceptance Criteria
We should have a unified way of debugging a failed build, and no separate codepaths for debugging a failed build which occurred locally or remotely.
For the collateral damage to bst shell --sysroot, if this is not fixed with this issue, a separate issue should be opened to address this breakage - whether this collateral damage is also a blocker to 1.4 is a separate debate.