Hi, I’m running two workflows, one to execute some tests using the faster linux-docker-android
stack, and the other to build a React Native (with iOS variant) application on the osx-xcode-11.7.x
stack.
I noticed the cache-pull
step is skipped when the previews workflow run was on a different stack, so all the cache time-saving is not taken advantage of, which in this case is ~15 minutes.
Some cache-push
configuration options allow to set the fingerprint method or compression, but not some kind of prefix for the cache name to include the stack type and avoid invalidation when using different stacks.
This is the cache-pull
output when it’s skipped:
+------------------------------------------------------------------------------+
| (3) cache-pull@2 |
+------------------------------------------------------------------------------+
| id: cache-pull |
| version: 2.1.6 |
| collection: https://github.com/bitrise-io/bitrise-steplib.git |
| toolkit: go |
| time: 2020-09-25T22:30:57Z |
+------------------------------------------------------------------------------+
| |
Config:
- CacheAPIURL: [REDACTED]
- DebugMode: false
- StackID: osx-xcode-11.7.x
- BuildSlug: 8815b0f4b39d850e
Downloading remote cache archive
Checking archive and current stacks
current stack id: osx-xcode-11.7.x
archive stack id: linux-docker-android
Cache was created on stack: linux-docker-android, current stack: osx-xcode-11.7.x
Skipping cache pull, because of the stack has changed
| |
+---+---------------------------------------------------------------+----------+
| ✓ | cache-pull@2 | 5.07 sec |
+---+---------------------------------------------------------------+----------+
Is there a way to take advantage of the cache when using different stacks on separate workflows?