feat: Plugin 버전 태그와 GitHub Release 자동 발행 - #5
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Essentials Run ID: 📒 Files selected for processing (5)
Included review availability: 3 reviews are currently available. Your included PR review attempts over the past 7 days set your current allowance at 4 reviews per hour. Walkthrough검증 완료 후 Changes릴리스 자동화
Priority: ⬇️ Low Estimated code review effort: 4 (Complex) | ~45 minutes Change: Feature Sequence Diagram(s)sequenceDiagram
participant GitHubActions
participant release.py
participant GitHubAPI
participant GitRepository
GitHubActions->>release.py: 검증 성공 후 GITHUB_TOKEN과 SHA 전달
release.py->>GitRepository: manifest 버전 읽기
release.py->>GitHubAPI: main의 대상 SHA와 기존 tag 조회
GitHubAPI-->>release.py: tag 및 Release 상태 반환
release.py->>GitHubAPI: 필요한 경우 tag 생성
release.py->>GitHubAPI: 필요한 경우 GitHub Release 생성
GitHubAPI-->>GitHubActions: 게시 결과 반환
Merge Risk: ⚪ Minimal · up to The automated release flow preserves the validated commit boundary and supports documented tag-only recovery, with no identified issue blocking merge. 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
Full details: Docstring CoverageExplanation Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 23 functions across 2 files. (3 skipped: 3 unsupported.)
✨ Finishing Touches 💡 1📝 Generate docstrings 💡
Warning Errors were encountered while retrieving linked issues. Errors (1)
Comment |
현재 manifest 버전의 태그와 Release를 수동으로 만들어야 하는 흐름을 자동화합니다.
main의 Validate plugin 검증이 성공하면plugins/ennoia/plugin.json을 읽어v<version>태그와 릴리스 노트를 포함한 GitHub Release를 발행합니다. 현재 버전은 1.1.0이며, 이 PR 병합 후 첫 성공 실행에서 v1.1.0이 생성됩니다.같은 버전은 재발행하지 않고, 태그만 남은 실패는 같은 commit의 Release 생성으로 복구합니다. 기존 태그의 main 이력·manifest version을 확인하고 태그를 강제로 이동하지 않습니다. 사전 버전은 prerelease로 표시하며, PR·다른 branch·tag push에서는 발행하지 않습니다.
contents: write는 발행 job에만 부여하고 기본 GITHUB_TOKEN을 사용합니다. Orchestrator·MCP와 앱의 Git repo 설치 방식은 변경하지 않습니다.검증: 전체 회귀 42개 통과(Release 15개 포함), manifest sync·package validator·actionlint·diff 검사 통과. 최종 HTTP error 자원 정리 수정 후 Release 15개 재검증 통과. 실제 GitHub API의 main/tag/release 읽기도 확인했습니다. 태그·Release 쓰기는 테스트에서 mock했으며 실제 발행은 main 병합 후 확인합니다.
Summary by CodeRabbit
새 기능
main변경 사항에서 버전 태그와 GitHub Release가 자동으로 생성됩니다.문서