Skip to content

mesh-2092: workflow pushes changes #7

mesh-2092: workflow pushes changes

mesh-2092: workflow pushes changes #7

name: Auto-merge Dependabot PRs
on:
pull_request:
types:
- opened
- reopened
- synchronize
- ready_for_review
- labeled
jobs:
dependabot-make-update:
# Only run on Dependabot PRs
if: github.event.pull_request.user.login == 'dependabot[bot]'
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
ref: ${{ startsWith(github.event.pull_request.head.ref, 'dependabot/') && github.event.pull_request.head.ref || github.ref }}
repository: ${{ github.event.pull_request.head.repo.full_name }}
- name: Install Python 3.11
uses: actions/setup-python@v4
with:
python-version: '3.11'
- name: Install poetry
run: python -m pip install --upgrade pip setuptools wheel poetry
- name: Install project dependencies
run: make install-ci
- name: Update dependencies (make update)
run: make update
- name: Lint (make lint)
run: make lint
- name: Commit and push changes
run: |
git config user.name "github-actions[bot]"
git config user.email "github-actions[bot]@users.noreply.github.com"
if git status --porcelain | grep .; then
git add -A
git commit -m "mesh-2092: apply make update changes"
git push
else
echo "No changes to commit"
fi
enable-automerge:
# Only run on Dependabot PRs after make update succeeds
if: github.event.pull_request.user.login == 'dependabot[bot]'
needs: dependabot-make-update
runs-on: ubuntu-latest
permissions:
contents: write
pull-requests: write
steps:
- name: Fetch Dependabot metadata
id: metadata
uses: dependabot/fetch-metadata@d7267f607e9d3fb96fc2fbe83e0af444713e90b7
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
- name: Enable auto-merge for Dependabot PRs
if: steps.metadata.outputs.update-type == 'version-update:semver-patch'
run: gh pr merge --auto --squash "$PR_URL"
env:
PR_URL: ${{ github.event.pull_request.html_url }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}