是否可以允许 GitHub 上的 dependabot 自动将 "bump" 软件升级到新版本?
Is it possible to allow dependabot on GitHub to automatically "bump" software to new version?
请帮助这位学习者:我经常收到 GitHub 的 dependabot 警报,要求将软件版本“升级”到更新版本。我的问题是我必须进入每个(在我的例子中是 Django)应用程序来提取或合并文件。处理我有限数量的应用程序既乏味又耗时。专业人员如何管理流程?
有没有办法让 GitHub 只碰撞需要碰撞的东西(假设一个人不介意应用程序被破坏)?
是的。您可以使用 Github 操作来执行此操作。请参阅以下博客 post:Setting up Dependabot with GitHub actions to approve and merge
代码,按照现在的编写方式,只会自动合并次要版本和补丁版本的更改。它不会合并主要版本更改,这可能是破坏性更改。您可以删除该检查,但通常不建议这样做。
您还需要更改存储库中的以下设置:
- 设置 -> 操作 -> 常规 -> 选中“允许 Github 创建和批准拉取请求的操作。
- 设置 -> 常规 -> 拉取请求 -> 检查“允许 auto-merge”。
Github 工作流文件“dependabot-approve-and-auto-merge.yml”的内容是:
name: Dependabot Pull Request Approve and Merge
on: pull_request_target
permissions:
pull-requests: write
contents: write
jobs:
dependabot:
runs-on: ubuntu-latest
# Checking the actor will prevent your Action run failing on non-Dependabot
# PRs but also ensures that it only does work for Dependabot PRs.
if: ${{ github.actor == 'dependabot[bot]' }}
steps:
# This first step will fail if there's no metadata and so the approval
# will not occur.
- name: Dependabot metadata
id: dependabot-metadata
uses: dependabot/fetch-metadata@v1.1.1
with:
github-token: "${{ secrets.GITHUB_TOKEN }}"
# Here the PR gets approved.
- name: Approve a PR
run: gh pr review --approve "$PR_URL"
env:
PR_URL: ${{ github.event.pull_request.html_url }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# Finally, this sets the PR to allow auto-merging for patch and minor
# updates if all checks pass
- name: Enable auto-merge for Dependabot PRs
if: ${{ steps.dependabot-metadata.outputs.update-type != 'version-update:semver-major' }}
run: gh pr merge --auto --squash "$PR_URL"
env:
PR_URL: ${{ github.event.pull_request.html_url }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
请帮助这位学习者:我经常收到 GitHub 的 dependabot 警报,要求将软件版本“升级”到更新版本。我的问题是我必须进入每个(在我的例子中是 Django)应用程序来提取或合并文件。处理我有限数量的应用程序既乏味又耗时。专业人员如何管理流程?
有没有办法让 GitHub 只碰撞需要碰撞的东西(假设一个人不介意应用程序被破坏)?
是的。您可以使用 Github 操作来执行此操作。请参阅以下博客 post:Setting up Dependabot with GitHub actions to approve and merge
代码,按照现在的编写方式,只会自动合并次要版本和补丁版本的更改。它不会合并主要版本更改,这可能是破坏性更改。您可以删除该检查,但通常不建议这样做。
您还需要更改存储库中的以下设置:
- 设置 -> 操作 -> 常规 -> 选中“允许 Github 创建和批准拉取请求的操作。
- 设置 -> 常规 -> 拉取请求 -> 检查“允许 auto-merge”。
Github 工作流文件“dependabot-approve-and-auto-merge.yml”的内容是:
name: Dependabot Pull Request Approve and Merge
on: pull_request_target
permissions:
pull-requests: write
contents: write
jobs:
dependabot:
runs-on: ubuntu-latest
# Checking the actor will prevent your Action run failing on non-Dependabot
# PRs but also ensures that it only does work for Dependabot PRs.
if: ${{ github.actor == 'dependabot[bot]' }}
steps:
# This first step will fail if there's no metadata and so the approval
# will not occur.
- name: Dependabot metadata
id: dependabot-metadata
uses: dependabot/fetch-metadata@v1.1.1
with:
github-token: "${{ secrets.GITHUB_TOKEN }}"
# Here the PR gets approved.
- name: Approve a PR
run: gh pr review --approve "$PR_URL"
env:
PR_URL: ${{ github.event.pull_request.html_url }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# Finally, this sets the PR to allow auto-merging for patch and minor
# updates if all checks pass
- name: Enable auto-merge for Dependabot PRs
if: ${{ steps.dependabot-metadata.outputs.update-type != 'version-update:semver-major' }}
run: gh pr merge --auto --squash "$PR_URL"
env:
PR_URL: ${{ github.event.pull_request.html_url }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}