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

GitHub Actions:能否将可重用工作流作为步骤调用及报错排查

问题解答

核心结论

不能在主工作流的步骤中调用通过workflow_call定义的可重用工作流,这类可重用工作流只能在作业级别进行调用。

错误原因分析

你当前的写法是在作业的steps里用uses调用仓库,GitHub Actions会把这个当成要调用一个Action(而非可重用工作流),所以会去目标仓库找action.yml/action.yaml或Dockerfile,而你的仓库里只有可重用工作流文件,自然就触发了如下错误:

Error: Can't find 'action.yml', 'action.yaml' or 'Dockerfile' under

正确调用方式

要调用workflow_call类型的可重用工作流,需要在主工作流的jobs下直接定义作业,通过uses指向目标工作流,而不是嵌套在步骤里。修改后的主工作流代码如下:

name: main-workflow
on:
  workflow_dispatch:
    inputs:
      message:
        type: string
        description: 'A message to pass to reusable workflow'

jobs:
  use-reusable-workflow:
    # 直接通过uses调用可重用工作流,无需指定runs-on(可重用工作流会定义自身运行环境)
    uses: my-org/reusable-workflow/.github/workflows/reusable-workflow.yml@main
    with:
      message: ${{ github.event.inputs.message }}
    secrets:
      A_SECRET: ${{ secrets.A_SECRET }}

补充说明

  • 如果确实需要在步骤级复用逻辑,应该把逻辑封装成GitHub Action(必须包含action.yml/action.yaml配置文件),而非workflow_call类型的可重用工作流。
  • 可重用工作流的定位是复用完整的作业流程,适合跨工作流共享多步骤的任务集合。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 05:42:23