-
Notifications
You must be signed in to change notification settings - Fork 59
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Github actions for more connectivity! (#60)
* Github actions for more connectivity! * added pr_checker.yaml * edited miss placement!
- Loading branch information
Showing
4 changed files
with
192 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,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! 🚀" |
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,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! 🎉🎉` | ||
}); |
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,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. 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 }} |
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,91 @@ | ||
name: PR Validation | ||
|
||
# Created by smog-root | ||
|
||
on: | ||
pull_request: | ||
types: [opened, edited] | ||
|
||
jobs: | ||
validate-pr: | ||
runs-on: ubuntu-latest | ||
|
||
steps: | ||
- name: Check out code | ||
uses: actions/checkout@v3 | ||
|
||
- name: Set up Node.js | ||
uses: actions/setup-node@v3 | ||
with: | ||
node-version: '14' | ||
|
||
- name: Validate PR Description | ||
id: pr-check | ||
run: | | ||
# Fetch PR information | ||
PR_DESCRIPTION=$(jq -r .pull_request.body < "$GITHUB_EVENT_PATH") | ||
PR_TITLE=$(jq -r .pull_request.title < "$GITHUB_EVENT_PATH") | ||
# Define file paths for the output variables | ||
PR_VALID_FILE=$(mktemp) | ||
ERROR_MESSAGE_FILE=$(mktemp) | ||
SUCCESS_MESSAGE_FILE=$(mktemp) | ||
# Default value for PR_VALID | ||
PR_VALID="true" | ||
# Check if PR description is empty | ||
if [ -z "$PR_DESCRIPTION" ] || [ "$PR_DESCRIPTION" == "null" ]; then | ||
echo "Empty PR description" | ||
PR_VALID="false" | ||
echo '❌ Error: PR description is empty!' > "$ERROR_MESSAGE_FILE" | ||
fi | ||
# Check for issue reference in the description | ||
ISSUE_PATTERN="(Fixes|Close|Closes|Closed|Fix|Fixed|Resolve|Resolves) #[0-9]+" | ||
if [[ ! "$PR_DESCRIPTION" =~ $ISSUE_PATTERN ]]; then | ||
echo "Invalid or missing issue reference" | ||
PR_VALID="false" | ||
echo '❌ Error: PR must reference an issue with the format Fixes ,Close ,Closes ,Closed ,Fix ,Fixed ,Resolve ,Resolves #Issue_Number' > "$ERROR_MESSAGE_FILE" | ||
fi | ||
# If both checks pass | ||
if [ "$PR_VALID" == "true" ]; then | ||
echo '✅ Success: PR is valid!' > "$SUCCESS_MESSAGE_FILE" | ||
fi | ||
# Save the outputs to environment files | ||
echo "PR_VALID=$PR_VALID" >> $GITHUB_ENV | ||
echo "ERROR_MESSAGE=$(cat $ERROR_MESSAGE_FILE)" >> $GITHUB_ENV | ||
echo "SUCCESS_MESSAGE=$(cat $SUCCESS_MESSAGE_FILE)" >> $GITHUB_ENV | ||
- name: Post comment on PR | ||
uses: actions/github-script@v6 | ||
with: | ||
github-token: ${{ secrets.GITHUB_TOKEN }} | ||
script: | | ||
const prValid = process.env.PR_VALID; | ||
const errorMessage = process.env.ERROR_MESSAGE; | ||
const successMessage = process.env.SUCCESS_MESSAGE; | ||
const prNumber = context.payload.pull_request.number; | ||
if (prValid === 'false') { | ||
github.rest.issues.createComment({ | ||
issue_number: prNumber, | ||
owner: context.repo.owner, | ||
repo: context.repo.repo, | ||
body: errorMessage | ||
}); | ||
core.setFailed(errorMessage); | ||
} else { | ||
github.rest.issues.createComment({ | ||
issue_number: prNumber, | ||
owner: context.repo.owner, | ||
repo: context.repo.repo, | ||
body: successMessage | ||
}); | ||
} | ||
- name: Fail if validation failed | ||
if: env.PR_VALID == 'false' | ||
run: exit 1 |