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

如何在非默认路径检出代码后使用本地GitHub Actions

检出到非默认路径后使用GitHub Actions本地Action的解决方案

当你将代码检出到指定路径后,直接用相对路径引用本地Action会失败——原因是uses字段的路径基于工作流默认工作目录(github.workspace),且uses不支持读取env变量拼接路径。以下是两种可行方案:

方案一:用github.workspace拼接绝对路径

利用github上下文变量(uses支持该上下文)拼接出本地Action的绝对路径,示例配置如下:

jobs:
  my_first_job:
    env:
      WORK_DIR: some-custom-dir
    steps:
      - name: 检出代码到指定路径
        uses: actions/checkout@v3
        path: ${{ env.WORK_DIR }}/local_checkout
      - name: 使用本地Action
        uses: ${{ github.workspace }}/${{ env.WORK_DIR }}/local_checkout/.github/actions/my-action

github.workspace指向工作流的根目录,通过它拼接的路径能准确定位到检出目录下的本地Action文件。

方案二:复制本地Action到默认工作目录

把检出路径下的本地Action复制到默认工作目录的对应位置,就能沿用原本的相对路径引用方式:

jobs:
  my_first_job:
    env:
      WORK_DIR: some-custom-dir
    steps:
      - name: 检出代码到指定路径
        uses: actions/checkout@v3
        path: ${{ env.WORK_DIR }}/local_checkout
      - name: 复制本地Action到默认路径
        run: |
          mkdir -p ./.github/actions
          cp -r ${{ env.WORK_DIR }}/local_checkout/.github/actions/my-action ./.github/actions/
      - name: 使用本地Action
        uses: ./.github/actions/my-action

通过run命令创建目录并复制Action文件后,默认工作目录下已存在该Action的完整结构,uses即可正常识别。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 08:12:18