复合运行步骤 GitHub 操作错误:“在 URI 中找不到操作”

Ale*_*oni 5 github github-actions

我想用在GitHub上动作的复合运行步骤的动作,如所描述这里,为了重新使用他们在不同的工作流程。但是,我收到错误:

An action could not be found at the URI 'https://api.github.com/repos/scripts/build_ubuntu/tarball/v1
Run Code Online (Sandbox Code Playgroud)

我的主要工作流程(.github/workflows/BuildUbuntu.yml)如下:

[...]

jobs:
  ubuntu_build_appimage:
    name: Build MeshLab (Ubuntu - AppImage)
    runs-on: ubuntu-16.04

    steps:
    - uses: scripts/build_ubuntu@v1

[...]
Run Code Online (Sandbox Code Playgroud)

复合步骤 ( .github/workflows/scripts/build_ubuntu/action.yml) 如下:

runs:
  using: "composite"
  steps: 
  - uses: actions/checkout@v2
    with:
      submodules: true

  [other steps...]
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

以下是链接: GitHub 提交 工作流

riQ*_*iQQ 7

您的工作流程错误地引用了该操作。它正在寻找带有标签build_ubuntu的用户/组织的存储库。scriptsv1

您可以在本地引用它,因为它在同一个存储库中。

[...]

jobs:
  ubuntu_build_appimage:
    name: Build MeshLab (Ubuntu - AppImage)
    runs-on: ubuntu-16.04

    steps:
    - uses: ./.github/workflows/scripts/build_ubuntu

[...]
Run Code Online (Sandbox Code Playgroud)

您的操作缺少namedescription元素。这些是根据https://docs.github.com/en/actions/creating-actions/metadata-syntax-for-github-actions所必需的。

此外,您不能useswebknjaz在他的评论中指出的那样在复合运行步骤操作中使用该步骤。目前您只能使用run具有以下子元素的步骤

复合运行步骤目前支持什么?

对于复合动作中的每个运行步骤,我们支持:

  • 姓名
  • ID
  • 环境
  • 贝壳
  • 工作目录

此外,我们支持在整个动作中映射输入和输出。
[...]

复合运行步骤不支持什么

我们现在不支持在复合操作中的各个步骤上设置条件、继续出错、超时分钟、“使用”和秘密。

(注意:我们确实支持在工作流中为使用复合运行步骤操作的步骤设置这些属性)

(来源:https : //github.com/actions/runner/issues/646

name: "My composite action"
description: "Execute some run setps to do something"
runs:
  using: "composite"
  steps: 
  - run: |
      echo do something
      echo and do something else

  [other steps...]
Run Code Online (Sandbox Code Playgroud)

  • https://github.com/actions/runner/issues/646 似乎暗示目前不支持“uses”。 (2认同)