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

复用GitHub工作流时出现‘Can't find action.yml’报错的原因咨询

GitHub工作流复用报错分析与解决

目录结构

.github
└── workflows
    └── main.yml
    └── send_alerts.yml

main.yml 配置

jobs:
  main:
    steps:
      - name: Git Checkout
        uses: actions/checkout@v3
      - name: some job
        run: |
          ......
  send_alerts:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - uses: ./.github/workflows/send_alerts.yml@feature/workflow1
        with:
          provision_status: "Success"

send_alerts.yml 内容

name: Creating and Sending Alerts/Status
on:
  workflow_call:
  
    provision_status:
      required: true
      type: string

jobs:
  create_send_alerts:
    runs-on: ubuntu-latest
    steps:
      - name: Git Checkout
        uses: actions/checkout@v3
      - name: Some other jobs
        run: |
        .....

报错信息

Can't find 'action.yml', 'action.yaml' or 'Dockerfile' under '/home/runner/work/git-repo/.github/workflows/send_alerts.yml@feature/workflow1'. Did you forget to run actions/checkout before running your local action?

用户问题

为什么调用send_alerts复用工作流时会报找不到action的错误?而main.yml中同样使用actions/checkout@v3却能正常工作?已尝试actions/checkout@v2和v3,均出现相同错误。


原因与解决方案

错误根源

你混淆了复用工作流(workflow_call)和本地Action的调用逻辑:

  • actions/checkout@v3 是官方公共Action,这类Action是独立的仓库资源,GitHub会自动拉取对应代码执行,所以能正常工作。
  • 你把send_alerts.yml(复用工作流)放在steps里,用本地Action的语法调用,GitHub会去指定路径找Action的定义文件(action.yml/yaml或Dockerfile),但这是工作流文件而非Action定义,因此触发找不到文件的报错。

正确的复用方式

复用工作流是job级别的复用,不需要嵌套在steps里,而是直接作为job的顶层配置:

jobs:
  main:
    steps:
      - name: Git Checkout
        uses: actions/checkout@v3
      - name: some job
        run: |
          ......
  send_alerts:
    # 直接用uses指向复用的工作流文件,无需steps包裹
    uses: ./.github/workflows/send_alerts.yml@feature/workflow1
    with:
      provision_status: "Success"

关键区别

  • 复用工作流:通过workflow_call定义,作为独立job调用,uses是job的顶层属性。
  • Action:步骤级复用,必须放在steps里,且必须包含action.yml/yaml或Dockerfile作为定义文件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 06:40:26