mirror of
https://github.com/alexbelgium/hassio-addons.git
synced 2026-01-31 00:47:42 +01:00
61 lines
1.6 KiB
YAML
61 lines
1.6 KiB
YAML
# yamllint disable rule:line-length
|
|
# shellcheck disable=SC2043
|
|
---
|
|
name: automerge
|
|
on:
|
|
pull_request:
|
|
types:
|
|
- labeled
|
|
- synchronize
|
|
- opened
|
|
- edited
|
|
- ready_for_review
|
|
- reopened
|
|
- unlocked
|
|
pull_request_review:
|
|
types:
|
|
- submitted
|
|
check_suite:
|
|
types:
|
|
- completed
|
|
status: {}
|
|
jobs:
|
|
# This workflow will automatically merge a pull request if the title contains "automerge" and all checks are successful
|
|
name: Auto Merge PR
|
|
on:
|
|
pull_request:
|
|
types: [opened, synchronize, reopened, edited]
|
|
check_suite:
|
|
types: [completed]
|
|
|
|
jobs:
|
|
auto-merge:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Check PR title
|
|
run: |
|
|
title="${{ github.event.pull_request.title }}"
|
|
if [[ "$title" == *"auto_merge"* ]]; then
|
|
echo "PR title contains auto_merge"
|
|
echo "AUTO_MERGE=true" >> $GITHUB_ENV
|
|
else
|
|
echo "PR title does not contain automerge"
|
|
echo "AUTO_MERGE=false" >> $GITHUB_ENV
|
|
fi
|
|
- name: Check PR status
|
|
if: env.AUTO_MERGE == 'true'
|
|
run: |
|
|
status="${{ github.event.check_suite.conclusion }}"
|
|
if [[ "$status" == "success" ]]; then
|
|
echo "All checks are successful"
|
|
echo "PR_STATUS=true" >> $GITHUB_ENV
|
|
else
|
|
echo "Some checks are not successful"
|
|
echo "PR_STATUS=false" >> $GITHUB_ENV
|
|
fi
|
|
- name: Merge PR
|
|
if: env.PR_STATUS == 'true'
|
|
uses: "pascalgn/automerge-action@v0.16.2"
|
|
env:
|
|
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
|