Skip to content

Mergify

github 官方支持 auto merge 这个 bot 可以下架了

nonono, official doc, I haven't figured it yet... now still use mergify

yml
pull_request_rules:
  - name: automatic merge for ImgBot pull requests
    conditions:
      - author=imgbot[bot]
    actions:
      merge:
        method: merge

  - name: automatic merge for dependabot pull requests
    conditions:
      - author=dependabot[bot]
      - check-success=deploy
    actions:
      merge:
        method: merge

  - name: automatic merge for Renovate pull requests
    conditions:
      - author=renovate[bot]
      - check-success=deploy
    actions:
      merge:
        method: merge

  - name: automatic merge for Requires.io pull requests
    conditions:
      - title~=^\[requires.io\]
      - head~=^requires-io
      - check-success=deploy
    actions:
      merge:
        method: merge

  - name: automatic merge for auto pull requests
    conditions:
      - title=pulling refs/heads/dev into master
      - check-success=deploy
    actions:
      merge:
        method: merge

当使用 matrix 时,

yml
jobs:
  deploy-life:
    strategy:
      matrix:
        os: [ubuntu-latest] # macos-latest, windows-latest
        node: [16]
        deploy-dir: [life/.vitepress/dist]
        deploy-user: [augusmeow]
        deploy-repo: [life, augusmeow.github.io]

对于条件的解释

condition
不一定全都会响应 在此判定 任意一个失败都不可以
必须用 not or
修改成这样是因为 无法匹配 matrix

yml
conditions:
  - author=dependabot[bot]
  - not:
      or:
        - check-failure=deploy-life (ubuntu-latest, 16, life/.vitepress/dist, augusmeow, life)
        - check-failure=deploy-life (ubuntu-latest, 16, life/.vitepress/dist, augusmeow, augusmeow.github.io)
        - check-failure=deploy-game (ubuntu-latest, 16, game/.vitepress/dist, augusmeow, game)

修改为直接正则匹配 deploy 也可行

yml
conditions:
  - check-success~=^deploy

吃好喝好 快乐地活下去