GitHub Actionsで自動リリースPRを作成する方法:手動作業を減らして効率化しよう

その他

やりたいこと

デプロイ時に手動でmainブランチにPRを作成するのは面倒で、リリース一覧を可視化したい。
git-pr-releaseGitHub Actionsを使って、自動でリリースPRを作成する方法を紹介します。

実装

ファイル構成

以下のようにディレクトリとファイルを構成します。

.
├── .github
│ ├── workflows
│ │ └── release.yml
│ └── git-pr-release.erb

リリースPRのフォーマット作成

.github/git-pr-release.erbにリリースPRのフォーマットを記載します。

ERB
Release <%= Time.now.strftime('%Y-%m-%d %H:%M') %>
<% pull_requests.each do |pr| -%>
<%= pr.to_checklist_item %>
<% end -%>

設定ファイル

developブランチにpushされた際に、developからmainに向けてPRを作成する設定をします。
.github/workflows/release.ymlに以下の内容を記載します。

YAML
name: Create a release pull request

permissions:
  contents: read
  pull-requests: write

jobs:
  create-release-pr:
    runs-on: ubuntu-latest
    timeout-minutes: 10
    steps:
      - name: Checkout repository
        uses: actions/checkout@v4
        with:
          fetch-depth: 0

      - name: Set up Ruby
        uses: ruby/setup-ruby@v1
        with:
          ruby-version: 3.1.2
          bundler-cache: true

      - name: Create a release pull request
        env:
          GIT_PR_RELEASE_TOKEN: ${{ secrets.GITHUB_TOKEN }}
          GIT_PR_RELEASE_BRANCH_PRODUCTION: main
          GIT_PR_RELEASE_BRANCH_STAGING: develop
          GIT_PR_RELEASE_LABELS: release
          TZ: Asia/Tokyo
        run: |
          gem install -N git-pr-release -v "2.2.0"
          git-pr-release --no-fetch

on:
  workflow_dispatch:
  push:
    branches:
      - develop

GitHub Actionsに権限を与える

Settings → Actions → GeneralでGitHub Actionsに権限を付与します。
以下の項目にチェックを入れましょう。

  • Actions permissions:Allow all actions and reusable workflows
  • Workflow permissions:Read and write permissions
    (”Allow GitHub Actions to create and approve pull requests”にもチェックを入れる)
  • Access:Accessible from repositories owned by the user ‘ユーザー名’

実行結果

下記のようなPRが作成されていたら成功です。

コメント

タイトルとURLをコピーしました