主要观点:介绍如何基于文件更改来限制 GitHub 工作流的运行,Coverage.py 有大型测试套件,通过检测文件更改来决定是否运行测试,过程中经历了一些曲折,包括使用dorny/paths-filter
动作、处理多条件判断以及解决 YAML 中换行导致的表达式评估问题等。
关键信息:
- 使用
dorny/paths-filter
动作检测文件更改,如在测试动作中添加该动作来判断是否运行测试。 - 通过
if
条件判断来决定是否运行测试,如根据分支名、更改的文件类型等条件。 - 遇到 YAML 中换行导致表达式评估错误的问题,最终将表达式改回一行解决。
重要细节: - 最初通过
outputs
将changed
作业的输出作为中间步骤,后来添加了更多文件类型到过滤条件中。 - 提交记录中还更新了质量检查工作流,包含其他混合条件。
- 发现 Makefile 更改也会触发测试运行,通过更改 YAML 语法形式来解决该问题。
- 对测试跳过后的状态以及是否对 master 分支的所有更改都运行工作流有一些思考和纠结。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。