Circle CI 未找到工作流解档缓存

Circle CI Workflows unarchiving cache not found

我为 Circle 创建了配置 CI:

version: 2
jobs:
  dependencies:
    docker:
      - image: circleci/node:10
    steps:
      - checkout
      - restore_cache:
          keys:
            - v2-dependencies-{{ checksum "package.json" }}
            - v2-dependencies-
      - run: yarn install
      - save_cache:
          paths:
            - node_modules
            - /root/.cache/Cypress
          key: v2-dependencies-{{ checksum "package.json" }}
  test:
    docker:
      - image: cypress/base:10
    steps:
      - checkout
      - restore_cache:
          keys:
            - v2-dependencies-{{ checksum "package.json" }}
            - v2-dependencies-
      - run: ls -la
      - run: yarn cy:cache
      - run: yarn cy:ci
      - run: yarn report:coverage

workflows:
  version: 2
  build:
    jobs:
      - dependencies
      - test:
          requires:
          - dependencies

我的期望: 它应该首先安装所有依赖项并缓存它以便在未来的工作中使用这些依赖项(例如用于测试)

发生了什么: 它安装所有依赖项并缓存它,但在 test 作业中它解压缩缓存但不在测试运行的同一目录中。

ls -la的输出:

赛普拉斯命令的输出:

我做错了什么。如何正确使用之前作业的缓存?

您应该使用相同的图像来使用缓存,因为每个图像使用不同的目录。在此示例中,您正试图从错误的目录中获取缓存。

version: 2
jobs:
  dependencies:
    docker:
      - image: cypress/base:10
    steps:
      - checkout
      - restore_cache:
          keys:
            - dependencies-{{ checksum "yarn.lock" }}
            - dependencies-
      - run: yarn install
      - save_cache:
          paths:
            - node_modules
            - /root/.cache/Cypress
          key: dependencies-{{ checksum "yarn.lock" }}
  test:
    docker:
      - image: cypress/base:10
    steps:
      - checkout
      - restore_cache:
          keys:
            - dependencies-{{ checksum "yarn.lock" }}
            - dependencies-
      - run: yarn cy:cache
      - run: yarn cy:ci
      - run: yarn report:coverage

workflows:
  version: 2
  build:
    jobs:
      - dependencies
      - test:
          requires:
          - dependencies