Skip to content
Latchkey

O Que É um Runner Label no GitHub Actions?

Um runner label é uma etiqueta anexada a um runner. Os jobs solicitam labels em runs-on: para direcionar o trabalho à máquina certa.

Com muitos runners disponíveis, o GitHub precisa de uma forma de associar jobs a máquinas. Os labels são esse mecanismo: cada runner carrega labels, e o runs-on: de um job lista os labels que ele exige.

O que é

Um label é uma etiqueta de texto em um runner, como linux, x64, gpu ou um nome personalizado. Runners hospedados pelo GitHub têm labels embutidos como ubuntu-latest; runners self-hosted podem adicionar labels personalizados.

Matching labels
jobs:
  gpu-job:
    runs-on: [self-hosted, linux, gpu]
    steps:
      - run: nvidia-smi

Como funciona

Um job é despachado para um runner que possua todos os labels listados em runs-on:. Se vários runners corresponderem, qualquer um disponível é escolhido; se nenhum corresponder, o job permanece na fila.

Labels personalizados

Em runners self-hosted você atribui labels no momento do registro para descrever capacidades, como arm64 ou high-memory. Os jobs então optam por essas máquinas listando os labels.

Por que importa

Os labels são como você direciona as cargas de trabalho: builds pesados para máquinas grandes, jobs de GPU para runners com GPU. Um erro de digitação em um label também é um motivo comum para um job ficar preso para sempre como "no runner matched".

Conceitos relacionados

Os labels funcionam com runner groups para controle de acesso e são centrais para como runners self-hosted e maiores são direcionados.

Principais conclusões

  • Um label etiqueta um runner com capacidades ou identidade.
  • runs-on: precisa listar todos os labels exigidos para haver correspondência.
  • Erros de digitação deixam jobs na fila sem nenhum runner correspondente.

Guias relacionados