diff --git a/.github/workflows/auto-comment-pr-merge.yml b/.github/workflows/auto-comment-pr-merge.yml deleted file mode 100644 index f07afe1c..00000000 --- a/.github/workflows/auto-comment-pr-merge.yml +++ /dev/null @@ -1,21 +0,0 @@ -name: Auto Comment on PR Merge - -on: - pull_request: - types: [closed] - -jobs: - comment: - if: github.event.pull_request.merged == true - runs-on: ubuntu-latest - - steps: - - name: Add Comment to Merged PR - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: | - curl -X POST \ - -H "Authorization: token $GITHUB_TOKEN" \ - -H "Accept: application/vnd.github.v3+json" \ - -d '{"body":"🎉 Your pull request has been successfully merged! 🎉 Thank you for your contribution to our project. Your efforts are greatly appreciated. Keep up the fantastic work! 🚀"}' \ - "https://api.github.com/repos/${{ github.repository }}/issues/${{ github.event.pull_request.number }}/comments" diff --git a/.github/workflows/greetings.yaml b/.github/workflows/greetings.yaml deleted file mode 100644 index 2ff2054f..00000000 --- a/.github/workflows/greetings.yaml +++ /dev/null @@ -1,18 +0,0 @@ -name: Greetings - -on: [pull_request_target, issues] - -jobs: - greeting: - runs-on: ubuntu-latest - permissions: - issues: write - pull-requests: write - steps: - - uses: actions/first-interaction@v1 - with: - repo-token: ${{ secrets.GITHUB_TOKEN }} - issue-message: > - Hi @${{ github.actor }}! Thanks for opening this issue. We appreciate your contribution to this open-source project. - pr-message: > - Hi @${{ github.actor }}! Thank you for your valuable contribution! Our team will review it and get back to you soon. diff --git a/.github/workflows/issue_close_open.yml b/.github/workflows/issue_close_open.yml new file mode 100644 index 00000000..c6e8f511 --- /dev/null +++ b/.github/workflows/issue_close_open.yml @@ -0,0 +1,28 @@ +name: Issue Auto Comment + +# Created by @smog-root + +on: + issues: + types: [opened, closed] + +jobs: + comment: + runs-on: ubuntu-latest + steps: + - name: Add a comment when an issue is opened + if: github.event.action == 'opened' + uses: actions-ecosystem/action-create-comment@v1 + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + issue_number: ${{ github.event.issue.number }} + body: "👋 Thanks for opening this issue! We appreciate your contribution. Please make sure you’ve provided all the necessary details and screenshots, and don't forget to follow our Guidelines and Code of Conduct. Happy coding! 🚀 +" + + - name: Add a comment when an issue is closed + if: github.event.action == 'closed' + uses: actions-ecosystem/action-create-comment@v1 + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + issue_number: ${{ github.event.issue.number }} + body: " ✅ This issue has been successfully closed. Thank you for your contribution and helping us improve the project! If you have any more ideas or run into other issues, feel free to open a new one. Happy coding! 🚀" \ No newline at end of file diff --git a/.github/workflows/pr-checker.yaml b/.github/workflows/pr-checker.yaml new file mode 100644 index 00000000..2dfe6308 --- /dev/null +++ b/.github/workflows/pr-checker.yaml @@ -0,0 +1,58 @@ +name: PR Issue Checker +# Created by @smog-root. +on: + pull_request: + types: [opened, edited] + +jobs: + check_pr_details: + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@v2 + + - name: Set up Python + uses: actions/setup-python@v2 + with: + python-version: '3.x' + + - name: Install dependencies (if needed) + run: pip install re # Install Python's regex library (not needed if using built-in) + + - name: Check PR Description and Title + id: check_pr_details + run: | + python -c " +import re +import sys +import os + +pr_description = os.getenv('GITHUB_EVENT_PULL_REQUEST_BODY', '') +pr_title = os.getenv('GITHUB_EVENT_PULL_REQUEST_TITLE', '') + +# Check if PR description is present +if not pr_description: + print('PR description is missing.') + sys.exit(1) + +# Check if the PR description contains 'Fixes #' +if not re.search(r'Fixes #[0-9]+', pr_description): + print('The PR description should include Fixes , Close, Closes, Closed , Fix , Fixed , Resolve , Resolves #.') + sys.exit(1) + +# Check if the PR title starts with FIX, FEAT, or DOC +if not re.match(r'^(Fixes|Close|Closes|Closed|Fix|Fixed|Resolve|Resolves +Resolved)', pr_title): + print('The PR title should start with Fixes , Close, Closes, Closed , Fix , Fixed , Resolve , Resolves') + sys.exit(1) + +print('PR description and title are valid.') +" + env: + GITHUB_EVENT_PULL_REQUEST_BODY: ${{ github.event.pull_request.body }} + GITHUB_EVENT_PULL_REQUEST_TITLE: ${{ github.event.pull_request.title }} + + - name: Output result + run: echo "All checks passed." + \ No newline at end of file diff --git a/.github/workflows/pr_merged.yaml b/.github/workflows/pr_merged.yaml new file mode 100644 index 00000000..06156fb8 --- /dev/null +++ b/.github/workflows/pr_merged.yaml @@ -0,0 +1,34 @@ +name: Merge Thank You + +# Created by @smog-root + +on: + pull_request_target: + types: [closed] # Trigger when a PR is closed + +permissions: + issues: write + pull-requests: write + +jobs: + post_merge_message: + if: github.event.pull_request.merged == true # Only run if the PR was merged + runs-on: ubuntu-latest + + steps: + - name: Post thank you message + uses: actions/github-script@v7 + with: + github-token: ${{ secrets.GITHUB_TOKEN }} # Ensure token is used + script: | + const prNumber = context.payload.pull_request.number; + const owner = context.repo.owner; + const repo = context.repo.repo; + + // Post a thank you message upon PR merge + await github.rest.issues.createComment({ + owner: owner, + repo: repo, + issue_number: prNumber, + body: `🎉🎉 Thank you for your contribution! Your PR #${prNumber} has been merged! 🎉🎉` + }); \ No newline at end of file diff --git a/.github/workflows/pr_raise.yml b/.github/workflows/pr_raise.yml new file mode 100644 index 00000000..9957816a --- /dev/null +++ b/.github/workflows/pr_raise.yml @@ -0,0 +1,39 @@ +name: Auto Comment on PR + +# Created by @smog-root + +on: + pull_request_target: + types: [opened] + +permissions: + issues: write + pull-requests: write + +jobs: + comment: + runs-on: ubuntu-latest + permissions: + pull-requests: write + steps: + - name: Add Comment to Pull Request + run: | + COMMENT=$(cat <