Skip to content

ci: release-please 도입으로 자동 릴리즈 PR 흐름 구성#28

Merged
Palbahngmiyine merged 2 commits intosolapi:masterfrom
Palbahngmiyine:ci/release-please
May 11, 2026
Merged

ci: release-please 도입으로 자동 릴리즈 PR 흐름 구성#28
Palbahngmiyine merged 2 commits intosolapi:masterfrom
Palbahngmiyine:ci/release-please

Conversation

@Palbahngmiyine
Copy link
Copy Markdown
Member

Summary

  • 기존 release.yml은 머지된 PR이 composer.json 버전을 직접 bump하지 않으면 v5.1.2 태그 충돌로 모든 release step이 skip되어 "성공"으로만 끝나는 한계가 있었음 (예: run 25643942728)
  • release-please를 도입하여 master push 시 conventional commits를 분석해 버전 bump Release PR을 자동 생성하고, 해당 PR이 머지되면 태그·GitHub Release를 자동 발행

Changes

  • .github/release-please-config.json: simple release-type, composer.json은 jsonpath updater, src/Models/Request/DefaultAgent.php는 generic updater
  • .github/.release-please-manifest.json: baseline 5.1.2
  • .github/workflows/release-please.yml: master push 트리거, googleapis/release-please-action@v4
  • DefaultAgent.php: x-release-please-version 마커 주석 추가 (같은 줄의 X.Y.Z를 자동 교체)
  • 기존 .github/workflows/release.yml 제거

Expected flow after merge

  1. 이 PR 머지 → release-please가 직전 머지된 fix: harden response mapping edge cases 커밋을 인식
  2. "chore(main): release 5.1.3" Release PR을 자동 생성 (composer.json·DefaultAgent.php·CHANGELOG.md·manifest 동시 업데이트)
  3. 사람이 Release PR 머지 → v5.1.3 태그 + GitHub Release 자동 발행

Test plan

  • 이 PR 머지 후 release-please 워크플로가 실행되어 "chore(main): release 5.1.3" PR이 자동 생성되는지 확인
  • 생성된 Release PR이 composer.json (5.1.2 → 5.1.3), DefaultAgent.php (php/5.1.2 → php/5.1.3), CHANGELOG.md, manifest 4곳을 모두 업데이트하는지 확인
  • Release PR 머지 후 v5.1.3 태그 + GitHub Release가 자동 발행되는지 확인

🤖 Generated with Claude Code

기존 release.yml은 머지된 PR이 composer.json 버전을 직접 bump하지 않으면
태그 충돌로 모든 release step이 skip되어 "성공"으로만 끝나는 한계가 있었다.
master push 시 conventional commits를 분석해 버전 bump Release PR을 자동
생성하고, 해당 PR이 머지되면 태그·GitHub Release를 자동 발행하도록 변경한다.

- .github/release-please-config.json: simple release-type, composer.json은
  jsonpath updater, src/Models/Request/DefaultAgent.php는 generic updater
- .github/.release-please-manifest.json: baseline 5.1.2
- .github/workflows/release-please.yml: master push 트리거
- DefaultAgent.php: x-release-please-version 마커 주석 추가
- 기존 release.yml 제거

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Copy link
Copy Markdown

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request introduces automated versioning and changelog management by adding release-please configuration and manifest files. It also updates DefaultAgent.php with a version comment to allow the tool to track and update the SDK version. The reviewer suggested changing the release-type to php in the configuration, which would simplify the setup by automatically handling composer.json updates.

Comment thread .github/release-please-config.json Outdated
release-please의 PHP strategy는 RootComposerUpdatePackages 업데이터로
composer.json의 version 필드를 자동 관리하고 jsonStringify 헬퍼로 원본
포맷을 보존한다. jsonpath updater를 별도로 두는 것보다 PHP 전용 처리가
더 안전하고 의도가 명확하다.

- release-type: "simple" → "php"
- extra-files에서 composer.json 항목 제거 (PHP strategy가 자동 처리)
- DefaultAgent.php generic updater는 유지

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@Palbahngmiyine Palbahngmiyine merged commit e50e932 into solapi:master May 11, 2026
10 checks passed
@Palbahngmiyine Palbahngmiyine deleted the ci/release-please branch May 11, 2026 00:47
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