Github 如何定义基于两个推送规则运行的工作流
是否有办法在同一工作流文件或工作区中定义两个推送规则 如何将以下规则合并并写入单个工作流文件:Github 如何定义基于两个推送规则运行的工作流,github,github-actions,lerna,Github,Github Actions,Lerna,是否有办法在同一工作流文件或工作区中定义两个推送规则 如何将以下规则合并并写入单个工作流文件: 在非主分支上推送任何文件时运行 仅在主分支中推送特定(package.json)文件时运行 语法似乎不支持您的特定请求 根据的工作流语法,两个触发器配置似乎不相关 GitHub允许免费用户打开支持请求。您可以随时请求功能 目前我所知道的最接近的解决方法是类似于下面的工作流,在作业中使用条件 on: push: paths: - 'path-to-package/package.
语法似乎不支持您的特定请求 根据的工作流语法,两个触发器配置似乎不相关 GitHub允许免费用户打开支持请求。您可以随时请求功能 目前我所知道的最接近的解决方法是类似于下面的工作流,在作业中使用条件
on:
push:
paths:
- 'path-to-package/package.json'
jobs:
build_pom:
runs-on: ubuntu-latest
steps:
- run: echo 'this is master'
if: github.ref == 'refs/heads/master'
嘿,谢谢你的工作和建议。但我唯一关心的是,我们大约有30多个包,因此此解决方案仍将运行所有工作流并污染所有工作流运行。您可以创建一个工作流来检查包和分支,以及另一个工作流(由第一个工作流中的
调度事件触发)在满足条件时执行您想要执行的操作。第一个将始终触发,但第二个将仅在您将其配置为时触发。这不是最好的解决方案,但在为其提供特定功能之前,它仍然是一个可能的解决方案:)
On:
push:
branches:
- 'master'
paths:
- 'path-to-package/package.json'
on:
push:
paths:
- 'path-to-package/package.json'
jobs:
build_pom:
runs-on: ubuntu-latest
steps:
- run: echo 'this is master'
if: github.ref == 'refs/heads/master'