ci: release-please PR 검증을 CI 사이클 내로 통합 (solactl 패턴)#30
Closed
Palbahngmiyine wants to merge 1 commit intosolapi:masterfrom
Closed
ci: release-please PR 검증을 CI 사이클 내로 통합 (solactl 패턴)#30Palbahngmiyine wants to merge 1 commit intosolapi:masterfrom
Palbahngmiyine wants to merge 1 commit intosolapi:masterfrom
Conversation
기존 흐름은 master push 시 ci.yml과 release-please.yml이 병렬로 돌면서
release-please가 만든 PR에는 GITHUB_TOKEN 정책상 외부 CI가 자동
트리거되지 않아 PR 검증이 누락되는 비대칭이 있었다. solapi/solactl이
사용 중인 패턴을 따라 release-please를 CI 완료 후 직렬화하고, 같은
워크플로 안에서 PR head를 다시 빌드·테스트해 commit status로 보고한다.
- workflow_run["CI"] 트리거로 변경 (CI 성공 후에만 실행)
- release-please job에 outputs로 release_created·tag_name·pr_head_sha 노출
- unit-test-release-pr matrix job 추가: release PR head 체크아웃 후
ci.yml과 동일한 PHP 7.1~8.5 매트릭스로 unit test
- 결과를 repos/{repo}/statuses/{sha} API로 commit status 등록
(외부 CI 자동 트리거가 없는 release-please PR에서도 PR 화면에 검증
결과 표시되도록)
- 워크플로 인젝션 방지를 위해 모든 표현식을 env 경유로 셸에 전달
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
Note Gemini is unable to generate a review for this pull request due to the file types involved not being currently supported. |
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.yml과release-please.yml이 병렬로 돌고, release-please가 만든 PR에는 GITHUB_TOKEN 정책상 외부 CI가 자동 트리거되지 않아 검증이 누락되는 비대칭이 있었음Changes
release-please.yml트리거:push.master→workflow_run["CI"](CI 성공 + push 이벤트일 때만 실행)release-pleasejob에 outputs 추가:release_created,tag_name,pr_head_sha(open된release-please--branches--masterPR에서gh pr list로 조회)unit-test-release-prmatrix job 신설:release_created != true && pr_head_sha != ''repos/{repo}/statuses/{sha}API로 commit status 등록 (context:Unit / PHP X.Y)env:로 분리하여 전달Why this matters
Test plan
ci.yml성공 후에만 트리거되는지 확인fix: harden response mapping edge cases(aff1a43)로 인해 release-please가 5.1.3 Release PR을 생성하면,unit-test-release-prjob이 실행되어 해당 PR 화면에Unit / PHP 7.1~Unit / PHP 8.510개의 commit status가 표시되는지 확인unit-test-release-pr은 skip되고 release-please-action이 v5.1.3 태그·GitHub Release만 생성하는지 확인🤖 Generated with Claude Code