我有一个在自托管运行器上运行的 github 操作。我们有很多标签,如“xsmall”、“small”、“large”、“xlarge”等。所有这些标签都有一个共同的标签,如 devops。所以在很多 github 操作中我都有这样的东西
...
runs-on: [self-hosted, devops ]
...
现在,这将选择任何带有 devops 标签的自托管运行器。事实证明,它有时会选择“xsmall”,而对于我的需要,“xsmall”没有足够的内存,因此我的工作抛出了 OOM。一个简单的解决方法是选择一个不是“xsmall”的跑步者。
我试过了
...
runs-on: [self-hosted, devops, small, large, xlarge ]
...
但这甚至还没有开始,因为这个 run-on 指令是一个
AND
条件,这意味着它将选择一个具有所有标签(如 devops、small、large、xlarge)的 runner。然而我们组织中没有这样的跑步者。
那么有没有一种方法可以排除
xsmall
但我的工作有能力选择任何其他可用的跑步者?本质上我需要一个 OR
条件。
没有直接的方法可以排除
runs-on
中的标签。如果可能的话,您可以尝试解决这个问题并稍微重新组织您的标签。例如,您将 not-xsmall
标签添加到除 xsmall
之外的所有合适的跑步者,然后使用:
runs-on: [self-hosted, devops, not-xsmall]