You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在GitHub Actions工作流中判断当前运行器是否为自托管?

GitHub Actions自托管运行器判断及Xcode步骤跳过方案

优先推荐:官方环境变量判断

GitHub官方托管的运行器会自动设置环境变量 RUNNER_MANAGED_BY_GITHUB 为 true,自托管运行器无此变量或值为false。利用这个变量可以精准控制步骤执行:

- name: Xcode
  id: setup_xcode
  if: env.RUNNER_MANAGED_BY_GITHUB == 'true'
  uses: maxim-lobanov/setup-xcode@v1
  with:
    xcode-version: 14.3.1

仅官方托管运行器会执行该步骤,自托管运行器直接跳过,无需依赖命名或硬件架构,是最可靠的方案。

备选方案:通过运行器标签判断

若需要基于标签识别,可先给自托管运行器添加自定义标签(如self-hosted),再通过环境变量RUNNER_LABELS判断:

- name: Xcode
  id: setup_xcode
  if: !contains(env.RUNNER_LABELS, 'self-hosted')
  uses: maxim-lobanov/setup-xcode@v1
  with:
    xcode-version: 14.3.1

RUNNER_LABELS包含当前运行器的所有标签,通过它可精准筛选出自托管运行器并跳过步骤。

说明

你之前尝试的runner.labels并非GitHub Actions runner上下文的有效字段;依赖运行器命名关键词的方式稳定性不足,不推荐长期使用。

内容的提问来源于stack exchange,提问作者shim

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 13:42:35