首页 > 解决方案 > github 操作 - 私有复合操作 POST 失败

问题描述

问题:

拉取包含多个操作的私有仓库将在 POST 阶段失败并显示错误消息:

 Error: Can't find 'action.yml', 'action.yaml' or 'Dockerfile' under '/home/runner/work/testjerome/testjerome/.github/actions/package_and_push_to_ECR'. Did you forget to run actions/checkout before running your local action?

重现它的示例:

- name: Check out main repository
  uses: actions/checkout@v2

- name: Get composite run steps repository
  uses: actions/checkout@v2
  with:
    repository: myorg/myaction
    # Select revision
    ref: v1.0.0
    # Personal access token to check out private repository
    token: ${{ secrets.PAT_TOKEN }}
    # Indicate where to check action out to
    path: .github/actions

- name: Run action from private repo
  uses: ./.github/actions/myAction

此示例假定“myorg/myaction”是一个私有 github 存储库,其中 1 个文件夹具有 1 个文件,如下所示:myAction/action.yml

问题:

有人知道如何避免这个问题,同时在回购中仍然有几个动作吗?(是的,我可以为每个操作创建 1 个存储库……但这会很混乱)

参考:

这是您如何使用私有存储库中存在的复合操作的评论的后续内容?

以及这个 github 问题(在 github 中找不到问题本身): https ://githubmemory.com/repo/actions/runner/issues/1300

有人确实设置了一个可重现的示例: https ://github.com/rethab/composite-action-user

标签: github-actions

解决方案


忽略问题 - 找到 github 问题链接: https ://github.com/actions/runner/issues/1300

我会等到有人帮忙

另外,由于问题是“因为我们在远程操作中执行了结帐操作”,所以我现在使用的解决方法是:

  • 删除该结帐
  • 从调用者作业上传我需要的文件,然后从被调用者下载它们......一个愚蠢的问题的愚蠢解决方法

推荐阅读