Skip to content

Commit

Permalink
Merge pull request #1556 from smog-root/git_workflow
Browse files Browse the repository at this point in the history
docs: Github actions for more connectivity!
  • Loading branch information
apu52 authored Oct 26, 2024
2 parents 2439180 + 08d8781 commit ea2e31d
Show file tree
Hide file tree
Showing 6 changed files with 159 additions and 39 deletions.
21 changes: 0 additions & 21 deletions .github/workflows/auto-comment-pr-merge.yml

This file was deleted.

18 changes: 0 additions & 18 deletions .github/workflows/greetings.yaml

This file was deleted.

28 changes: 28 additions & 0 deletions .github/workflows/issue_close_open.yml
Original file line number Diff line number Diff line change
@@ -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! 🚀"
58 changes: 58 additions & 0 deletions .github/workflows/pr-checker.yaml
Original file line number Diff line number Diff line change
@@ -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 #<issue-number>'
if not re.search(r'Fixes #[0-9]+', pr_description):
print('The PR description should include Fixes , Close, Closes, Closed , Fix , Fixed , Resolve , Resolves #<issue-number>.')
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."

34 changes: 34 additions & 0 deletions .github/workflows/pr_merged.yaml
Original file line number Diff line number Diff line change
@@ -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! 🎉🎉`
});
39 changes: 39 additions & 0 deletions .github/workflows/pr_raise.yml
Original file line number Diff line number Diff line change
@@ -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 <<EOF
{
"body": "Thank you for submitting your pull request! 🙌 We'll review it as soon as possible. In the meantime, If there are any specific instructions or feedback regarding your PR, we'll provide them here. Thanks again for your contribution! 😊"
}
EOF
)
RESPONSE=$(curl -s -o response.json -w "%{http_code}" \
-X POST \
-H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \
-H "Accept: application/vnd.github.v3+json" \
https://api.github.com/repos/${{ github.repository }}/issues/${{ github.event.pull_request.number }}/comments \
-d "$COMMENT")
cat response.json
if [ "$RESPONSE" -ne 201 ]; then
echo "Failed to add comment"
exit 1
fi
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

0 comments on commit ea2e31d

Please sign in to comment.