GitHub Action复合动作输出变量为空,求问题排查与解决
解决GitHub Action复合动作输出变量为空的问题
你的问题出在复合动作里的步骤输出设置命令错误,导致输出变量未被正确赋值。
错误原因
你当前的Random number generator步骤中,run命令写法有误:
run: "random-number=$(echo 123)" >> $GITHUB_OUTPUT
这种写法只是把字符串random-number=$(echo 123)直接写入$GITHUB_OUTPUT,并没有实际执行赋值并输出变量值,GitHub Actions无法解析出对应的输出键值对。
修正方案
正确的做法是使用echo命令将键值对格式的内容写入$GITHUB_OUTPUT,修改后的复合动作文件如下:
name: 'Hello World' description: 'Greet someone' inputs: who-to-greet: # id of input description: 'Who to greet' required: false default: 'World' outputs: random-number: description: "Random number" value: ${{ steps.random-number-generator.outputs.random-number }} runs: using: "composite" steps: - name: Random number generator id: random-number-generator run: echo "random-number=$(echo 123)" >> $GITHUB_OUTPUT shell: bash
验证效果
修正后,复合动作里的steps.random-number-generator.outputs.random-number会被正确赋值为123,上层工作流执行echo 'Output - ${{ steps.hello-world.outputs.random-number }}'时,会输出Output - 123。
内容的提问来源于stack exchange,提问作者DavSev
相关产品推荐
相关产品推荐

