Observação: no momento, não há suporte para os executores hospedados no GitHub no GitHub Enterprise Server. Você pode ver mais informações sobre o suporte futuro planejado no GitHub public roadmap.
Visão geral
Você pode usar jobs.<job_id>.outputs
para criar um map
das saídas para um trabalho. As saídas de trabalho estão disponíveis para todos os trabalhos downstream que dependem deste trabalho. Para obter mais informações sobre como definir dependências de trabalho, confira jobs.<job_id>.needs
.
As saídas são cadeias de caracteres Unicode e podem ter no máximo 1 MB. O total de todas as saídas em uma execução de fluxo de trabalho pode ter no máximo 50 MB.
As saídas de trabalho que contêm expressões são avaliadas no executor ao final de cada trabalho. As saídas que contêm segredos são eliminadas no executor e não são enviadas para GitHub Actions.
Para usar saídas de trabalho em um trabalho dependente, você pode usar o contexto needs
. Para obter mais informações, confira "Contextos".
Observação: $GITHUB_OUTPUT
é compartilhado entre todas as etapas de um trabalho. Se você usar o mesmo nome de saída em várias etapas, a última etapa para gravar na saída substituirá o valor. Se o seu trabalho usar uma matriz e gravar em $GITHUB_OUTPUT
, o conteúdo será substituído para cada combinação de matriz. Você pode usar o contexto matrix
para criar nomes de saída exclusivos para cada configuração de trabalho. Para obter mais informações, confira "Contextos".
Exemplo: Definindo saídas para um trabalho
jobs:
job1:
runs-on: ubuntu-latest
# Map a step output to a job output
outputs:
output1: ${{ steps.step1.outputs.test }}
output2: ${{ steps.step2.outputs.test }}
steps:
- id: step1
run: echo "test=hello" >> "$GITHUB_OUTPUT"
- id: step2
run: echo "test=world" >> "$GITHUB_OUTPUT"
job2:
runs-on: ubuntu-latest
needs: job1
steps:
- env:
OUTPUT1: ${{needs.job1.outputs.output1}}
OUTPUT2: ${{needs.job1.outputs.output2}}
run: echo "$OUTPUT1 $OUTPUT2"