如何在GitHub Workflow中条件化设置run-name
在GitHub Workflow中条件化设置
run-name的实现方法 你想根据工作流的触发来源(当前ci-systems仓库直接触发,还是其他仓库通过workflow_call调用)动态设置run-name,但直接在run-name里写shell的if语句是不生效的,得用GitHub Actions自带的表达式语法来实现条件判断。
以下是符合需求的正确配置:
name: my tests run-name: >- My Regression tests: ${{ inputs.my_version }} ${{ github.event.repository.name == 'ci-systems' && format('+ ci-systems: {0}', github.head_ref || github.ref_name) || '' }} on: workflow_call: inputs: my_version: type: string default: Version_O workflow_dispatch: inputs: my_version: type: string default: Version_X
配置逻辑说明:
- 用GitHub的三元表达式逻辑
条件 && 真值 || 假值判断当前仓库名称是否为ci-systems - 当仓库名称匹配时,通过
format函数拼接分支信息(github.head_ref对应PR触发场景,github.ref_name对应分支/标签直接触发场景,用||兼容两种情况) - 不匹配时返回空字符串,
run-name就只显示版本部分
注意:仓库名称区分大小写,要确保判断条件里的字符串和实际仓库名完全一致。
内容的提问来源于stack exchange,提问作者Annemie
相关产品推荐
相关产品推荐

