Skip to content

fix(ci): fork Verify issue reporting을 upstream 호환으로 조정#25

Open
seonghobae wants to merge 1 commit into
vibemafiaclub:mainfrom
ContextualWisdomLab:fix-upstream-compatibilit
Open

fix(ci): fork Verify issue reporting을 upstream 호환으로 조정#25
seonghobae wants to merge 1 commit into
vibemafiaclub:mainfrom
ContextualWisdomLab:fix-upstream-compatibilit

Conversation

@seonghobae

Copy link
Copy Markdown

배경

Verify workflow가 fork repository에서 실행될 때, 실패 알림용 GitHub issue를 현재 실행 repository에 생성하려고 합니다. fork에서 Issues가 꺼져 있으면 Open or update verify issue 단계가 Issues has been disabled in this repository로 실패하고, 실제 coverage/gate 실패를 보고하기 전에 workflow가 잘못된 이유로 종료됩니다.

실패 예시: https://github.com/Seongho-Bae/vooster/actions/runs/27404184648/job/80989079016

변경 사항

  • Verify issue 대상 repository를 계산하는 helper를 추가했습니다.
    • 현재 repository가 fork이고 parent가 있으면 upstream(parent)을 issue target으로 계산합니다.
    • non-fork에서는 현재 repository를 그대로 issue target으로 사용합니다.
    • VSPEC_VERIFY_ISSUE_REPOSITORY가 설정되어 있으면 명시 target을 우선합니다.
  • fork 기본 GITHUB_TOKEN으로 upstream issue write가 불가능한 GitHub 권한 모델을 반영했습니다.
    • external target(upstream 등)에 쓰려는데 VSPEC_VERIFY_ISSUE_TOKEN이 없으면 issue update/close를 시도하지 않고 warning 후 skip합니다.
    • 따라서 fork에서는 issue API 권한 문제로 Verify job이 죽지 않고, 실제 실패 판정은 마지막 Fail workflow if any check failed 단계가 담당합니다.
    • upstream repository 자체에서 실행되는 Verify run은 기존처럼 issue를 열고 닫습니다.
  • 위 계약을 단위 테스트로 고정했습니다.

운영 영향

  • 일반 fork: upstream issue write를 시도하지 않습니다. Verify job은 issue reporting 권한 문제가 아니라 coverage/gate 결과로 실패합니다.
  • upstream repository: 기존 issue reporting 동작을 유지합니다.
  • 특별히 fork에서도 upstream issue를 쓰고 싶은 운영자는 VSPEC_VERIFY_ISSUE_TOKEN secret을 제공하면 됩니다.

검증

통과:

  • pnpm vitest run apps/cli/tests/unit/verify-action.test.ts apps/cli/tests/unit/verify-issue-target.test.ts
  • pnpm typecheck
  • pnpm exec prettier --check .github/workflows/verify.yml apps/cli/tests/unit/verify-action.test.ts apps/cli/tests/unit/verify-issue-target.test.ts scripts/verify-issue-target.js scripts/verify-issue-target.d.ts
  • pnpm lint
  • pnpm -r build

추가 확인:

  • bash scripts/completion-check.sh는 1차 실행에서 build artifact가 없어 @vooster/contracts/dist/index.js를 못 찾아 실패했습니다.
  • pnpm -r build 후 재실행하자 contracts dist 문제는 해결됐습니다.
  • 재실행은 local Postgres가 127.0.0.1:5433에 떠 있지 않아 honest E2E 계열이 실패했습니다.
  • 같은 재실행에서 goals/30-in-tree-isolation도 기존 gate script의 shared build invocation을 지적했습니다. 이번 PR의 변경 파일과 직접 관련된 실패는 아닙니다.

@vercel

vercel Bot commented Jun 12, 2026

Copy link
Copy Markdown

@seonghobae is attempting to deploy a commit to the Sumin Choi's projects Team on Vercel.

A member of the Team first needs to authorize it.

@seonghobae seonghobae marked this pull request as ready for review June 12, 2026 12:06
@seonghobae

Copy link
Copy Markdown
Author

검토 메모 (2026-06-14 KST)

  • upstream/main...Seongho-Bae:fix-upstream-compatibilit 기준 1 commit / 5 files 변경입니다.
  • workflow issue-reporting helper와 fork token skip 경로를 검토했고, 현재 patch에서 code blocker는 찾지 못했습니다.
  • fork remote fix-upstream-compatibilit head는 2dea34a75d1cf51ffa6f6042c6ade4f76211c38f로 이 PR head와 일치합니다.

검증:

  • pnpm --filter @vooster/cli test:unit -- apps/cli/tests/unit/verify-issue-target.test.ts apps/cli/tests/unit/verify-action.test.ts 통과 (50 files / 189 tests)
  • pnpm typecheck 통과
  • pnpm lint 통과
  • actionlint .github/workflows/verify.yml 통과
  • pnpm -r build 통과

남은 외부/환경 이슈:

  • PR check rollup은 Vercel vooster-new-landing, vooster-new-web이 team authorization required 상태라 UNSTABLE입니다.
  • local pnpm test와 pre-push scripts/completion-check.sh127.0.0.1:5433 Postgres 미기동으로 DB-backed e2e/integration suites가 실패합니다.
  • pre-push에서는 별도로 기존 30-in-tree-isolation gate가 goal script shared build invocation을 지적합니다. 이번 PR 변경 파일과 직접 관련된 실패는 아닙니다.

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.

1 participant