检查前面步骤的输出时,GitHub 操作中的操作/脚本中的语法错误

Syntax error in actions/script in GitHub actions when checking for outputs of previous steps

提问人:pkaramol 提问时间:11/15/2023 更新时间:11/15/2023 访问量:28

问:

我有以下 GitHub Actions 步骤

      - name: set actual list of tags to use
        id: create-images-list
        uses: actions/github-script@v6
        with:
          result-encoding: string
          script: |
            const base_os_image_list = '${{ steps.create-images-list-base-os.outputs.images_list }}'
            const base_runtime_image_list = '${{ steps.create-images-list-base-runtime.outputs.images_list }}'
            if ('${{ inputs.runtime }}' == 'base') {
              core.setOutput('images_list', base_os_image_list)
            }
            if ('${{ inputs.runtime }}' != 'base') {
              core.setOutput('images_list', base_runtime_image_list)
            } 

从前 2 个步骤的输出中,将只设置一个步骤,因为这两个步骤是互斥的。 问题出在这两个输出的变量插值上,因为如果我对值进行硬编码,就像

      - name: set actual list of tags to use
        id: create-images-list
        uses: actions/github-script@v6
        with:
          result-encoding: string
          script: |
            const base_os_image_list = 'foo'
            const base_runtime_image_list = 'bar'
            if ('${{ inputs.runtime }}' == 'base') {
              core.setOutput('images_list', base_os_image_list)
            }
            if ('${{ inputs.runtime }}' != 'base') {
              core.setOutput('images_list', base_runtime_image_list)
            } 

这些步骤在执行时不会出现任何错误。这是什么情况?其中一个不应该只是空字符串,并且该过程按预期继续吗?

javascript 持续集成 github-actions

评论


答: 暂无答案