以下の内容はhttps://kakakakakku.hatenablog.com/entry/2025/12/16/204923より取得しました。


GitHub Actions で Dependabot のプルリクエストを自動的に merge する

GitHub Actions で Dependabot のプルリクエストを自動的に merge する仕組みを作ってみた.ライブラリのバージョンアップ時に CI を実行して pass するなら merge して OK👌という前提で使うイメージ.

👾 .github/workflows/auto-merge-for-dependabot.yml

GitHub Actions ワークフローで特に複雑なことはしてなく,github.actor の値が dependabot[bot] だったら gh pr merge コマンドを使ってプルリクエストを自動的に merge している.

ちなみにランナーは軽量な ubuntu-slim を使うことにした.

name: Auto Merge for Dependabot

on:
  pull_request:
    branches:
      - main

permissions:
  pull-requests: write
  contents: write

jobs:
  auto-merge:
    runs-on: ubuntu-slim
    if: github.actor == 'dependabot[bot]'
    env:
      PULL_REQUEST_URL: ${{ github.event.pull_request.html_url }}
      GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
    steps:
      - name: Run auto-merge
        run: gh pr merge --merge --auto ${PULL_REQUEST_URL}

GitHub リポジトリ設定

次に GitHub リポジトリ側で2つの設定をしておく必要がある.

まず1つ目として Allow auto-merge を有効化しておく.有効化をしないと GitHub Actions で gh pr merge コマンドを実行したときに GraphQL: Pull request Auto merge is not allowed for this repository (enablePullRequestAutoMerge) というエラーが出てしまう.

Run gh pr merge --merge --auto ${PULL_REQUEST_URL}
GraphQL: Pull request Auto merge is not allowed for this repository (enablePullRequestAutoMerge)
Error: Process completed with exit code 1.

次に2つ目として Branch protection rulesRequire status checks to pass before merging を設定しておく.そのときに pass を必須にする GitHub Actions ワークフローを Status checks that are required に設定しておく.

動作確認

Dependabot で Terraform AWS Provider をバージョンアップしたときに HCP Terraform (Terraform Cloud) で実行する plan と GitHub Actions で実行する Lint (TFLint と Trivy) を pass したらプルリクエストを自動的に merge できるようになった❗️

関連記事

kakakakakku.hatenablog.com




以上の内容はhttps://kakakakakku.hatenablog.com/entry/2025/12/16/204923より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14