我希望能够让操作在除 master 之外的任何给定分支上运行。我知道有一个预先构建的filter
动作,但我想要完全相反。
更像 GitLab 的except
关键字。由于这不在官方文档中,有没有人准备了一个体面的解决方法?
非常感谢。
我希望能够让操作在除 master 之外的任何给定分支上运行。我知道有一个预先构建的filter
动作,但我想要完全相反。
更像 GitLab 的except
关键字。由于这不在官方文档中,有没有人准备了一个体面的解决方法?
非常感谢。
更新:在Samy 的回答中描述了一个更新的过滤器,它提供了一种更简洁的方式来实现这一点。
文档已更新,现在提供更多信息:
当您指定一个
branches
或tags
过滤器时,工作流仅在至少一个模式匹配时运行。对与定义的模式不匹配的分支或标签的任何更改都不会触发工作流。您定义模式的顺序很重要:
因此,为了排除master
,您需要确保首先包含与所有内容匹配的模式:
on:
push:
branches:
- '*' # matches every branch that doesn't contain a '/'
- '*/*' # matches every branch containing a single '/'
- '**' # matches every branch
- '!master' # excludes master
现在有一个branches-ignore
选项:
on:
push:
branches-ignore:
- master