【问题标题】:How do I maintain a Bazel cache with GitHub Actions?如何使用 GitHub Actions 维护 Bazel 缓存?
【发布时间】:2021-12-27 13:55:42
【问题描述】:

我使用预装的 Bazel 在 GitHub Actions 上构建代码。 Bazel 能够在文件系统上缓存步骤以跳过后续构建的工作。

但我如何才能将此缓存保存在 GitHub Actions 中以用于后续工作流运行?

【问题讨论】:

  • 您通常可以使用github.com/actions/cache 缓存内容。根据您使用的具体操作,可能还有其他配置缓存的方法。
  • ...这就是我要问的
  • 阅读例如docs.github.com/en/actions/advanced-guides/…。如果您仍有疑问,请edit 澄清在您的案例中应用此操作的具体问题(如果您正在使用其他操作,例如,它们是什么?)
  • Bazel 缓存与其他一些构建系统的缓存不同,因为它们包含一个内容可寻址存储,可以从所有工作流中增长,而不是按键分区,所以我的问题是特定于 Bazel 和GitHub 操作。
  • 你见过tensorflow是怎么做的吗?他们使用 GCP 存储桶进行缓存:github.com/tensorflow/io/pull/1287

标签: github-actions bazel


【解决方案1】:

您需要通过.bazelrc 设置 Bazel 缓存代理(与您在本地执行的操作非常相似)并将缓存内容托管在 S3 或 GCS 中。

对于开源项目,你可以试试BuildBuddy,让你感觉更好。

【讨论】:

    猜你喜欢
    • 2021-05-03
    • 2021-07-12
    • 1970-01-01
    • 2023-01-27
    • 2020-07-15
    • 2020-11-08
    • 2020-12-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多