Skip to content

[codex] Add public release gate CI - #2

Merged
midagedev merged 1 commit into
mainfrom
codex/ci-release-gate
May 9, 2026
Merged

[codex] Add public release gate CI#2
midagedev merged 1 commit into
mainfrom
codex/ci-release-gate

Conversation

@midagedev

Copy link
Copy Markdown
Owner

Summary

  • Add a standalone GitHub Actions CI workflow for PR and main-branch release gates.
  • Run Go tests, frontend typecheck/build, sample smoke, CLI binary build, scenario smoke with the sample app, and Docker build.
  • Document the CI / Release gate required check in the release checklist.

Scope

  • .github/workflows/ci.yml
  • docs/RELEASE_CHECKLIST.md

The existing Z.ai review workflow is intentionally unchanged.

Verification

  • actionlint .github/workflows/ci.yml
  • npm ci
  • go test ./...
  • npm run typecheck
  • npm run build
  • npm run smoke:sample
  • go build -o /tmp/billtap ./cmd/billtap
  • sample app + /tmp/billtap scenario run examples/subscription-payment-retry.yml
  • sample app + /tmp/billtap scenario run examples/saas-adoption-contract.yml
  • docker build -t billtap:local .

@midagedev
midagedev marked this pull request as ready for review May 9, 2026 05:56

@claude claude Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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)을 검증합니다:

✅ 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

@midagedev
midagedev merged commit 6303a97 into main May 9, 2026
3 checks passed
@midagedev
midagedev deleted the codex/ci-release-gate branch May 9, 2026 05:58
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