在这里先提一下 dependabot
是什么
dependabot是 GitHub 推出的一个提醒依赖更新机器人,当你项目的依赖有更新的时候就会自动推送一个 Pull requests
至于使用 Github Action
,只要在项目根目录下的 .github/workflows
文件夹下建一个 yml 文件即可。
因此,结合上述两者,我的做法是:
新建一个 auto-merge.yml
文件,文件内容如下:
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://wp.cmyr.ltd/archives/dependabot-combined-with-github-actions-to-achieve
- 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
欢迎关注我的其它发布渠道
发表回复
要发表评论,您必须先登录。