[GitHub Actions] DependabotのPull Requestがパッチバージョンアップの場合にオートマージする方法

環境

仕様

以下の流れを想定。

  1. Dependabot が Pull Request を作成する
  2. Pull Request の内容が patch バージョンアップの場合は自動でマージする

方法

ahmadnassri/action-dependabot-auto-mergeを利用する。

設定ファイルは下記。

#.github/workflows/dependabot-auto-merge.yaml
name: dependabot-auto-merge

on:
  pull_request_target:

jobs:
  auto-merge:
    runs-on: ubuntu-latest
    if: ${{ github.actor == 'dependabot[bot]' }}
    steps:
      - uses: ahmadnassri/action-dependabot-auto-merge@v2
        with:
          target: patch
          approve: false
          github-token: ${{ secrets.BOT_TOKEN }}

パラメータ

パラメータのデフォルト値で今回の仕様を満たすため指定は任意だが、下記のような指定をした。

  • targetpatch
    デフォルトはpatch
  • approvefalse
    オートマージをしているので Approve の指定はしなかった

github-token

GitHub トークンが必要になるため、GitHub の Setting からPersonal Access Tokensでトークンを作成する。

必要なスコープは下記。

  • repo: プライベートリポジトリ用
  • public_repo: 公開リポジトリ用

トークンの登録

対象のリポジトリの設定から、Secrets → Actions → New repository secret へアクセスして、下記を指定して保存(Add Secret)する。

  • Name: BOT_TOKEN
  • Value: 発行した token

以上の設定で、Dependabot が Pull Request を作成すると、patch バージョンアップの場合に自動で PR がマージされるようになる。