Skip to main content

Definindo saídas para trabalhos

Crie um mapa de saídas para seus trabalhos.

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"