Cache not always restored on concurrent > 1 and docker executor
I don't know if it's an expected behavior but i have noticed that the cache is split for each docker concurrent container.
I'm experiencing a storm of failed jobs because the jobs are executed in different concurrent container and obviously the cache is not present.
I'm going to explain myself with an example:
cache: key: "$CI_PROJECT_ID/$CI_BUILD_REF_NAME" paths: - node_modules/ # Build job build: type: build script: - npm prune - npm install # Test job test: type: test script: - npm test
concurrent = 1 [[runners]] name = "node_wheezy" limit = 0 disable_verbose = false tls-ca-file = "" executor = "docker" [runners.docker] image = "node:wheezy" privileged = false volumes = ["/cache"] cache_dir = "/cache" allowed_images = ["node:*-wheezy"] allowed_services = ["redis:latest", "mongo:latest"]
If i keep concurrent to 1 the cache is always restored but if i put 2 it's possible that build job is executed on concurrent-0 and test on concurrent-1 causing a fail.