教程:使用 GitHub Actions 缓存设置 vcpkg 二进制缓存

注意

本部分介绍 vcpkg 的实验性功能,此类功能随时可能会更改或删除。

vcpkg 支持在 GitHub Actions 工作流的上下文中运行时将 GitHub Actions 缓存用作二进制缓存存储。 如果不在乎如何将二进制包上传到外部 NuGet 源,建议在 GitHub Actions 工作流中使用二进制缓存。 否则,请阅读在 GitHub Actions 工作流中使用 GitHub 包的教程

本教程介绍以下操作:

先决条件

  • 代码编辑器
  • 使用 GitHub Actions 的 GitHub 存储库
  • 使用 vcpkg 的项目

1 - 导出所需的 GitHub Actions 环境变量

vcpkg 需要操作缓存 URL 和运行时令牌被导出为工作流中可用的环境变量。 在工作流文件中复制以下步骤:

- name: Export GitHub Actions cache environment variables
  uses: actions/github-script@v7
  with:
    script: |
      core.exportVariable('ACTIONS_CACHE_URL', process.env.ACTIONS_CACHE_URL || '');
      core.exportVariable('ACTIONS_RUNTIME_TOKEN', process.env.ACTIONS_RUNTIME_TOKEN || '');

2 - 将 vcpkg 配置为使用 GitHub Actions 缓存

接下来,设置 VCPKG_BINARY_SOURCES 的值,如下所示:

env: 
    VCPKG_BINARY_SOURCES: "clear;x-gha,readwrite"

大功告成! vcpkg 现在将从 GitHub Actions 缓存中上传或还原包。

后续步骤

下面是接下来要尝试的其他任务: