首页 > 解决方案 > 如何自动合并依赖机器人更新(配置版本 2)?

问题描述

在“Dependabot 正在原生迁移到 GitHub!”之后,我不得不更新我的dependabot 配置文件以使用版本 2 格式。

我的.dependabot/config.yaml看起来像:

version: 1
update_configs:
  - package_manager: "python"
    directory: "/"
    update_schedule: "live"
    automerged_updates:
      - match:
          dependency_type: "all"
          update_type: "all"

我有以下工作:

version: 2
updates:
- package-ecosystem: pip
  directory: "/"
  schedule:
    interval: daily

但我似乎无法再次添加 automerge 选项(使用dependabot验证器检查时)?

标签: pythongithubyamlgithub-actionsdependabot

解决方案


这是一种不需要任何额外市场安装的解决方案(最初在此处找到)。只需创建一个新的 GitHub 工作流(例如.github/workflows/dependabotautomerge.yml),其中包含:

name: "Dependabot Automerge - Action"

on:
  pull_request:

jobs:
  worker:
    runs-on: ubuntu-latest

    if: github.actor == 'dependabot[bot]'
    steps:
      - name: automerge
        uses: actions/github-script@0.2.0
        with:
          script: |
            github.pullRequests.createReview({
              owner: context.payload.repository.owner.login,
              repo: context.payload.repository.name,
              pull_number: context.payload.pull_request.number,
              event: 'APPROVE'
            })
            github.pullRequests.merge({
              owner: context.payload.repository.owner.login,
              repo: context.payload.repository.name,
              pull_number: context.payload.pull_request.number
            })
          github-token: ${{github.token}}

GitHub Marketplace上还有各种可用的第三方解决方案。


推荐阅读