Reusable GitHub Actions workflows
- copytuner_deploy - Copytuner翻訳管理ツールへのデプロイ
- gem_changelog - Gemfile.lockの変更検出とchangelog投稿
- new_gems - 新規追加gemの検出とコメント投稿
- new_npm - 新規追加npmパッケージの検出とコメント投稿
- npm_changelog - npm/yarnロックファイルの変更検出とchangelog投稿
- staging_deploy - staging環境への自動デプロイPR作成
- claude-review - Claude Codeによる自動コードレビュー
Copytune翻訳管理ツールへの翻訳情報をデプロイするワークフローです。
使用方法:
uses: SonicGarden/workflows/.github/workflows/copytuner_deploy.yml@main
secrets:
apiKey: ${{ secrets.COPYTUNER_API_KEY }}
必要なシークレット:
apiKey
: CopytunerのAPIキー
Gemfile.lockの変更を検出し、更新されたgemのchangelogをPRコメントに投稿するワークフローです。
使用方法:
uses: SonicGarden/workflows/.github/workflows/gem_changelog.yml@main
secrets:
rubygemsToken: ${{ secrets.RUBYGEMS_TOKEN }} # オプション
オプションのシークレット:
rubygemsToken
: RubyGems.orgのAPIトークン(スコープ:Index rubygems
)
Gemfileの変更を検出し、新しく追加されたgemをPRコメントに投稿するワークフローです。
使用方法:
uses: SonicGarden/workflows/.github/workflows/new_gems.yml@main
package.jsonの変更を検出し、新しく追加されたnpmパッケージをPRコメントに投稿するワークフローです。
使用方法:
uses: SonicGarden/workflows/.github/workflows/new_npm.yml@main
with:
runs_on: "linux-arm64-default" # オプション、デフォルトは "linux-arm64-default"
パラメータ:
runs_on
: GitHub Actions runner の指定(デフォルト:linux-arm64-default
)
npm/yarnのロックファイルの変更を検出し、更新されたパッケージのchangelogをPRコメントに投稿するワークフローです。
使用方法:
uses: SonicGarden/workflows/.github/workflows/npm_changelog.yml@main
with:
lockPath: "yarn.lock" # オプション、デフォルトは "yarn.lock"
runs_on: "linux-arm64-default" # オプション、デフォルトは "linux-arm64-default"
パラメータ:
lockPath
: ロックファイルのパス(デフォルト:yarn.lock
)runs_on
: GitHub Actions runner の指定(デフォルト:linux-arm64-default
)
指定されたブランチから staging ブランチへの自動デプロイPRを作成・管理するワークフローです。
使用方法:
uses: SonicGarden/workflows/.github/workflows/staging_deploy.yml@main
with:
source_branch: "release-candidate" # オプション、デフォルトは "release-candidate"
target_branch: "staging" # オプション、デフォルトは "staging"
runs_on: "linux-arm64-default" # オプション、デフォルトは "linux-arm64-default"
パラメータ:
source_branch
: デプロイ元のブランチ名(デフォルト:release-candidate
)target_branch
: デプロイ先のブランチ名(デフォルト:staging
)runs_on
: GitHub Actions runner の指定(デフォルト:linux-arm64-default
)
機能:
- 既存のPRがあるかをチェック
- 新しいPRの作成または既存PRの更新
- 自動マージの設定
[skip deploy]
がコミットメッセージに含まれている場合はスキップ
GitHub上での設定(CIが通ってから自動マージするため):
このワークフローでPRが自動的にマージされるようにするには、リポジトリで以下の設定が必要です:
-
ブランチ保護ルールの設定:
- リポジトリの Settings > Branches に移動
- staging ブランチのブランチ保護ルールを追加
- 「Require status checks to pass before merging」をチェック
- 必要なCIチェック(例:テスト、linter など)を選択
-
自動マージ機能の有効化:
- リポジトリの Settings > General に移動
- 「Allow auto-merge」をチェック
これらの設定により、CIが全て通過した後に自動的にPRがマージされます。
Claude Code を使用してPRの自動コードレビューを実行するワークフローです。
使用方法:
uses: SonicGarden/workflows/.github/workflows/claude-review.yml@main
secrets:
claude_oauth_token: ${{ secrets.CLAUDE_OAUTH_TOKEN }} # 推奨
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }} # フォールバック
パラメータ:
guideline_file
: コードレビューのガイドラインファイルのパス(オプション)focus_areas
: レビューの重点領域(オプション、デフォルト設定済み)model
: 使用するClaudeモデル(オプション、デフォルトはSonnet 4)minimum_changed_lines
: 前回レビューからの最小変更行数(デフォルト: 0、0の場合は常に実行)runs_on
: GitHub Actions runner の指定(デフォルト:linux-arm64-default
)
必要なシークレット:
claude_oauth_token
: Claude OAuth トークン(推奨)anthropic_api_key
: Anthropic API キー(claude_oauth_tokenがない場合のフォールバック)
機能:
- PRの変更内容を日本語で自動レビュー
- インラインコメントによる具体的な改善提案
- コード品質、セキュリティ、パフォーマンスなど多角的な観点からのレビュー
- 既存のClaude botコメントを自動削除して重複を防止
[skip review]
がコミットメッセージに含まれている場合はレビューをスキップ
他のリポジトリからこれらのワークフローを使用する場合は、.github/workflows/
ディレクトリに以下のようなファイルを作成してください:
name: Example Workflow
on:
pull_request:
paths:
- 'Gemfile.lock'
jobs:
gem-changelog:
uses: SonicGarden/workflows/.github/workflows/gem_changelog.yml@main
secrets:
rubygemsToken: ${{ secrets.RUBYGEMS_TOKEN }}