C.W.K.
Stream
Lesson 11 of 14 · published

Path filter

~8 min · paths, filters, skip

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

해당 안 되는 workflow skip

가장 단순한 dynamic matrix 는 '변경이 이 workflow 가 test 하는 거 안 만지면 전체 workflow skip'. paths:paths-ignore: 가 event 아래 전체 workflow 필터.

패턴

  • Glob: 'src/**', '**/*.py'.
  • 여러 개: ['src/**', 'tests/**'].
  • YAML 필터에 부정 지원 안 함; 대신 paths-ignore.

뭐가 평가되는가

이전 SHA 와 새 push 사이 (또는 PR base 와 head 사이) diff. 어느 변경 파일이라도 필터 매치하면 workflow 실행. 아니면 trigger 안 됨.

Path 필터와 required check 상호작용

Required status check 인 workflow 가 paths 로 필터되면 check 발화 안 함 — 하지만 여전히 'required'. 매치 파일 안 만지는 PR 은 hang. 해결책:

  • 'Allow merging if status checks are skipped' 설정 (정책 의존).
  • 항상 green 보고하는 no-op fallback workflow.
  • Workflow level 아니고 job 안에서 paths-filter action 사용.

Code

Docs 만 바뀌면 workflow skip·yaml
name: ci
on:
  pull_request:
    paths-ignore:
      - 'docs/**'
      - '*.md'
  push:
    branches: [main]
    paths-ignore:
      - 'docs/**'
      - '*.md'

External links

Exercise

CI workflow 에 paths-ignore: ['docs/**', '*.md'] 추가. Docs-only PR 열고 CI trigger 안 되는지 확인. Required status check 가 hang 안 하는지 확인 (그러면 조정).

Progress

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

댓글 0

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

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