0%

2020-12-14 dependabot 结合 GitHub Actions 实现自动化更新依赖

dependabot 结合 GitHub Actions 实现自动化更新依赖

在这里先提一下 dependabot 是什么

dependabot是 GitHub 推出的一个提醒依赖更新机器人,当你项目的依赖有更新的时候就会自动推送一个 Pull requests

至于使用 Github Action ,只要在项目根目录下的 .github/workflows文件夹下建一个 yml 文件即可。

因此,结合上述两者,我的做法是:

新建一个 auto-merge.yml 文件,文件内容如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
name: Dependabot Auto Merge
on:
pull_request:
types: [labeled, edited]

jobs:
merge:
if: github.event.label.name == 'dependencies' #为了防止不必要的执行,限定只有 `dependencies` 标签的 PR 才会进入自动审批流程
name: Dependabot Auto Merge
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Setup Node.js environment
uses: actions/setup-node@v2.1.2
with:
node-version: "14"
- name: Cache multiple paths
uses: actions/cache@v2
with:
path: |
~/.npm
~/cache
!~/cache/exclude
**/node_modules
key: npm-${{ runner.os }}-${{ hashFiles('package.json') }}
- run: yarn # 这几行就写下自己的 test 就行了,我这里就测试下能不能通过编译,如果能通过一般是没有兼容性问题的,最好的加点 test
- run: npm run lint
- run: npm run build
- uses: ahmadnassri/action-dependabot-auto-merge@v2 #这里调用这个 action,具体原理是自动用你的账号发一条`dependabot merge` 命令。其实我觉得有更好的方案,那就是自动 rebase PR,但暂时没找到,日后会继续找下有没有这样的方案
with:
command: merge
target: minor
github-token: ${{ secrets.GH_TOKEN }} #这里填写你的 GitHub Token ,申请方式自己搜一下即可

本文作者:草梅友仁
本文地址: https://blog.cmyr.ltd/archives/d1865b35.html
版权声明:转载请注明出处!

坚持原创技术分享,您的支持将鼓励我继续创作!