Skip to main content

Module workflow

Module workflow 

Source
Expand description

워크플로 파일 발견과 구조 추출.

의존 크레이트 0개를 유지하기 위해 워크플로 YAML의 관용적 형태(블록 매핑 + 들여쓰기)만 해석하는 전용 파서를 쓴다. R1은 uses: 행 추출로, R6~R8은 parse_workflow의 구조(트리거/권한/잡/스텝)로 판정한다.

Structs§

Job
잡 하나의 구조.
Step
스텝 하나.
UsesEntry
워크플로 파일에서 발견된 uses: 한 건.
WorkflowDoc
R6~R8 판정에 필요한 워크플로 구조.

Functions§

extract_image_refs
컨테이너 이미지 참조(image: 값, 인라인 container: 값)를 행 번호와 함께 추출한다. ${{ ... }} 표현식은 값을 알 수 없으므로 판정 대상에서 제외한다 (추측 금지).
extract_uses_entries
파일 내용에서 모든 uses: 참조를 행 번호와 함께 추출한다.
extract_uses_value
한 행에서 uses: 값을 추출한다. 주석 행과 uses:가 아닌 행은 None.
find_workflows
<root>/.github/workflows*.yml/*.yaml 파일 목록 (정렬됨).
parse_workflow
워크플로의 구조(트리거/권한/잡/스텝)를 추출한다.