我有3个步骤:
- name: echo1
run: echo ${{ steps.stepid.outputs.value }}
- name: echo2
run: echo ${{ steps.stepid.outputs.value == false }}
- name: echo3
run: echo ${{ !steps.stepid.outputs.value }}并且所有的输出都是"false“。如何将false值恢复为true?
发布于 2021-04-02 22:25:13
正确的答案是,上一步的布尔值实际上变成了当前步骤的字符串。因此,应该使用...output.value == 'false'而不是...output.value == false
发布于 2021-11-23 08:02:13
值得一提的是,还有另一个解决方案:使用GitHub内置的toJSON和fromJSON函数封送该值。
...
steps:
- name: I produce a boolean output
id: output_producer
shell: bash
run: |
if [[ $RANDOM > 100 ]]; then i=true; else i=false; fi
echo "::set-output name=boolean_output::${{ toJSON($i) }}"
echo "::set-output name=integer_output::${{ toJSON($i) }}"
- name: I only run conditionally
if: fromJSON(steps.output_producer.outputs.boolean_output)
shell: bash
run: |
echo "Ran successfully!"
- name: I run always
if: always()
shell: bash
run: |
echo ${{ fromJSON(steps.output_producer.outputs.integer_output) }}https://stackoverflow.com/questions/66892911
复制相似问题