chore: disable auto-merge on non-dependabot push #3
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# see https://docs.github.com/en/code-security/dependabot/working-with-dependabot/automating-dependabot-with-github-actions#enable-auto-merge-on-a-pull-request | ||
name: Dependabot auto-merge | ||
on: pull_request | ||
permissions: | ||
contents: write | ||
pull-requests: write | ||
jobs: | ||
dependabot: | ||
runs-on: ubuntu-latest | ||
if: github.actor == 'dependabot[bot]' | ||
steps: | ||
- name: Dependabot metadata | ||
id: metadata | ||
uses: dependabot/fetch-metadata@c9c4182bf1b97f5224aee3906fd373f6b61b4526 # v1.6.0 | ||
with: | ||
github-token: "${{ secrets.GITHUB_TOKEN }}" | ||
- name: Check whether anyone besides dependabot has pushed | ||
id: pr_author | ||
run: | | ||
EXTRA_AUTHORS=$(gh pr view "$PR_URL" --json commits --jq '.commits[] | .authors[] | .login' | sort | uniq | grep -v dependabot) | ||
if [ -n "$EXTRA_AUTHORS" ]; then | ||
echo "PR has authors in addition to dependabot: $EXTRA_AUTHORS" | ||
echo "human_pushed=true" >> "$GITHUB_OUTPUT" | ||
else | ||
echo "human_pushed=false" >> "$GITHUB_OUTPUT" | ||
fi | ||
env: | ||
PR_URL: ${{github.event.pull_request.html_url}} | ||
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} | ||
- name: Enable auto-merge for Dependabot PRs | ||
if: > | ||
Check failure on line 34 in .github/workflows/dependabot-auto-merge.yaml GitHub Actions / Dependabot auto-mergeInvalid workflow file
|
||
${{ | ||
( steps.pr_author.human_pushed != "true" ) && | ||
( steps.metadata.outputs.update-type == 'version-update:semver-patch' || steps.metadata.outputs.update-type == 'version-update:semver-minor' ) | ||
}} | ||
run: gh pr merge --auto --squash "$PR_URL" && gh pr review --approve "$PR_URL" | ||
env: | ||
PR_URL: ${{github.event.pull_request.html_url}} | ||
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} | ||
- name: Disable auto-merge if human modified PR | ||
if: steps.pr_author.human_pushed == "true" | ||
run: | | ||
echo "disabling auto-merge due to non-dependabot push" | ||
gh pr merge --disable-auto "$PR_URL" | ||
env: | ||
PR_URL: ${{github.event.pull_request.html_url}} | ||
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} | ||