건너뛸 작업 처리하기
작업과 단계 모두 if: 표현식을 지원해. 이 표현식을 참거짓으로 평가해서 거짓이면 해당 작업이나 단계를 건너뛴다.
자주 쓰는 패턴들을 살펴보자:
- 브랜치별:
if: github.ref == 'refs/heads/main' - 태그별:
if: startsWith(github.ref, 'refs/tags/v') - 이벤트별:
if: github.event_name == 'push' - 레이블별:
if: contains(github.event.pull_request.labels.*.name, 'deploy') - 경로별: 대신 워크플로 수준에서
paths:필터를 써. - 상태별:
if: failure(),if: cancelled(),if: always()
건너뛴 상태와 실패 상태 구분하기
if:가 거짓으로 평가되면 실패가 아니라 건너뜀 상태가 돼. 건너뛴 작업은 워크플로를 실패로 만들지 않아. 하지만 브랜치 보호를 켜두면 필수 상태 확인도 만족시키지 못해. 필수 확인을 조건 뒤에 배치하지 마. 그러면 기능 브랜치 풀 리퀘스트가 멈춰버려.