GitHub Actions 出现“等待执行程序接手此作业”错误

71

当我使用 GitHub Actions 配置后,会出现长时间等待并显示“等待 runner 接收此作业”的情况。

'runner' 是什么意思?我该如何解决这个问题?


2
我尝试取消并重新运行该作业,结果成功了。 - Saiansh Singh
9个回答

70

4
我遇到了与“runs-on: ubuntu-latest”相同的问题。 - Jugal Anchalia
1
@JugalAnchalia 在这种情况下,问题很可能是不同的。有时候,操作无法运行是因为 GitHub Actions 出现了故障,但目前看起来一切正常:https://www.githubstatus.com/ - Boris Dalstein
哈哈,完全符合我的问题。虽然我想要兼容性而选择在18.04上运行。 - Bhikkhu Subhuti
1
@BhikkhuSubhuti 如果你需要Ubuntu 18.04,你可以使用一个Docker容器。我有同样的需求,所以我创建了一个最小项目来解释如何做到这一点。我还有一个更完整的示例,以及一个关于如何创建自定义Docker镜像的示例在这里 - Boris Dalstein
1
@BhikkhuSubhuti 没有必要"创建一个docker"。理论上,你只需要将runs-on: ubuntu-18.04替换为runs-on: ubuntu-latestcontainer: ubuntu:18.04即可。字符串ubuntu:18.04指的是Docker Hub上已经存在的Docker镜像。然而,请注意这个镜像非常简约,所以在实践中,你需要添加更多的安装步骤,比起现在已经停用的GitHub Ubuntu 18.04镜像来说。例如,对于一个C++/Qt项目,可以参考以下链接:https://github.com/dalboris/test-cpp-github-actions/blob/master/.github/workflows/ubuntu-18.04-docker.yml - Boris Dalstein
显示剩余4条评论

27
如果在runs-on:之后拼写所请求的Runner名称错误,GitHub Actions不会明确告诉您已经犯了一个错误。相反,它会假设存在一个名为该名称的Runner,并将继续无限期等待其可用。

这是我们遇到此错误的最常见原因。请确保在runs-on:之后正确拼写操作系统和架构名称。


2
这是我的问题。如果Github对“runs-on:”值进行某种验证,那将非常好。感谢您发布这个! - Jon Turner

5

在我的情况下,这只是个小错误。

runs-on应该是ubuntu-latest,但实际上是自行托管的。导致等待时间过长。

jobs:
  Example-Actions-Job:
    name: Exploring GitHub Actions
    runs-on: self-hosted
    steps:


5
如果您没有正确地将自己托管的运行程序与存储库共享,则此问题也会发生。 runs-on 行是正确的(即其他具有相同 runs-on 的作业在其他地方正常工作)。
我们有 GitHub Enterprise 运行程序,团队已经在组织级别上正确添加了它们,但是没有授权特定的存储库使用它们。当您知道时,很明显,因为存储库的运行程序选项卡为空,但对于团队来说很令人困惑,因为他们确实添加了运行程序。
解决方案是转到组织,选择运行程序或运行程序组,单击名称,然后从可用存储库列表中选择存储库。您还可能需要允许公共存储库或更改其存储库的可见性,因为这也会防止运行程序对特定存储库不可用。

3

这可能发生的另一个原因是在下面错误地输入了运行程序的名称:

jobs:
  push:
    runs-on: [runner name]

确保它没有任何错别字,因为我前几天就因此头痛了几个小时。


1

我的.yml文件中有一个错别字。我将其修正为 runs-on: ubuntu-latest 现在运行程序已经开始执行任务了。


1

我不知道为什么,在我的情况下是 runs-on: ubuntu-latest 但卡住了。 这是一个免费的 repo,所以很奇怪。

3小时后,我取消了作业,重新运行时立即得到了一个 runner。所以这也可能是 GitHub 的问题。


0
这个问题是因为这个原因给我造成的:
jobs:
  jobA:
    runs-on: ubuntu-latest
    environment: abc
    # ...

  # jobB hangs for ever and wont get started
  jobB:
    runs-on: ubuntu-latest
    environment: xyz
    needs: publish
    # ...

解决方案很简单:我只是移除了环境。

0

我有同样的问题,这就像运行程序离线了一样,所以你也需要检查一下运行程序的状态。我从VPS中删除了项目文件夹,所以它显示为离线。所以我将重新开始,然后就可以正常工作了。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接