【发布时间】:2021-09-25 11:35:13
【问题描述】:
caching in a GitHub Action 的正确位置是什么?具体来说,在使用其他操作运行工具设置之前或之后放置它是否正确?
例如,如果我是 using something 和 haskell/actions/setup 一样,我应该在使用 actions/cache 之前还是之后使用它?换句话说:如果setup 随后在我的 Action 的未来运行中安装更新的组件,缓存的相应部分是否会失效?
【问题讨论】:
-
example workflow 表明它位于您的操作之前。
-
@DannyB 该示例没有显示缓存在工具安装中的位置。特别是使用另一个动作安装工具。就是这个问题。
-
缓存操作只是根据密钥将文件夹复制到永久位置。如果您正在使用另一个创建/使用缓存的操作,则缓存操作需要与其集成(如ruby setup action is doing),或者按照链接示例(或我的答案)中的说明进行配置。
-
@DannyB 那么在安装工具的
haskell/actions/setup之类的情况下,缓存会继续吗? -
不,缓存总是在前面——“后面”部分是自动发生的。理想情况下,haskell 操作的作者可以在他们的操作中实现缓存,但如果他们不这样做,那么您需要做的就是了解您想要缓存的文件夹,并使用该文件夹设置缓存操作,然后适当的键(可能使用我在代表依赖列表的 haskell 文件中提到的散列函数)。
标签: caching github-actions haskell-stack