ci(release): release-drafter·release 워크플로 추가#24
Merged
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub. 1 Skipped Deployment
|
Bori-github
force-pushed
the
ci/release-automation
branch
from
July 17, 2026 07:16
85e87ad to
b1ed97d
Compare
Bori-github
force-pushed
the
ci/quality-gates
branch
from
July 17, 2026 07:21
8fba715 to
f48154c
Compare
Bori-github
force-pushed
the
ci/release-automation
branch
from
July 17, 2026 07:21
b1ed97d to
a760cf4
Compare
Bori-github
force-pushed
the
ci/quality-gates
branch
from
July 17, 2026 07:23
f48154c to
919d989
Compare
Bori-github
force-pushed
the
ci/release-automation
branch
from
July 17, 2026 07:23
a760cf4 to
ce1de6b
Compare
Bori-github
force-pushed
the
ci/quality-gates
branch
from
July 17, 2026 07:23
919d989 to
47dfdfc
Compare
Bori-github
force-pushed
the
ci/release-automation
branch
from
July 17, 2026 07:23
ce1de6b to
b74864e
Compare
로컬에만 있던 릴리즈 자동화를 추적 대상으로 올린다. - .github/workflows/release-drafter.yml main push 시 머지된 PR을 모아 Draft 릴리즈 본문을 갱신 (publish: false) - .github/release-drafter.yml 액션의 설정 파일. workflows/ 안에 두면 GitHub이 워크플로로 파싱하려다 실패하므로 .github/ 바로 아래에 있어야 한다 (액션의 기본 조회 경로) - .github/workflows/release.yml zpl-core/v*, react-zpl/v* 태그 push 시 GitHub Release 생성. 이미 존재하면 스킵 카테고리 라벨을 레포 실제 라벨에 맞춤: - changelog:feature|fix|docs|chore → feature|fix|docs|chore 기존 라벨(enhancement·documentation·bug)을 feature·docs·fix로 개명하고 chore를 새로 만들어 대응시켰음. 없는 라벨 네임스페이스를 새로 파는 대신 이미 20건의 PR에 붙어 쓰이던 라벨을 그대로 활용 - exclude-labels: skip-changelog 제거 — 존재하지 않는 라벨이라 무의미했음 - ci 타입 커밋은 chore 카테고리로 흡수 (릴리즈 노트 독자에게 구분 실익 없음) checkout@v4 → v6 (나머지 6개 워크플로와 통일) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- 태그 버전과 package.json 버전 대조 후 불일치 시 중단
버전을 package.json에서만 읽어서, zpl-core/v0.2.0 태그에 package.json이
0.1.0이면 조용히 "v0.1.0" 제목의 Release가 생성됐음
- --notes-start-tag로 노트 범위를 같은 패키지로 한정
--generate-notes만 쓰면 gh가 패키지와 무관하게 직전 "릴리즈"를 기준으로
삼는다. zpl-core/v*와 react-zpl/v*가 번갈아 나가므로 react-zpl 릴리즈
노트에 zpl-core 커밋이 섞였다.
같은 네임스페이스에서 버전 순 바로 앞 태그를 찾아 넘긴다. 첫 릴리즈면
생략한다. versionsort.suffix=-rc를 주는 이유는 git 기본 정렬이
v0.1.0을 v0.1.0-rc.1보다 앞에 두기 때문이다(semver는 반대) —
react-zpl이 0.1.0-rc.1이라 바로 다음 릴리즈가 이 케이스에 걸린다
- TITLE을 run 블록 보간 대신 env로 전달
${{ steps.meta.outputs.title }}의 출처가 태그 시점 레포의 package.json
name/version이라 따옴표가 섞이면 셸로 탈출 가능
태그 형식(zpl-core/v0.1.0, react-zpl/v0.1.0-rc.1)과 직전 태그 추출 로직은
실제 git 저장소에 가상 태그 세트를 만들어 검증함.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Bori-github
force-pushed
the
ci/release-automation
branch
from
July 17, 2026 07:25
b74864e to
efd2f89
Compare
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.
📝 작업 내용
로컬에만 있던 릴리즈 자동화를 추적 대상으로 올립니다. 커밋 2개입니다.
1. 워크플로 추가
.github/workflows/release-drafter.yml— main push 시 머지된 PR을 모아 Draft 릴리즈 본문 갱신 (publish: false).github/release-drafter.yml— 액션의 설정 파일.workflows/안에 두면 GitHub이 워크플로로 파싱하려다 실패하므로.github/바로 아래에 있어야 합니다 (액션의 기본 조회 경로)..github/workflows/release.yml—zpl-core/v*,react-zpl/v*태그 push 시 GitHub Release 생성. 이미 존재하면 스킵.카테고리 라벨을 레포 실제 라벨(
feature/fix/docs/chore)에 맞췄습니다. 없는changelog:*네임스페이스를 새로 파는 대신, 이미 20건의 PR에 붙어 쓰이던 라벨을 활용합니다.ci타입 커밋은chore로 흡수합니다.2. release.yml 정확성 3건
버전을 package.json에서만 읽어서
zpl-core/v0.2.0태그에 package.json이0.1.0이면 조용히 "v0.1.0" 제목의 Release가 생성됐습니다.--notes-start-tag로 노트 범위를 같은 패키지로 한정--generate-notes만 쓰면 gh가 패키지와 무관하게 직전 "릴리즈"를 기준으로 삼습니다. 두 네임스페이스가 번갈아 나가므로 react-zpl 노트에 zpl-core 커밋이 섞였습니다.versionsort.suffix=-rc를 주는 이유: git 기본 정렬은v0.1.0을v0.1.0-rc.1보다 앞에 둡니다(semver는 반대). react-zpl이0.1.0-rc.1이라 바로 다음 릴리즈가 이 케이스에 걸립니다.🔍 변경 범위
📚 추가 정보
남은 설계 결정 하나: 드래프터의 초안과
release.yml의--generate-notes는 서로 무관합니다. 초안은 계속 초안으로 남고, 태그를 찍으면 별개의 릴리즈가 GitHub 자동 노트로 생성됩니다. 의도적이라면 그대로 두면 되고, 연결하려면publish: true로 초안을 발행하거나.github/release.yml(네이티브 노트 설정)로 카테고리화하는 방법이 있습니다.태그 형식과 직전 태그 추출 로직은 실제 git 저장소에 가상 태그 세트를 만들어 검증했습니다.
스택 5/6
🤖 Generated with Claude Code