Skip to content

Commit

Permalink
chore: automerge only for prs (#41)
Browse files Browse the repository at this point in the history
  • Loading branch information
salmanm authored Nov 11, 2020
1 parent 1fc4e29 commit 4c6d73a
Show file tree
Hide file tree
Showing 2 changed files with 49 additions and 12 deletions.
45 changes: 45 additions & 0 deletions .github/dependabot.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
'use strict'

const getMergeMethod = (repo) => {
if (repo.allow_merge_commit) return 'merge'
if (repo.allow_squash_merge) return 'squash'
return 'rebase'
}

module.exports = async ({
github,
context
}) => {
const owner = context.payload.repository.owner.login
const repo = context.payload.repository.name
const prNumber = context.payload.pull_request.number

const {
data: pr
} = await github.pulls.get({
owner,
repo,
pull_number: prNumber
})

const isDependabotOwner = pr.user.login === 'dependabot[bot]'
const isMergable = pr.mergeable

if (!isDependabotOwner || !isMergable) {
return console.log('Unable to merge', isDependabotOwner, isMergable)
}

await github.pulls.createReview({
owner,
repo,
pull_number: prNumber,
event: 'APPROVE'
})

await github.pulls.merge({
owner,
repo,
pull_number: prNumber,
merge_method: getMergeMethod(pr.head.repo)
})
}
16 changes: 4 additions & 12 deletions .github/workflows/nodejs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,20 +32,12 @@ jobs:
needs: test
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Dependabot Auto Merge
uses: actions/github-script@v3
if: ${{ github.actor == 'dependabot[bot]' }}
if: ${{ github.actor == 'dependabot[bot]' && github.event_name == 'pull_request' }}
with:
github-token: ${{secrets.github_token}}
script: |
github.pulls.createReview({
owner: context.payload.repository.owner.login,
repo: context.payload.repository.name,
pull_number: context.payload.pull_request.number,
event: 'APPROVE'
})
github.pulls.merge({
owner: context.payload.repository.owner.login,
repo: context.payload.repository.name,
pull_number: context.payload.pull_request.number
})
const automerge = require(`${process.env.GITHUB_WORKSPACE}/.github/dependabot.js`)
await automerge({github, context})

0 comments on commit 4c6d73a

Please sign in to comment.