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.
jobs:
gpu-job:
runs-on: [self-hosted, linux, gpu]
steps:
- run: nvidia-smiComo 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.