Github-Action-Day10:路径触发器(Path Triggers)

这是我的 Github Action Advent Calendar 的第十天的内容,如果您想要了解更多已经发布的 tips 信息,查看此处的 索引

在前面可以看到,我们可以基于分支过滤器来限制工作流的运行。对于由 push 或者 pull_request事件触发的工作流 (workflow),您可以限制它们只能在一个特定的分支 (branch) 被 push ,或者在一个特定的分支上创建 pull request 时,对应的事件才被触发。

Translate Note:

push 和 pull_request 事件在 Github Action 中是比较常用的事件。因为大多数时候 Action 操作的运行都是基于仓库中的内容更新的,而 push 和 pull_request 操作往往都会对仓库中的内容发生修改。

出了限制分支外,您还可以限制这些工作流 (workflows) 只能在 push 到一个特定的路径 时才触发运行。

当您有一些自动化操作需要在您检查某些内容时运行,这通常很有用。例如:在我的一个开源项目中,每次我们合并一个提交 (commit) 到主分支上时,我们都发布我们的文档到我们的网站上。但是,我们只希望在文档发生实际修改时才运行这个 workflow (发布文档到网站上)。

在这种情况下,我们希望在主分支上的 docs 目录任何内容发生修改时我们才运行这个 workflow。(为了实现这个目的)我们可以使用 一个通配符 作为我们的路径过滤器的一部分。

Translate Note:

代码有几行注释,注释的是原作的内容,原作者这里有发布的步骤,但是我们没有对应的仓库,无法测试。

而我们只要测试路径触发器是否生效就行了,测试在修改 doc 目录和不修改 doc 目录下的 push 操作是否会触发运行。

现在,我们拥有了一个工作流:每当我们在 docs 目录下发生文件修改以及合并修改到主分支上时, publish_docs.sh 脚本就会运行(发布文档到网站上)。