bst checkout fails due to artifact cache error when remote execution is enabled
Summary
Steps to reproduce
Run bst checkout hello.bst with remote execution set up. hello.bst is from the autotools example, in doc/examples/autotools/elements.
What is the current bug behavior?
bst checkout hello.bst test/
[--:--:--][][] START Loading elements
[00:00:00][][] SUCCESS Loading elements
[--:--:--][][] START Resolving elements
[00:00:00][][] SUCCESS Resolving elements
[--:--:--][][] START Resolving cached state
[00:00:00][][] SUCCESS Resolving cached state
Error while staging dependencies into a sandbox: 'Artifact hello.bst is configured to use remote execution but has no push remotes. The remote artifact server(s) may not be correctly configured or contactable.'
What is the expected correct behavior?
bst checkout works as per the documentation regardless of whether remote execution is enabled or not.
Possible fixes
From the logs above (supplied by @finnball) it looks as though remote caches aren't set up for a checkout command, which would have made sense before remote execution was present. Since remote execution runs integration commands as well as builds, it's necessary to run a checkout too. The SandboxRemote class should initialize remote caches independently if they haven't already been set up, but it's possible the configuration necessary for those caches hasn't been done in this case.