除非所有变更文件均为.md格式,否则运行作业
作业运行规则场景支持说明
这个场景是支持的,你可以借助CI工具的路径匹配+条件判断来实现。
拿GitHub Actions举例子,你可以这么配置:
- 先通过工具获取本次提交的所有变更文件,再判断有没有非
.md后缀的文件;只要存在非.md文件变更,就运行作业;如果所有变更都是.md,就跳过。
具体配置代码大概是这样:
jobs: run-test: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 # 获取变更文件列表,检查是否有非MD文件 - name: 检查非MD变更文件 id: check-files uses: tj-actions/changed-files@v41 with: files: '**/*.!(md)' # 匹配所有非MD格式的文件 # 只有当存在非MD文件变更时,才运行测试 - name: 执行测试作业 if: steps.check-files.outputs.any_changed == 'true' run: | echo "开始运行测试..." # 这里写你的测试命令
这个配置刚好对应你要的场景:除非所有变更文件都是.md,否则就运行测试作业。
其他CI工具比如GitLab CI、Jenkins也能实现类似逻辑,核心都是先拿到变更文件列表,再通过脚本或者内置条件判断筛选出符合要求的情况,决定是否执行作业。
内容的提问来源于stack exchange,提问作者jsstuball
相关产品推荐
相关产品推荐

