Th3*_*B0Y 6 continuous-integration github github-actions
我无法让 Github 工作流功能排除正常工作的路径,并且在堆栈溢出上找不到类似的问题。最相似的情况是Github 工作流程不会在推送基于路径的过滤时触发,但它对我没有帮助。
我的 PR 工作流程如下:
name: Build For PRs
on:
pull_request:
types: [opened, synchronize, ready_for_review]
paths:
- 'src/**'
- '!src/abc/**'
- '!src/def/**'
- '!src/ghi/**'
- '!src/docker-compose*.yml'
- '!**.md'
Run Code Online (Sandbox Code Playgroud)
我希望它在“src”下的任何文件发生更改时在 PR 上运行,除非负过滤器之一匹配。
即使更改 .md 文件也会触发此 WF。我怎样才能实现上面的逻辑呢?
问题是排除路径并不能按照您的设计要求工作。
当所有路径名与 paths-ignore 中的模式匹配时,工作流将不会运行,但如果您至少有一个不属于否定范围的文件 - 工作流仍将运行。
因此,无法通过此功能按照您想要的方式停止工作流程 - 当至少 1 个文件属于排除列表时停止工作流程。
我建议过滤更改的文件,然后如果您发现任何符合您条件的文件并停止工作流程,请改用https://github.com/tj-actions/changed-files/。通过该操作,您将能够检查是否有任何文件符合您的标准,然后您只需停止工作流程即可。不幸的是,它将启动完整的工作流程,创建一个运行程序并执行工作流程本身。
归档时间: |
|
查看次数: |
10524 次 |
最近记录: |