Skip to content

Commit 2aa527a

Browse files
Merge pull request #10 from Back-to-code/youri/add-shared-workflows
feat: add auto-assign, add auto-merge
2 parents 8022547 + 03b7b12 commit 2aa527a

2 files changed

Lines changed: 58 additions & 0 deletions

File tree

.github/workflows/auto-assign.yml

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
name: Auto-assign reviewers
2+
3+
on:
4+
workflow_call:
5+
inputs:
6+
reviewers:
7+
description: Space-separated GitHub usernames to request as reviewers.
8+
required: true
9+
type: string
10+
11+
permissions:
12+
pull-requests: write
13+
14+
jobs:
15+
assign:
16+
if: >-
17+
github.event.pull_request.draft == false &&
18+
github.event.pull_request.head.repo.full_name == github.repository
19+
runs-on: self-hosted
20+
timeout-minutes: 5
21+
steps:
22+
- env:
23+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
24+
PR_URL: ${{ github.event.pull_request.html_url }}
25+
AUTHOR: ${{ github.event.pull_request.user.login }}
26+
REVIEWERS_IN: ${{ inputs.reviewers }}
27+
run: |
28+
reviewers=""
29+
for u in $REVIEWERS_IN; do
30+
if [ "$u" != "$AUTHOR" ]; then
31+
reviewers="$reviewers,$u"
32+
fi
33+
done
34+
reviewers="${reviewers#,}"
35+
[ -z "$reviewers" ] && exit 0
36+
gh pr edit "$PR_URL" --add-reviewer "$reviewers"

.github/workflows/auto-merge.yml

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
name: Auto-merge
2+
3+
on:
4+
workflow_call:
5+
6+
permissions:
7+
contents: write
8+
pull-requests: write
9+
10+
jobs:
11+
enable:
12+
name: Enable auto-merge
13+
if: >-
14+
github.event.pull_request.draft == false &&
15+
github.event.pull_request.head.repo.full_name == github.repository
16+
runs-on: self-hosted
17+
timeout-minutes: 5
18+
steps:
19+
- env:
20+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
21+
PR_URL: ${{ github.event.pull_request.html_url }}
22+
run: gh pr merge --auto --merge --delete-branch "$PR_URL"

0 commit comments

Comments
 (0)