在不同的作业之间共享缓存

Share cache between distinct jobs

我在同一个 GitHub 操作工作流程中有两个作业。第一个创建一个文件,第二个希望在第一个创建它的同一目录中找到该文件。

我想我可以像这样使用 actions/cache@v3:

jobs:
  job1:
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v3

      - uses: actions/cache@v3
        with:
          path: some_dir/my_file
          key: my_file

      ... (create the file)

  job2:
    needs: job1
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v3

      - uses: actions/cache@v3
        with:
          path: some_dir/my_file
          key: my_file

      ... (use the file)

GitHub 操作表明缓存已在 job2 中成功恢复,但是,在 job2 中我无法在我期望的目录中找到 my_file是。有什么问题?

所以,问题实际上是我以前在相对于自定义 working-directory 的路径中查找缓存,而带有 uses 的步骤不受此设置的影响,所以我不得不使用绝对路径actions/cache.

现在它按预期工作了。