Skip to content

fix(ci): publish 後の GitHub Release 自動作成#292

Merged
touyou merged 1 commit into
mainfrom
worktree-automate-release-tagging-design
Jul 14, 2026
Merged

fix(ci): publish 後の GitHub Release 自動作成#292
touyou merged 1 commit into
mainfrom
worktree-automate-release-tagging-design

Conversation

@touyou

@touyou touyou commented Jul 14, 2026

Copy link
Copy Markdown
Member

背景

Publish to npm workflow(publish.yml)は npm publish するだけで、git tag / GitHub Release の作成は含まれていなかった。そのため v1.0.6 の npm publish は成功したが GitHub Release が作られずに漏れていた(sparkle-design-internal で同種の問題(v1.2.0/v1.3.0)が見つかり、そちらを先に修正した際に本リポジトリでも同じ欠落があることが判明)。

sparkle-design-clipublish.yml は同じ問題を経験して自動化済みだったため、同じ方式を移植する。

変更内容

  • .github/workflows/publish.yml
    • permissions.contentsreadwrite(tag push / release作成のため)
    • npm publish 成功後に以下を行う新ステップを追加:
      • package.json の version から vX.Y.Z タグを作成・push(既存ならスキップ、再実行安全)
      • CHANGELOG.md の該当バージョンセクションを release notes として gh release create(セクションが無ければ fallback note + warning)
    • Summary ステップを追加
  • scripts/extract-changelog-section.mjssparkle-design-cli から移植
  • CHANGELOG.md の Unreleased に本変更を記載

補足

  • v1.0.6 の GitHub Release は本 PR とは別に、今回の調査時点で git tag + gh release create により遡って手動作成済み(v1.0.6
  • 関連: sparkle-design-internal#236(同種の修正、マージ済み)

Test plan

  • actionlint .github/workflows/publish.yml — クリーン
  • node scripts/extract-changelog-section.mjs 1.0.6 で CHANGELOG.md の該当セクションが正しく抽出されることを確認
  • format:check の失敗は本変更と無関係(git stash で確認済み、既存の pre-existing issue。CI では別途 green の実績あり)
  • 実際の publish workflow 実行での動作確認は次回リリース時(未検証)

このPRはレビュー・マージ待ちです。

https://claude.ai/code/session_01EvX77iPPYBEShCQ6NmDkmQ

v1.0.6 で GitHub Release の手動作成が漏れていたため、
sparkle-design-cli / sparkle-design-internal の publish.yml と同じ方式
(npm publish 成功後に CHANGELOG.md の該当セクションを release notes
として自動でタグ付け・Release 作成)を移植した。

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@vercel

vercel Bot commented Jul 14, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
sparkle-design Ready Ready Preview, Comment Jul 14, 2026 6:38am

Request Review

@touyou touyou marked this pull request as ready for review July 14, 2026 06:38
Copilot AI review requested due to automatic review settings July 14, 2026 06:38
@touyou touyou merged commit 7e16e32 into main Jul 14, 2026
3 checks passed
@touyou touyou deleted the worktree-automate-release-tagging-design branch July 14, 2026 06:38

Copilot AI 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.

Pull request overview

Publish to npm workflow に、npm publish 成功後の git tag 作成/PushGitHub Release 自動作成(CHANGELOG セクションを release notes に使用)を追加し、手動運用で発生した Release 作成漏れを再発防止する PR です。あわせて、CHANGELOG から特定バージョンのセクション本文を抽出する Node スクリプトを導入しています。

Changes:

  • publish.ymlcontents: write を付与し、publish 後に tag push + gh release create を実行
  • scripts/extract-changelog-section.mjs を追加し、CHANGELOG の該当バージョン本文を抽出して release notes に利用
  • CHANGELOG の Unreleased に今回の自動化内容を追記

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.

File Description
.github/workflows/publish.yml publish 後に tag/Release を自動作成するステップと Summary を追加
scripts/extract-changelog-section.mjs CHANGELOG の ## [X.Y.Z] セクション本文抽出ロジックを追加
CHANGELOG.md Unreleased に CI 自動化の変更点を記載

Comment on lines +50 to +57
if git rev-parse --verify "refs/tags/${TAG}" >/dev/null 2>&1; then
echo "tag ${TAG} already exists locally — skipping git tag push"
else
git config user.name "github-actions[bot]"
git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
git tag "${TAG}"
git push origin "${TAG}"
fi
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.

2 participants