53 lines
1.7 KiB
YAML
53 lines
1.7 KiB
YAML
name: Merge Dependabot PR
|
|
|
|
on: pull_request_target
|
|
|
|
run-name: Merge Dependabot PR ${{ github.ref_name }}
|
|
|
|
permissions: write-all
|
|
|
|
jobs:
|
|
merge-dependabot-pr:
|
|
runs-on: ubuntu-latest
|
|
if: github.actor == 'dependabot[bot]'
|
|
steps:
|
|
|
|
- uses: actions/checkout@v4
|
|
with:
|
|
show-progress: false
|
|
ref: ${{ github.event.pull_request.head.sha }}
|
|
|
|
- uses: actions/setup-java@v4
|
|
with:
|
|
distribution: temurin
|
|
java-version: 17
|
|
|
|
- name: Set Milestone to Dependabot Pull Request
|
|
id: set-milestone
|
|
run: |
|
|
if test -f pom.xml
|
|
then
|
|
CURRENT_VERSION=$(mvn help:evaluate -Dexpression="project.version" -q -DforceStdout)
|
|
else
|
|
CURRENT_VERSION=$(cat gradle.properties | sed -n '/^version=/ { s/^version=//;p }')
|
|
fi
|
|
export CANDIDATE_VERSION=${CURRENT_VERSION/-SNAPSHOT}
|
|
MILESTONE=$(gh api repos/$GITHUB_REPOSITORY/milestones --jq 'map(select(.due_on != null and (.title | startswith(env.CANDIDATE_VERSION)))) | .[0] | .title')
|
|
|
|
if [ -z $MILESTONE ]
|
|
then
|
|
gh run cancel ${{ github.run_id }}
|
|
echo "::warning title=Cannot merge::No scheduled milestone for $CURRENT_VERSION version"
|
|
else
|
|
gh pr edit ${{ github.event.pull_request.number }} --milestone $MILESTONE
|
|
echo mergeEnabled=true >> $GITHUB_OUTPUT
|
|
fi
|
|
env:
|
|
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
|
|
- name: Merge Dependabot pull request
|
|
if: steps.set-milestone.outputs.mergeEnabled
|
|
run: gh pr merge ${{ github.event.pull_request.number }} --auto --rebase
|
|
env:
|
|
GH_TOKEN: ${{ secrets.GH_ACTIONS_REPO_TOKEN }}
|