Runner says "Cache extracted successfully" if cache-extractor gets 404 response for cache URL
Summary
commands/helpers/cache_extractor.go defines a gitlab-runner cache-extractor command that is used to pull and extract the cache from a remote URL. If thst URL returns a 404 response, the command finishes with an exit code of 0.
shells/abstract.go takes that to mean that the cache extraction has successfully completed, and outputs a message to that effect, confusing matters.
Steps to reproduce
Just run the command with http://localhost/notexist.zip or so
Actual behavior
Build output on cache miss looks like:
Extracting cache
Checking cache for master...
Successfully extracted cache
Expected behavior
Extracting cache
Checking cache for master...
Cache not found!