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

如何复用当前工作分支中定义的GitHub Actions可重用工作流

解决方法

方案一:同仓库场景直接使用相对路径

如果要调用的可重用工作流和当前 workflow 属于同一个代码仓库,无需填写仓库前缀和 ref,直接用相对路径引用即可:

jobs:
  call-workflow-1:
    uses: ./.github/workflows/workflow-1.yml

该写法会默认使用当前 workflow 运行所在的分支/提交对应的工作流文件,天然适配所有分支的开发、测试场景。

方案二:跨仓库场景通过前置 job 传递 ref

如果要调用其他仓库的可重用工作流,可以新增一个前置 job 先输出需要的分支名/版本号,再在调用工作流的 job 中引用该输出:

jobs:
  get-target-ref:
    runs-on: ubuntu-latest
    outputs:
      ref: ${{ github.ref_name }}
    steps:
      - run: echo "ref=${{ github.ref_name }}" >> $GITHUB_OUTPUT

  call-workflow-1:
    needs: get-target-ref
    uses: octo-org/another-repo/.github/workflows/workflow-1.yml@${{ needs.get-target-ref.outputs.ref }}

GitHub Actions 允许在 uses 属性中引用前置 job 的输出值,该写法可以正常生效。

方案三:临时开发场景手动替换

如果只是临时在特性分支开发调试,可以先写死默认分支名(比如@main),开发阶段手动修改为当前分支名,测试通过后再改回正式的标签/默认分支即可,适合改动频率低的场景。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 22:15:05