Consider this snippet from a pipeline definition:
definitions:
caches:
sonar: ~/.sonar/cache
steps:
- step:
caches:
- sonar
script:
- pipe: sonarsource/sonarcloud-scan:1.0.1
The `sonarcloud-scan` pipe downloads language analyzers and plugins from SonarCloud, which are used to analyze the source code. These files are not small, and there are many of them, so downloading takes non-trival amount of time. On every execution, the scanner looks at the cache directory, and only downloads files that have changed since the last run. And they don't change very often, so a good candidate for caching.
The `caches` definition in the above snippet works fine when running the scanner in the pipeline. But not when running the pipe (which inside of it runs the scanner).
Looking at the output of the pipe, in the argument list of the `docker` command I don't see values like `--volume=...` related to caches, so it seems to me the defined cache is not available to the pipe.
Can you please confirm that:
- The caches are indeed not available (yet?) in pipes
- Do you have plans to make them available?
- Can you recommend a workaround?