-
-
Notifications
You must be signed in to change notification settings - Fork 141
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
994af1a
commit 2205831
Showing
1 changed file
with
80 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,80 @@ | ||
name: PR Greetings | ||
|
||
on: | ||
pull_request: | ||
types: [opened] | ||
pull_request_target: | ||
types: [opened] | ||
|
||
jobs: | ||
greeting: | ||
runs-on: ubuntu-latest | ||
permissions: | ||
pull-requests: write | ||
steps: | ||
- name: Checkout repository | ||
uses: actions/checkout@v2 | ||
|
||
- name: Check if the PR creator is the repo owner or Weblate | ||
id: check_owner | ||
env: | ||
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
run: | | ||
PR_AUTHOR=$(jq -r '.pull_request.user.login' "$GITHUB_EVENT_PATH") | ||
REPO_OWNER=$(jq -r '.repository.owner.login' "$GITHUB_EVENT_PATH") | ||
if [ "$PR_AUTHOR" = "$REPO_OWNER" ] || [ "$PR_AUTHOR" = "weblate" ]; then | ||
echo "The PR creator is the repository owner or Weblate. Skipping greeting message." | ||
echo "skip=true" >> $GITHUB_ENV | ||
else | ||
echo "The PR creator is not the repository owner or Weblate. Checking for previous PRs..." | ||
# Check for both open and closed pull requests by the author | ||
OPEN_PRS=$(gh pr list --author "$PR_AUTHOR" --state open --json number --jq '. | length') | ||
CLOSED_PRS=$(gh pr list --author "$PR_AUTHOR" --state closed --json number --jq '. | length') | ||
TOTAL_PRS=$((OPEN_PRS + CLOSED_PRS)) | ||
echo "User $PR_AUTHOR has created $TOTAL_PRS pull request(s) in total" | ||
echo "Open PRs: $OPEN_PRS" | ||
echo "Closed PRs: $CLOSED_PRS" | ||
if [ "$TOTAL_PRS" -eq 1 ]; then | ||
echo "This is the user's first pull request. Sending greeting message." | ||
echo "skip=false" >> $GITHUB_ENV | ||
else | ||
echo "User has previous pull requests. Skipping greeting message." | ||
echo "skip=true" >> $GITHUB_ENV | ||
fi | ||
fi | ||
- name: Send Greeting Message | ||
if: env.skip != 'true' | ||
uses: actions/github-script@v6 | ||
with: | ||
script: | | ||
const prNumber = context.payload.pull_request.number; | ||
const message = ` | ||
**🎉 Thank you for your contribution!** | ||
Your Pull Request has been successfully submitted and is now awaiting review. We truly appreciate your efforts to improve Dantotsu. | ||
**👥 Connect with the Community** | ||
While you're here, why not join our communities to stay engaged? | ||
- **[Discord](https://discord.com/invite/4HPZ5nAWwM)**: Chat with fellow developers, ask questions, and get the latest updates. | ||
- **[Telegram](https://t.me/dantotsuapp)**: Connect directly with us for real-time discussions and updates. | ||
**📋 What to Expect Next** | ||
- Our team will review your pull request as soon as possible. | ||
- You'll receive notifications if further information or changes are needed. | ||
- Once approved, your changes will be merged into the main project. | ||
We're excited to collaborate with you. Stay tuned for updates! | ||
`; | ||
await github.rest.issues.createComment({ | ||
owner: context.repo.owner, | ||
repo: context.repo.repo, | ||
issue_number: prNumber, | ||
body: message | ||
}); |