Skip to content

Publish gem to RubyGems automatically on release - #88

Merged
chocoby merged 2 commits into
mainfrom
github-actions-gem-release
Aug 1, 2026
Merged

Publish gem to RubyGems automatically on release#88
chocoby merged 2 commits into
mainfrom
github-actions-gem-release

Conversation

@chocoby

@chocoby chocoby commented Aug 1, 2026

Copy link
Copy Markdown
Owner

概要

Releases 画面でリリースを Publish したら、gem を RubyGems.org へ自動公開する release ワークフローを追加します。ローカルでの gem push は不要になります。

背景

gemspec で rubygems_mfa_required = true を設定しているため、API キーによる gem push は OTP を要求され CI から実行できません。そのため Trusted Publishing (OIDC) を使い、長期シークレットを GitHub に保存しない形にしています。

設計判断

  • 公式アクション rubygems/release-gem は使っていません。内部で bundle exec rake release を実行してタグを自分で作ろうとし、Publish 時に作成済みのタグと衝突するためです。認証用の rubygems/configure-rubygems-credentials のみを使い、build と push は自前で書いています
  • Release 本文は CHANGELOG.md の該当節で常に上書きします。CHANGELOG.md を唯一の情報源にするためです。該当節がない場合は GitHub の自動生成ノートにフォールバックします

リリース手順の変更

  1. version.rbCHANGELOG.md を更新して main にマージ
  2. Releases 画面で vX.Y.Z タグを指定し、本文は空のまま Publish
  3. Actions で release environment を承認

@coveralls

Copy link
Copy Markdown

Coverage Status

coverage: 100.0%. remained the same — github-actions-gem-release into main

@chocoby
chocoby marked this pull request as ready for review August 1, 2026 07:52
@chocoby
chocoby merged commit 0a0c7c1 into main Aug 1, 2026
51 checks passed
@chocoby
chocoby deleted the github-actions-gem-release branch August 1, 2026 07:55
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