본문 바로가기
C.W.K.
Stream
Lesson 11 of 14 · published

Path filter

~8 min · paths, filters, skip

Level 0견습생
0 XP0/101 lessons0/10 achievements
0/120 XP to next level120 XP to go0% complete

해당 안 되는 워크플로 건너뛰기

가장 단순한 동적 매트릭스는 '변경된 파일이 이 워크플로가 테스트하는 범위를 벗어나면 워크플로 전체를 건너뛰는' 거야. paths:paths-ignore:는 이벤트 아래에서 워크플로 전체에 적용되는 필터야.

패턴

  • 글롭: 'src/**', '**/*.py'.
  • 여러 개 지정: ['src/**', 'tests/**'].
  • YAML 필터는 부정을 지원하지 않아. 대신 paths-ignore를 써.

평가 대상

이전 SHA와 새 푸시 사이(또는 PR base와 head 사이)의 diff야. 변경된 파일 중 어느 하나라도 필터에 매칭되면 워크플로가 실행돼. 아니면 실행 조건을 만족하지 않아서 돌지 않아.

경로 필터와 필수 검사의 상호작용

필수 상태 검사인 워크플로가 경로로 필터링되면 검사를 발화하지 않아. 하지만 여전히 '필수' 상태로 남아있지. 매칭되는 파일을 건드리지 않은 PR은 멈춰버려. 해결책은 이래:

  • '상태 검사가 건너뛰어져도 병합 허용' 설정하기(정책에 따라 다름).
  • 항상 성공을 보고하는 대체 작업 워크플로 만들기.
  • 워크플로 수준이 아니라 작업 안에서 paths-filter 액션 사용하기.

Code

문서만 바뀌면 워크플로 건너뛰기·yaml
name: ci
on:
  pull_request:
    paths-ignore:
      - 'docs/**'
      - '*.md'
  push:
    branches: [main]
    paths-ignore:
      - 'docs/**'
      - '*.md'

External links

Exercise

CI 워크플로에 paths-ignore: ['docs/**', '*.md']를 추가해. 문서만 변경한 PR을 열어서 CI가 실행되지 않는지 확인해 봐. 필수 상태 검사가 멈추지 않는지도 확인하고(멈추면 조정해).

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.