Skip to content

chore(ci): 죽은 stack-refresh 워크플로를 폐기한다 (#1458) - #1460

Merged
OnlyReadOneBook merged 1 commit into
developfrom
ci/1458-drop-stack-refresh
Aug 29, 2026
Merged

OnlyReadOneBook merged 1 commit into
developfrom
ci/1458-drop-stack-refresh

Conversation

@OnlyReadOneBook

Copy link
Copy Markdown
Collaborator

📌𝘐𝘴𝘴𝘶𝘦𝘴

📎𝘞𝘰𝘳𝘬 𝘋𝘦𝘴𝘤𝘳𝘪𝘱𝘵𝘪𝘰𝘯

  • Refresh PR Stack(stack-refresh.yml)과 refresh-pr-stack.mjs·refresh-pr-stack.test.mjs 를 삭제한다.
  • remote-dev-workflows-policy.test.mjs 의 stack refresh only executes trusted default-branch code 블록을 함께 걷어낸다. 남은 참조는 0건이다(docs/·README 에는 원래 언급이 없었다).
  • 대신 README 브랜치 절에 스택 PR 의 base 를 실제로 갱신하는 방법을 한 줄 남긴다 — update-branch 는 403 이고, base 를 로컬에서 머지해 평범하게 push 하면 통하며 SHA 가 유지돼 리뷰어 조회 상태와 기존 CI 가 살아남는다.

왜 폐기인가

refresh-pr-stack.mjs 의 쓰기는 PUT /pulls/{n}/update-branch 하나인데, gh stack 으로 묶인 PR 은 이 엔드포인트가 거절한다.

403 {"message":"Updating a stacked PR's branch via this endpoint is not supported."}

base 가 develop 인 스택 밑단도 스택 멤버라는 사실만으로 막힌다. root #1417 로 dispatch 한 run 33229217723 이 그대로 이 줄에서 죽었다.

남은 수동 체인도 대상이 되지 못한다. 열린 PR 35건 중 base 가 트렁크가 아닌 5건에서 네이티브 스택 미등록은 #1055·#1197·#1316 뿐인데, fix/562-weekly-grid-real-data 에서 둘로 갈라져 buildLinearStack 이 has multiple open children 으로 거절한다.

root 후보 결과
#1417 · #1410 · #1414 · #1409 · #1372 네이티브 스택 → update-branch 403
#966 · #1055 #1055 아래가 2갈래 → 선형 가드 거절
#1197 · #1316 자식 없음 → 1건짜리 "스택" = gh api -X PUT .../update-branch 한 줄과 동일

이 워크플로의 유일한 존재 이유인 다단 전파는 현 저장소의 어떤 입력으로도 도달하지 못한다. 네이티브 스택 채택(#906, 8/23)보다 늦은 8/27 eb157e0 에서 들어왔고, 실행 이력 3건(8/29)은 failure 1 · cancelled 2 로 성공 실적이 0이다.

설령 갱신에 성공해도 GITHUB_TOKEN push 는 pull_request 를 재발행하지 않아 필수 check 를 수동 dispatch 로 붙여야 하는데, 스크립트의 REQUIRED_WORKFLOWS 3종은 현 required 목록과 이미 어긋나 있었다 — required-android-device (develop) 룰셋의 Pixel 2 API 30 androidTest·Pixel 2 API 34 accessibility smoke 와 Base Freshness 가 빠져 있다. 사람이 자기 토큰으로 갱신하면 이 문제 자체가 없다.

왜 대체를 만들지 않는가

  • 밑단이 머지되면 GitHub 이 위 칸을 서버에서 자동 rebase·retarget 한다. "체인 전파" 라는 목적이 이미 플랫폼 기능에 흡수됐다.
  • 남는 구멍은 "스택 밑단이 develop 에 뒤처졌을 때" 하나뿐이고, 여기 쓸 수단이 gh stack rebase + force-push 만 있는 게 아니다. 403 은 엔드포인트 한정이라 로컬 병합 + 일반 push 가 통한다 — #1372(스택 #1411 pos2) head 에 8/29 Merge branch 'refactor/791-receiver-select-common' into fix/540-editor-receiver-select 2건이 그렇게 올라가 있고 Base Freshness 도 success 다.
  • 그 병합은 리뷰 diff 를 키우고 CI 를 다시 태운다. 언제 태울지가 곧 판단이므로 자동화 대상이 아니다. 그래서 자동화 대신 README 한 줄로 남긴다.

🧪 CI Test Plan

{
  "androidTest": {
    "mode": "none",
    "reason": ".github/ 워크플로·Node 정책 스크립트와 README 만 변경 — Kotlin·Gradle·매니페스트·리소스 경계를 건드리지 않아 계측 테스트 대상이 없다",
    "tests": []
  }
}

📷𝘚𝘤𝘳𝘦𝘦𝘯𝘴𝘩𝘰𝘵

해당 없음 — 앱 코드 변경이 없다.

💬𝘛𝘰 𝘙𝘦𝘷𝘪𝘦𝘸𝘦𝘳𝘴

update-branch 엔드포인트는 네이티브 스택 멤버를 403 으로 거절한다. 스택
밑단(base=develop)도 스택 멤버라는 사실만으로 막히므로, 이 워크플로의
유일한 기능인 다단 base 전파는 어떤 root 로도 도달하지 못한다. 남은 수동
체인은 분기라 선형 가드가 따로 막는다. 실행 이력 3건 전부 실패·취소로
성공 실적이 없다.

대체 자동화는 두지 않는다. 밑단이 머지되면 GitHub 이 위 칸을 서버에서
자동 rebase 하므로 체인 전파 목적 자체가 플랫폼 기능에 흡수됐고, 남는
'밑단이 develop 에 뒤처짐' 은 base 병합 시점이 곧 판단이라 사람 몫이다.
로컬 병합 + 일반 push 로 SHA 를 지키며 갱신하는 경로를 README 에 남긴다.
@OnlyReadOneBook
OnlyReadOneBook added this pull request to the merge queue Aug 29, 2026
@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue due to failed status checks Aug 29, 2026
@OnlyReadOneBook
OnlyReadOneBook added this pull request to the merge queue Aug 29, 2026
Merged via the queue into develop with commit 51ec4bb Aug 29, 2026
27 of 28 checks passed
@OnlyReadOneBook
OnlyReadOneBook deleted the ci/1458-drop-stack-refresh branch August 29, 2026 10:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

chore(ci): 죽은 stack-refresh 워크플로를 폐기한다 — 네이티브 스택 PR 은 update-branch 403 이라 성공 실적 0

2 participants