[codex] Add public release gate CI - #2
Merged
Merged
Conversation
midagedev
marked this pull request as ready for review
May 9, 2026 05:56
There was a problem hiding this comment.
APPROVE
요약
이 PR은 Billtap의 공개 릴리스를 위한 CI 워크플로우를 추가합니다. 변경 사항은 안전하며 프로젝트의 목표와 부합합니다.
변경 사항 분석
1. .github/workflows/ci.yml - 새 CI 워크플로우
긍정적인 측면:
- 권한 최소화:
permissions: contents: read로 보안 설정이 적절합니다 - 동시성 제어: 중복 실행 방지를 위해
concurrency그룹이 올바르게 구성되었습니다 - 타임아웃 설정: 30분 타임아웃으로 무한 루프 방지
- 캐싱 활용: Go와 Node 의존성 캐싱으로 실행 시간 최적화
테스트 커버리지:
- Go 백엔드 테스트 (
go test ./...) - 프론트엔드 typecheck 및 빌드 검증
- 샘플 앱 smoke test
- Billtap CLI 바이너리 빌드
- 시나리오 기반 통합 테스트
- Docker 이미지 빌드 검증
2. docs/RELEASE_CHECKLIST.md - 문서화 업데이트
CI 워크플로우가 체크리스트 항목을 자동화한다는 점을 명확히 문서화했습니다.
리뷰 우선순위 검토
✅ 1. Billing state correctness
시나리오 테스트가 결제 상태 전환(customer, subscription, invoice, payment intent)을 검증합니다:
subscription-payment-retry.yml: payment_failed → past_due → payment_succeeded → active 상태 전환saas-adoption-contract.yml: SaaS workspace 전체 라이프사이클
✅ 2. Webhook reliability
시나리오 테스트가 webhook 전달을 검증합니다:
- app assertions 통해 webhook 처리 검증
- duplicate webhook 테스트 포함
✅ 3. Safety
- 실제 결제 처리 경로 없음 (sandbox)
- 권한이 read-only로 제한됨
- Docker build만 수행, push하지 않음
✅ 4. Scenario/fixture contract
시나리오 러너가 정상적으로 작동하는지 검증:
- 샘플 앱 백그라운드 시작 및 health check
- 두 개의 복잡한 시나리오 실행
- 적절한 cleanup 및 로그 출력
✅ 5. UI/API coherence
npm run typecheck: TypeScript 타입 안전성npm run build: 프론트엔드 빌드 가능성npm run smoke:sample: 샘플 앱 기능 검증
검증
PR 설명에 명시된 검증 단계가 모두 합리적입니다:
- actionlint로 워크플로우 문법 검증
- 모든 핵심 테스트 명령어 포함
결론
이 변경 사항은 Billtap의 프로젝트 목표(결제 sandbox, not real PSP)와 완전히 부합하며, 보안, 테스트 커버리지, 문서화 측면에서 잘 구현되었습니다. blocking issue가 없습니다.
Reviewed by Z.ai GLM via Claude Code Action
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
CI / Release gaterequired check in the release checklist.Scope
.github/workflows/ci.ymldocs/RELEASE_CHECKLIST.mdThe existing Z.ai review workflow is intentionally unchanged.
Verification
actionlint .github/workflows/ci.ymlnpm cigo test ./...npm run typechecknpm run buildnpm run smoke:samplego build -o /tmp/billtap ./cmd/billtap/tmp/billtap scenario run examples/subscription-payment-retry.yml/tmp/billtap scenario run examples/saas-adoption-contract.ymldocker build -t billtap:local .