Env 세 레이어
Workflow 의 환경 변수는 세 레이어에서 옴, 예측 가능한 우선순위:
- Step env — step 의
env:아래 정의. 그 step 에 가장 높은 우선. - Job env — job 의
env:아래 정의. 그 job 의 모든 step 에 보임. - Workflow env — top level 정의. 어디서든 보임.
두 레이어가 같은 이름 정의하면 더 구체적인 레이어가 이김 (step > job > workflow).
Expression 에서 env 읽기
접근 두 방법, 미묘한 차이:
- Shell run 안:
$VAR(bash) — 실행 시 실제 process env 사용. - Expression 안:
${{ env.VAR }}— 파싱 시점에 읽음, step 실행 전. 일부 context 가 아직 사용 불가; 아래 참조.
GITHUB_ENV 파일의 context 우선순위
Step 은 $GITHUB_ENV 에 쓸 수 있어 — 다음 step 에서 보이는 env var 추가. Step 2 에서 값 계산하고 step 5 에서 쓰는 방법이야.