title: Local Gitlab runner doesn’t restore cache, but shared runners do
body: <p>I’m trying to compile and test a C++ project and use ccache to speed up my build time.</p>
  
  <p>My <code>.gitlab-ci.yml</code> allows caching just fine with the Gitlab Shared Runners, but when I run the same pipeline with my runner the job reports creating the cache and successfully extracting it on the following run but no files are added to the cache paths.</p>
  
  <pre><code>build:
    stage: build
    cache:
      key: "$CI_COMMIT_REF_SLUG"
      paths:
        - ccache/
    artifacts:
      paths:
        - build/app/wg-ui
        - build/lib/libproject-lib.so*
        - build/tests/tests
    script:
      - echo "Starting build"
      - ls
      - ls ccache
      - mkdir -p build &amp;&amp; cd build
      - qmake ../
      - make -j$(nproc) -Oline CXX="ccache ${CXX}"
  </code></pre>
  
  <p>Here is the runners section of my <code>config.toml</code></p>
  
  <pre><code>[[runners]]
    name = "Laptop-Runner"
    url = "https://gitlab.com/"
    token = "{REDACTED}"
    executor = "docker"
    [runners.docker]
      tls_verify = false
      image = "alpine:latest"
      privileged = false
      disable_entrypoint_overwrite = false
      oom_kill_disable = false
      disable_cache = false
      volumes = ["/cache"]
      cache_dir = ""
      shm_size = 0
      pull_policy = "if-not-present"
    [runners.cache]
      [runners.cache.s3]
      [runners.cache.gcs]
  </code></pre>
  
  <p>Is there a configuration step I’ve missed? Do I need to do anything with my config.toml?</p>
  
  <p><strong>Update</strong></p>
  
  <p>Rather than use <code>Docker for Windows</code> that I was using before, I decided to set up a VM and run Docker and the Gitlab-Runner from there. </p>
  
  <p>Using the exact same <code>.gitlab-ci.yml</code> and <code>config.toml</code> caching worked perfectly as expected; So I'm assuming that the issue is either with my Docker configuration or with the Windows implementation of the Gitlab Runner.</p>