Remarque : Les exécuteurs hébergés sur GitHub ne sont pas pris en charge sur GitHub Enterprise Server. Vous pouvez voir plus d’informations sur le support futur planifié dans la GitHub public roadmap.
Vue d’ensemble
Vous pouvez utiliser jobs.<job_id>.outputs
pour créer une map
de sorties pour un travail. Les sorties de travail sont disponibles pour tous les travaux en aval qui dépendent de ce travail. Pour plus d’informations sur la définition des dépendances de travail, consultez jobs.<job_id>.needs
.
Les sorties sont des chaînes Unicode, et leur taille maximale est de 1 Mo. La taille totale maximale de toutes les sorties d’une exécution de workflow est de 50 Mo.
Les sorties de travail contenant des expressions sont évaluées sur l’exécuteur à la fin de chaque travail. Les sorties contenant des secrets sont rédigées sur l’exécuteur et ne sont pas envoyées à GitHub Actions.
Pour utiliser les sorties de travail dans un travail dépendant, vous pouvez utiliser le contexte needs
. Pour plus d’informations, consultez « Contextes ».
Remarque : $GITHUB_OUTPUT
est partagé entre toutes les étapes d’un travail. Si vous utilisez le même nom de sortie dans plusieurs étapes, la dernière étape à écrire dans la sortie remplace la valeur. Si votre travail utilise une matrice et écrit dans $GITHUB_OUTPUT
, le contenu sera remplacé pour chaque combinaison de matrice. Vous pouvez utiliser le contexte matrix
pour créer des noms de sortie uniques pour chaque configuration de travail. Pour plus d’informations, consultez « Contextes ».
Exemple : Définition de sorties pour un travail
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"