You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

自定义Composite GitHub Action输出无法在后续步骤读取的问题

GitHub Actions复合动作输出无法传递的解决方法

问题出在复合动作(using: composite)的输出需要显式绑定内部步骤的输出,直接在内部步骤写入$GITHUB_OUTPUT不会自动暴露为动作的输出。

修正后的复合动作配置

修改action_with_output/action.yml,给内部步骤添加ID,并在动作的outputs字段中显式映射该步骤的输出:

# action_with_output/action.yml
name: action_with_output

outputs:
  out:
    description: 'Some output'
    value: ${{ steps.internal-step.outputs.out }}  # 绑定内部步骤的输出

runs:
  using: composite
  steps:
    - name: action with output step
      id: internal-step  # 为内部步骤添加ID,用于引用输出
      shell: bash
      run: echo "out=true" >> $GITHUB_OUTPUT

原因说明

复合动作的运行上下文与工作流步骤是隔离的:

  • 直接在工作流步骤中写入$GITHUB_OUTPUT时,输出会直接归属该工作流步骤,因此后续步骤可通过steps.step1.outputs.out直接引用。
  • 但在复合动作内部,步骤的输出仅存在于动作内部上下文,必须通过outputs字段显式声明并映射,才能将其暴露给调用该动作的工作流。

修正后,原工作流配置无需改动,Read output步骤即可正常输出true。

内容的提问来源于stack exchange,提问作者jparisu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 15:35:34