Skip to content

Assess PR (140) - pr-trigger #179

Assess PR (140) - pr-trigger

Assess PR (140) - pr-trigger #179

name: dependabot-pr
run-name: Assess PR (${{ github.event.client_payload.detail.pull_request }}) - ${{ github.event.action }}
on:
repository_dispatch:
types:
- pr-trigger
- pr-issue-comment-test-success
- pr-commit-status-test-success
- pr-docker-image-builder-test-success
- pr-repo-dispatch-test-success
- pr-untested-actions
permissions:
contents: write
pull-requests: write
issues: write
statuses: write
jobs:
actions_merge:
runs-on: ubuntu-latest
name: Dependabot Merge
steps:
- name: Checkout
uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6
with:
ref: ${{ github.event.client_payload.base.ref }}
fetch-depth: 0
- name: "Prepare"
id: prepare
run: |
case "${{ github.event.action }}" in
pr-issue-comment-test-success)
echo 'change_filter=pr-or-issue-comment/**' >> "$GITHUB_OUTPUT"
echo 'automerge_level=semver-patch' >> "$GITHUB_OUTPUT"
echo 'merge_context=PR or issue comment tests passed' >> "$GITHUB_OUTPUT"
;;
pr-commit-status-test-success)
echo 'change_filter=commit-status-and-label/**' >> "$GITHUB_OUTPUT"
echo 'automerge_level=semver-patch' >> "$GITHUB_OUTPUT"
echo 'merge_context=Commit Status & Label Tests passed' >> "$GITHUB_OUTPUT"
;;
pr-docker-image-builder-test-success)
echo 'change_filter=docker-image-builder/**' >> "$GITHUB_OUTPUT"
echo 'automerge_level=semver-patch' >> "$GITHUB_OUTPUT"
echo 'merge_context=Docker image builder tests passed' >> "$GITHUB_OUTPUT"
;;
pr-repo-dispatch-test-success)
echo 'change_filter=repo-dispatch/**' >> "$GITHUB_OUTPUT"
echo 'automerge_level=semver-patch' >> "$GITHUB_OUTPUT"
echo 'merge_context=Repo Dispatch tests passed' >> "$GITHUB_OUTPUT"
;;
pr-untested-actions)
echo 'change_filter=dependabot-merge/**,default-updatecli/**,generate-dependabot-config/**' >> "$GITHUB_OUTPUT"
echo 'automerge_level=semver-patch' >> "$GITHUB_OUTPUT"
echo 'merge_context=Updates to actions that have no tests :frowning:' >> "$GITHUB_OUTPUT"
;;
*)
echo 'change_filter=.github/workflows/**' >> "$GITHUB_OUTPUT"
echo 'automerge_level=semver-patch|semver-minor' >> "$GITHUB_OUTPUT"
echo 'merge_context=Updates to workflows in this repo' >> "$GITHUB_OUTPUT"
;;
esac
- name: "Create Token"
uses: actions/create-github-app-token@c8f55efbd427e7465d6da1106e7979bc8aaee856 # v1.10.1
id: app-token
with:
app-id: ${{ vars.WORKFLOW_UPDATE_APP_ID }}
private-key: ${{ secrets.WORKFLOW_UPDATE_KEY }}
owner: ${{ github.repository_owner }}
repositories: "${{ github.event.repository.name}}"
- name: Dependabot Merge
id: dependabot_merge
uses: ./dependabot-merge
with:
token: ${{ steps.app-token.outputs.token }}
automerge_level: ${{ steps.prepare.outputs.automerge_level }}
change_filter: ${{ steps.prepare.outputs.change_filter }}
merge_commentary: ${{ steps.prepare.outputs.merge_context }}
filter_separator: ","