Skip to content

Conversation

yasulab
Copy link
Member

@yasulab yasulab commented Sep 4, 2025

概要

GitHub Actions でデプロイする際のコミットメッセージに PR番号を自動的に含めるようにしました。

背景

現在、PRがマージされてサーバーが作成された後、手動でコメント「無事生成されました」を追加する必要がありました。

解決策

bin/deploy.sh を改修して:

  1. マージコミットメッセージから PR番号を自動抽出
  2. デプロイコミットに PR番号を含める
  3. (オプション)追加されたサーバー名も表示

実装の詳細

Before

Deploy from actions

After

Deploy from actions (PR #256) - Added: coderdojo-odawara

メリット

  1. PR送信者の追跡が容易

    • GitHub が PR番号を自動的にリンク化
    • PR ページから instances.csv の更新が確認可能
  2. 手動作業の削減

    • 「無事生成されました」コメントが不要に
    • PR と デプロイコミットが自動的に関連付け
  3. 透明性の向上

    • どの PR でどのサーバーが作成されたか明確

テスト方法

  1. この PR をマージ
  2. gh-pages ブランチのコミットメッセージを確認
  3. PR番号が含まれていることを確認

技術的な詳細

  • git log -1 --pretty=%B でマージコミットメッセージを取得
  • 正規表現 #[0-9]+ で PR番号を抽出
  • git diff --cached で追加されたサーバー情報を取得

影響範囲

  • デプロイスクリプトのみの変更
  • 後方互換性あり(PR番号がない場合は従来通り)
# コミットメッセージを動的に生成
if [ -n "$PR_NUMBER" ]; then
    COMMIT_MSG="Deploy from actions (PR $PR_NUMBER)"
else
    COMMIT_MSG="Deploy from actions"
fi

目的:
- PR送信者がマージ後のサーバー作成を確認しやすくする
- 手動でのコメント追加を不要にする

実装内容:
1. マージコミットメッセージから PR番号を抽出
2. コミットメッセージに PR番号を含める
3. 追加されたサーバー名も表示(オプション)

結果:
- 'Deploy from actions' → 'Deploy from actions (PR #256)'
- GitHub が自動的に PR へのリンクを作成
- PR ページから instances.csv の更新が追跡可能
@yasulab yasulab merged commit 81e603d into master Sep 4, 2025
4 checks passed
@yasulab yasulab deleted the feature/add-pr-number-to-deploy-commit branch September 4, 2025 06:17
github-actions bot pushed a commit that referenced this pull request Sep 4, 2025
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.

1 participant