bst artifact pull: 'artifact not found' is success
Summary
If you try to bst artifact pull an artifact that the server does not have, the command exits with code 0 and prints 'SUCCESS'.
It seems that it should exit with non-zero and print less positive text about the operation.
Steps to reproduce
git clone https://gitlab.com/buildstream/buildstream.git
cd buildstream/doc/examples/running-commands
REPO=$(mktemp -d)
bst-artifact-server "$REPO" -p 8888 &
cat >>project.conf <<EOF
artifacts:
url: http://localhost:8888
push: false
EOF
bst artifact pull hello.bst
What is the current bug behavior?
(bst) running-commands$ bst artifact pull hello.bst
[--:--:--][5a1a024a][ pull:hello.bst ] START running-commands/hello/5a1a024a-pull.84519.log
[--:--:--][5a1a024a][ pull:hello.bst ] STATUS Pulling artifact 5a1a024a <- http://localhost:8888
[--:--:--][5a1a024a][ pull:hello.bst ] INFO Remote (http://localhost:8888) does not have 5a1a024a cached
[00:00:00][5a1a024a][ pull:hello.bst ] SKIPPED Pull
[00:00:00][ ][ main:core activity ] SUCCESS Pull
Pipeline Summary
Total: 3
Session: 1
Pull Queue: processed 0, skipped 1, failed 0
(bst) running-commands$ echo $?
0
What is the expected correct behavior?
Something more like:
(bst) running-commands$ bst artifact pull hello.bst
[--:--:--][5a1a024a][ pull:hello.bst ] START running-commands/hello/5a1a024a-pull.84519.log
[--:--:--][5a1a024a][ pull:hello.bst ] STATUS Pulling artifact 5a1a024a <- http://localhost:8888
[--:--:--][5a1a024a][ pull:hello.bst ] INFO Remote (http://localhost:8888) does not have 5a1a024a cached
[00:00:00][5a1a024a][ pull:hello.bst ] SKIPPED Pull
[00:00:00][ ][ main:core activity ] FAILURE Pull
Pipeline Summary
Total: 3
Session: 1
Pull Queue: processed 0, skipped 0, failed 1
Remote (http://localhost:8888) does not have 5a1a024a (hello.bst) cached
(bst) running-commands$ echo $?
1