Tech Blog

Dependabot auto-merge を設定する

Cover Image for Dependabot auto-merge を設定する

Dependency 管理の テスト, マージ, デプロイ を自動化する

Requirements

自動化範囲を決める

steps.metadata.outputs.update-type

  • semver-major: メジャーまで
  • semver-minor: マイナーまで
  • semver-patch: パッチのみ

ワークフロー用の YAML を追加する

  # .github/workflows/dependabot-auto-merge.yml

+ name: Dependabot auto-merge
+ on: pull_request_target
+
+ permissions:
+   pull-requests: write
+   contents: write
+
+ jobs:
+   dependabot:
+     runs-on: ubuntu-latest
+     if: ${{ github.actor == 'dependabot[bot]' }}
+     steps:
+       - name: Dependabot metadata
+         id: metadata
+         uses: dependabot/fetch-metadata@v1.1.1
+         with:
+           github-token: '${{ secrets.GITHUB_TOKEN }}'
+       - name: Enable auto-merge for Dependabot PRs
+         if: ${{steps.metadata.outputs.update-type == 'version-update:semver-patch'}}
+         run: gh pr merge --auto --merge "$PR_URL"
+         env:
+           PR_URL: ${{github.event.pull_request.html_url}}
+           GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
+

参考にしたページ