디버그 툴킷
- 디버그 로깅으로 재실행 — 실패 run 의 UI 버튼; 또는 repo secret 으로
ACTIONS_RUNNER_DEBUG=true+ACTIONS_STEP_DEBUG=true설정. 로그가 5-10× 길어지지만 모든 API 호출 봄. - Step 디버그 action —
mxschmitt/action-tmate가 job 중간에 runner 에 SSH 세션 염. 유용 (그리고 위험 — 세션 보는 누구나 secret 훔침). - Step Summary — 실패 step 안에서
$GITHUB_STEP_SUMMARY에 진단 정보 추가. - Artifact dump — 실패 관련 파일 (log, 스크린샷, env dump) 을
if: always()로 업로드 — 다운로드하고 검사 가능. - 로컬 재현 — 같은 image, 같은 env, act 또는 그냥 Docker.
흔한 버그와 그걸 드러내는 것
- Step 이 예상치 못하게 skip →
if:expression 확인; act 가 해석 값 출력. - Secret 이 비어 보임 → scope 안에 없음 (org / env 불일치) 또는 fork PR.
- Cache 절대 복원 안 됨 → key 불일치; 디버그로 실행해서 해석 key 문자열 봄.
- Matrix 가 job 안 생산 → 빈
fromJSON입력; upstream job 의 output 확인. - Self-hosted runner 가 안 가져감 → label 불일치, runner offline, 또는 runner busy.