Skip to content

Submission from issue #192#193

Open
orientpine wants to merge 1 commit into
masterfrom
submission/192
Open

Submission from issue #192#193
orientpine wants to merge 1 commit into
masterfrom
submission/192

Conversation

@orientpine
Copy link
Copy Markdown
Owner

Closes #192. Auto-generated submission.

@orientpine orientpine added the submission 자료 제출 Issue label Apr 23, 2026
orientpine added a commit that referenced this pull request Apr 26, 2026
* fix(ci): process-submission 재처리 시 stale 브랜치 non-fast-forward 방지

submission/<N> 브랜치가 이전 run 잔재로 원격에 남아 있을 때
git push가 non-fast-forward로 거부되며 워크플로우가 실패하던 문제를 해결한다.

변경:
- 열린 PR이 없을 때만 stale 원격 브랜치를 정리 (PR이 있으면 손대지 않음)
- git fetch origin $BRANCH 후 --force-with-lease로 push (경쟁 상태 감지)
- 이미 열린 PR이 있으면 gh pr create 대신 재사용

영향:
- 같은 issue 재트리거(workflow_dispatch, 재라벨링)에서도 안정 동작
- PR 본문이 자동 생성이고 단일 commit이므로 force-with-lease 안전

관련 문서: docs/troubleshooting/rss-submission-ci-failure.md

* feat(ci): GitHub 인프라 일시 장애 시 CI 자동 재실행 워크플로우 추가

actions/checkout이 HTTP 500/502/503/504 또는 connection timeout 등
GitHub 쪽 일시 장애로 retry를 소진하고 실패하면, 새 워크플로우가
실패 로그에서 infra-transient 시그니처를 확인 후 gh run rerun --failed로
자동 재실행한다.

핵심 동작:
- workflow_run on CI completed (failure만)
- run_attempt < 3 으로 무한 루프 차단
- gh run view --log-failed 로그를 시그니처 매칭
  (HTTP 5xx, RPC failed, ETIMEDOUT, ENOTFOUND github.com 등)
- 매칭 안 되면 아무 것도 안 함 (테스트/빌드 실패 같은 결정적 실패는 재실행 안 함)
- permissions: actions: write, contents: read

로컬 단위 검증: 4개 골든 로그 샘플 모두 기대대로 분류
  · 실제 24846153285 infra 로그 → MATCH
  · jest test failure 로그       → NO_MATCH
  · TS compile error 로그         → NO_MATCH
  · Connect Timeout 로그          → MATCH

관련 문서: docs/troubleshooting/rss-submission-ci-failure.md

* docs: RSS/submission PR CI 장애 재발 방지 기록

PR #193 (issue #192 'hwp/hwpx 에디터')에서 발생한 두 개의 독립적
실패 원인을 정리하고, 적용한 수정의 동기와 디자인 결정을 남긴다.

다룬 내용:
- 원인 1: GitHub 인프라 일시 장애 (actions/checkout retry 소진)
- 원인 2: stale submission/<N> 브랜치 재사용 (non-fast-forward)
- 해결: ci-auto-rerun.yml + process-submission.yml force-with-lease 로직
- 시그니처 매칭 정책 (false positive 방지)

관련 워크플로우:
- .github/workflows/process-submission.yml
- .github/workflows/ci-auto-rerun.yml
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

submission 자료 제출 Issue

Projects

None yet

Development

Successfully merging this pull request may close these issues.

온라인/설치형 무료 한글(hwp/hwpx) 에디터 프로그램

1 participant