러너 경계를 넘는 출력값
단계 출력값은 작업 안에서만 흘러. 작업 사이(별도 러너)로 값을 전달하려면 작업 출력값을 선언해야 해. 패턴은 이렇게:
- 생산자 작업 안의 단계가
$GITHUB_OUTPUT에 값을 써. - 생산자 작업의
outputs:맵이 단계 출력값을 작업 출력값으로 노출해. - 소비자 작업이 생산자를
needs:로 선언해. - 소비자가
needs.<producer>.outputs.<name>로 값을 읽어.
흔한 형태
뭘 돌릴지 결정하는 setup 작업이 있고, 그다음 그 결정에 따라 분기하는 작업들이 있어. 예를 들어 '이건 릴리스냐 정상 CI냐?', '어느 플랫폼에 배포할까?' 같은 거지.
제약
- 작업 출력값은 문자열만 돼. 구조화된 값이 필요하면 JSON을 쓰고
fromJSON으로 읽으면 돼. - 작업 출력값 하나당 최대 1 MB까지 쓸 수 있어.