我有一个像这样的 GitHub 操作步骤(从较大的文件中提取test.yml):
steps:
- name: Parse
shell: bash
env:
TYPE: ${{matrix.package-type}}
BV: ${{matrix.builder-version}}
# This comment is line 63, the "#" is in column 9
NULL: ${{ matrix.beta-version }}
run: |
echo TYPE is "$TYPE"
echo BV is "$BV"
printf "Null is '%s'\n" "$NULL"
Run Code Online (Sandbox Code Playgroud)
当我运行它时,我收到以下错误:
The workflow is not valid. .github/workflows/test.yml (Line: 64, Col: 9): Unexpected value ''
Run Code Online (Sandbox Code Playgroud)
为什么这一行无效?我如何解决它?
小智 14
如果您使用的是可重用工作流程,请确保您没有将工作流程传递runs-on给作业。uses它runs-on包含在工作流文件本身中,而不是在顶级作业中。
工作流程无效。.github/workflows/REDACTED.yml(行:123,列:5):意外值“使用” .github/workflows/REDACTED.yml(行:124,列:5):意外值“with”
事实证明,GitHub 操作 YAML 解析器中存在一些怪癖,将其视为NULL特殊令牌。我猜它会解析
NULL: ${{ matrix.beta-version }}
Run Code Online (Sandbox Code Playgroud)
就好像它是
'': ${{ matrix.beta-version }}
Run Code Online (Sandbox Code Playgroud)
更改NULL为null没有帮助。(旁注,env在不区分大小写的比较中进行比较时,键 必须是唯一的,这意味着您不能同时拥有FOO和foo,即使在设置环境变量名称时保留了大小写。)
最好的修复/解决方法是避免使用“NULL”并使用其他内容,例如“NIL”。但是,如果必须使用“NULL”,可以将其放在引号中:
"NULL": ${{ matrix.beta-version }}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
20059 次 |
| 最近记录: |