Skip to content
Latchkey

O Que É um Step Output no GitHub Actions?

Um step output é um valor que um step escreve no arquivo GITHUB_OUTPUT, legível por steps posteriores por meio do contexto steps.

Os steps costumam calcular algo de que os steps posteriores precisam, uma tag, um caminho, uma flag. Os step outputs são a forma suportada de passar esses valores dentro de um job, substituindo o antigo comando set-output.

O que é

Um par name=value que um step anexa ao arquivo em GITHUB_OUTPUT. O step precisa ter um id para que steps posteriores possam referenciá-lo como steps.<id>.outputs.<name>.

Setting and reading
steps:
  - id: meta
    run: echo "tag=v1.2.3" >> "${GITHUB_OUTPUT}"
  - run: echo "Tag is ${{ steps.meta.outputs.tag }}"

Como funciona

O GitHub lê o arquivo GITHUB_OUTPUT após o step terminar e disponibiliza os valores no contexto steps para o restante do job.

Step output vs job output

Os step outputs são visíveis dentro de um único job. Para compartilhar um valor com um job diferente, mapeie um step output para um job output e leia-o por meio de needs.

Por que importa

Os step outputs são a forma limpa e suportada de mover valores calculados ao longo de um job. O antigo comando ::set-output:: está obsoleto, então escrever em GITHUB_OUTPUT é o padrão atual.

Conceitos relacionados

Os step outputs alimentam os job outputs e são lidos pelo contexto steps; eles usam um arquivo especial como GITHUB_ENV.

Principais conclusões

  • Um step output é escrito em GITHUB_OUTPUT.
  • Leia-o via steps.<id>.outputs.<name>.
  • É local ao job; promova para um job output para cruzar jobs.

Guias relacionados