无法调用同仓库自定义GitHub Action,求正确调用语法
解决同一仓库自定义GitHub Action调用的"Unable to Resolve Action"错误
你遇到这个错误主要有两个原因:
- 调用同一仓库内的Action时,不需要指定
MyOrg/MyRepo@master前缀,GitHub会自动识别当前仓库上下文,多余前缀会导致解析失败; - 你的Action定义文件是
.github/actions/my_action.yaml(而非my_action目录下的action.yaml),调用路径需要直接指向这个文件。
下面是正确的调用语法:
基础用法(推荐,使用当前分支的最新文件)
- name: test action uses: ./.github/actions/my_action.yaml with: image: localhost/test-image:latest my_secret: ${{ secrets.MY_SECRET }}
指定分支版本
如果需要固定调用某一分支的Action文件,可以加上分支后缀:
- name: test action uses: ./.github/actions/my_action.yaml@master with: image: localhost/test-image:latest my_secret: ${{ secrets.MY_SECRET }}
补充说明
- 若后续你把Action文件放到
my_action子目录下(目录内命名为action.yaml),则可以简化为./.github/actions/my_action来调用,这是GitHub Action的标准目录结构; - 确保文件名大小写正确(GitHub对文件名大小写敏感),你已经通过
ls确认文件存在,这一步没问题。
内容的提问来源于stack exchange,提问作者pkaramol
相关产品推荐
相关产品推荐

