From b2d7af85c0aa2d4e69f430808b161b38b7375704 Mon Sep 17 00:00:00 2001 From: Itsmechinmoy <167056923+itsmechinmoy@users.noreply.github.com> Date: Sat, 9 Nov 2024 20:34:43 +0530 Subject: [PATCH] [skip ci] Nothing (#515) --- .github/ISSUE_TEMPLATE/congif.yml | 9 ++ .github/ISSUE_TEMPLATE/question.yml | 35 +++++++ .github/ISSUE_TEMPLATE/report_issue.yml | 101 +++++++++++++++++++++ .github/ISSUE_TEMPLATE/request_feature.yml | 54 +++++++++++ .github/workflows/bug_greetings.yml | 84 +++++++++++++++++ .github/workflows/feature_greetings.yml | 86 ++++++++++++++++++ .github/workflows/pr_greetings.yml | 80 ++++++++++++++++ 7 files changed, 449 insertions(+) create mode 100644 .github/ISSUE_TEMPLATE/congif.yml create mode 100644 .github/ISSUE_TEMPLATE/question.yml create mode 100644 .github/ISSUE_TEMPLATE/report_issue.yml create mode 100644 .github/ISSUE_TEMPLATE/request_feature.yml create mode 100644 .github/workflows/bug_greetings.yml create mode 100644 .github/workflows/feature_greetings.yml create mode 100644 .github/workflows/pr_greetings.yml diff --git a/.github/ISSUE_TEMPLATE/congif.yml b/.github/ISSUE_TEMPLATE/congif.yml new file mode 100644 index 00000000..f2ec835c --- /dev/null +++ b/.github/ISSUE_TEMPLATE/congif.yml @@ -0,0 +1,9 @@ +blank_issues_enabled: false +contact_links: + - name: 🧑‍💻 Dantotsu Help on Discord + url: https://discord.com/invite/4HPZ5nAWwM + about: Get support, ask questions, and join the community discussions. + + - name: 📱 Dantotsu Help on Telegram + url: https://t.me/dantotsuapp + about: Connect with the community, ask questions, and get help directly on Telegram. diff --git a/.github/ISSUE_TEMPLATE/question.yml b/.github/ISSUE_TEMPLATE/question.yml new file mode 100644 index 00000000..331c0b7e --- /dev/null +++ b/.github/ISSUE_TEMPLATE/question.yml @@ -0,0 +1,35 @@ +name: ❓ Question +description: Submit a question or query related to Dantotsu +labels: [question] +body: + - type: textarea + id: question-details + attributes: + label: Question Details + description: Provide a detailed explanation of your question or query. + placeholder: | + Example: + "How do I customize the settings in Dartotsu to optimize performance?" + validations: + required: true + + - type: input + id: related-features + attributes: + label: Related Features (if applicable) + description: Mention any specific feature or section of Dantotsu related to your question. + placeholder: | + Example: "Settings > Performance" + + - type: checkboxes + id: submission-checklist + attributes: + label: Submission Checklist + description: Review the following items before submitting your question. + options: + - label: I have searched existing issues to see if this question has already been answered. + required: true + - label: I have provided a clear and concise question title. + required: true + - label: I have provided all relevant details to understand my question fully. + required: true diff --git a/.github/ISSUE_TEMPLATE/report_issue.yml b/.github/ISSUE_TEMPLATE/report_issue.yml new file mode 100644 index 00000000..7e202dc3 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/report_issue.yml @@ -0,0 +1,101 @@ +name: 🐛 Issue Report +description: Report a bug or problem in Dantotsu +labels: [bug] +body: + - type: textarea + id: steps-to-reproduce + attributes: + label: Steps to Reproduce + description: Outline the steps needed to trigger the issue. + placeholder: | + Example: + 1. Navigate to the home screen. + 2. Click on "Start." + 3. Observe the error message. + validations: + required: true + + - type: textarea + id: expected-outcome + attributes: + label: Expected Outcome + description: Describe what you expected to happen. + placeholder: | + Example: + "The application should have successfully loaded the dashboard..." + validations: + required: true + + - type: textarea + id: actual-outcome + attributes: + label: Actual Outcome + description: Detail what actually occurred when following the steps. + placeholder: | + Example: + "The app crashed and displayed an error message instead..." + validations: + required: true + + - type: textarea + id: error-logs + attributes: + label: Error Logs (if applicable) + description: | + If the issue involves crashes, please attach relevant logs. Access them via **Settings → About → Log to file → Share**. + placeholder: | + Paste the logs here or upload as an attachment. + + - type: input + id: dartotsu-version + attributes: + label: Dartotsu Version + description: Specify the version of Dartotsu in which the issue occurred. + placeholder: | + Example: "1.2.3" + validations: + required: true + + - type: input + id: os-version + attributes: + label: Operating System Version + description: Mention the OS version you are using. + placeholder: | + Example: "Android 12" + validations: + required: true + + - type: input + id: device-info + attributes: + label: Device Information + description: Provide your device name and model. + placeholder: | + Example: "Samsung Galaxy S21" + validations: + required: true + + - type: textarea + id: additional-information + attributes: + label: Additional Information + placeholder: | + Include any other relevant details or attachments that may help diagnose the issue. + + - type: checkboxes + id: submission-checklist + attributes: + label: Submission Checklist + description: Ensure you've reviewed these items before submitting your report. + options: + - label: I have searched existing issues to confirm this is not a duplicate. + required: true + - label: I have provided a clear and descriptive title. + required: true + - label: I am using the **[latest](https://github.com/rebelonion/Dantotsu/latest)** version of Dantotsu. If not, I have provided a reason for not updating. + required: true + - label: I have updated all relevant extensions or dependencies. + required: true + - label: I have filled out all the requested information accurately. + required: true diff --git a/.github/ISSUE_TEMPLATE/request_feature.yml b/.github/ISSUE_TEMPLATE/request_feature.yml new file mode 100644 index 00000000..110357fd --- /dev/null +++ b/.github/ISSUE_TEMPLATE/request_feature.yml @@ -0,0 +1,54 @@ +name: 🚀 Feature Request +description: Propose a new feature to enhance Dantotsu +labels: [enhancement] +body: + - type: textarea + id: feature-summary + attributes: + label: Feature Summary + description: Provide a concise summary of the feature you'd like to see. + placeholder: | + Example: + "Add support for dark mode..." + validations: + required: true + + - type: textarea + id: detailed-description + attributes: + label: Detailed Description + description: Elaborate on how this feature should function and its potential impact. + placeholder: | + Example: + "The dark mode should automatically activate based on system settings..." + value: | + ### Current Behavior + - Describe the current functionality or lack thereof. + + ### Proposed Solution + - Detail how the feature should work and any potential benefits. + + ### Considerations + - Mention any potential challenges or alternatives. + + - type: textarea + id: additional-context + attributes: + label: Additional Context + description: Provide any other information, relevant screenshots, or references. + placeholder: "Include links to relevant resources, external tools, or related issues." + + - type: checkboxes + id: checklist + attributes: + label: Submission Checklist + description: Ensure you've completed these before submitting. + options: + - label: I have searched the existing issues and confirm that this feature has not been requested before. + required: true + - label: I have provided a clear and descriptive title. + required: true + - label: I am using the **[latest](https://github.com/rebelonion/Dantotsu/releases/latest)** version of Dantotsu. If not, I have provided a reason for using an older version. + required: true + - label: I understand that not all feature requests will be accepted, and if declined, I won't resubmit the same request. + required: true diff --git a/.github/workflows/bug_greetings.yml b/.github/workflows/bug_greetings.yml new file mode 100644 index 00000000..6701c723 --- /dev/null +++ b/.github/workflows/bug_greetings.yml @@ -0,0 +1,84 @@ +name: Bug Report Greeting +on: + issues: + types: [opened] +jobs: + greeting: + runs-on: ubuntu-latest + permissions: + issues: write + steps: + - name: Checkout Repository + uses: actions/checkout@v2 + - name: Check if the issue is labeled as a Bug Report + id: check_bug_label + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + ISSUE_NUMBER=$(jq -r '.issue.number' "$GITHUB_EVENT_PATH") + LABELS=$(gh issue view $ISSUE_NUMBER --json labels --jq '.labels[].name') + + if echo "$LABELS" | grep -q 'bug'; then + echo "This issue is labeled as a bug report. Checking if the issue creator is the repository owner." + echo "skip_label_check=false" >> $GITHUB_ENV + else + echo "This issue is not labeled as a bug report. Skipping greeting message." + echo "skip_label_check=true" >> $GITHUB_ENV + fi + - name: Check if the issue creator is the repo owner + if: env.skip_label_check == 'false' + id: check_owner + run: | + ISSUE_AUTHOR=$(jq -r '.issue.user.login' "$GITHUB_EVENT_PATH") + REPO_OWNER=$(jq -r '.repository.owner.login' "$GITHUB_EVENT_PATH") + if [ "$ISSUE_AUTHOR" = "$REPO_OWNER" ]; then + echo "The issue creator is the repository owner. Skipping greeting message." + echo "skip=true" >> $GITHUB_ENV + else + echo "The issue creator is not the repository owner. Checking for previous bug reports..." + echo "skip=false" >> $GITHUB_ENV + fi + - name: Check if the user has submitted a bug report before + if: env.skip == 'false' + id: check_first_bug_report + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + ISSUE_AUTHOR=$(jq -r '.issue.user.login' "$GITHUB_EVENT_PATH") + ISSUE_NUMBER=$(jq -r '.issue.number' "$GITHUB_EVENT_PATH") + + # Get all issues (both open and closed) by the author except the current one + PREVIOUS_REPORTS=$(gh issue list --author "$ISSUE_AUTHOR" --label "Bug" --state all --json number --jq '. | map(select(.number != '$ISSUE_NUMBER')) | length') + echo "User $ISSUE_AUTHOR has submitted $PREVIOUS_REPORTS bug report(s) previously" + + if [ "$PREVIOUS_REPORTS" -eq 0 ]; then + echo "This is the user's first bug report. Sending greeting message." + echo "skip_first_report=false" >> $GITHUB_ENV + else + echo "User has previous bug reports. Skipping greeting message." + echo "skip_first_report=true" >> $GITHUB_ENV + fi + - name: Send Greeting Message + if: env.skip_label_check == 'false' && env.skip != 'true' && env.skip_first_report != 'true' + uses: actions/github-script@v6 + with: + script: | + const issueNumber = context.payload.issue.number; + const message = ` + **🛠️ Thank you for reporting a bug!** + Your issue has been successfully submitted and is now awaiting review. We appreciate your help in making Dantotsu better. + **🔍 What Happens Next** + - Our team will investigate the issue and provide updates as soon as possible. + - You may be asked for additional details or clarification if needed. + - Once resolved, we'll notify you of the fix or provide a workaround. + **👥 Connect with Us** + - **[Discord](https://discord.com/invite/4HPZ5nAWwM)**: Engage with our community and ask questions. + - **[Telegram](https://t.me/dantotsuapp)**: Reach out for real-time discussions and updates. + We're working hard to resolve the issue and appreciate your patience! + `; + await github.rest.issues.createComment({ + owner: context.repo.owner, + repo: context.repo.repo, + issue_number: issueNumber, + body: message + }); diff --git a/.github/workflows/feature_greetings.yml b/.github/workflows/feature_greetings.yml new file mode 100644 index 00000000..867a00f6 --- /dev/null +++ b/.github/workflows/feature_greetings.yml @@ -0,0 +1,86 @@ +name: Feature Request Greeting + +on: + issues: + types: [opened] + +jobs: + greeting: + runs-on: ubuntu-latest + permissions: + issues: write + steps: + - name: Checkout repository + uses: actions/checkout@v2 + + - name: Check if the issue is labeled as a Feature Request + id: check_feature_label + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + ISSUE_NUMBER=$(jq -r '.issue.number' "$GITHUB_EVENT_PATH") + LABELS=$(gh issue view $ISSUE_NUMBER --json labels --jq '.labels[].name') + + if echo "$LABELS" | grep -q 'enhancement'; then + echo "This issue is labeled as a feature request. Checking if the issue creator is the repository owner." + echo "skip_label_check=false" >> $GITHUB_ENV + else + echo "This issue is not labeled as a feature request. Skipping greeting message." + echo "skip_label_check=true" >> $GITHUB_ENV + fi + + - name: Check if the user has submitted a feature request before + if: env.skip_label_check == 'false' + id: check_first_request + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + ISSUE_AUTHOR=$(jq -r '.issue.user.login' "$GITHUB_EVENT_PATH") + REPO_OWNER=$(jq -r '.repository.owner.login' "$GITHUB_EVENT_PATH") + ISSUE_NUMBER=$(jq -r '.issue.number' "$GITHUB_EVENT_PATH") + + if [ "$ISSUE_AUTHOR" = "$REPO_OWNER" ]; then + echo "The issue creator is the repository owner. Skipping greeting message." + echo "skip_first_request=true" >> $GITHUB_ENV + else + echo "Checking for previous feature requests..." + # Get all issues (both open and closed) by the author except the current one + PREVIOUS_REQUESTS=$(gh issue list --author "$ISSUE_AUTHOR" --label "New Feature" --state all --json number --jq '. | map(select(.number != '$ISSUE_NUMBER')) | length') + echo "User $ISSUE_AUTHOR has submitted $PREVIOUS_REQUESTS feature request(s) previously" + + if [ "$PREVIOUS_REQUESTS" -eq 0 ]; then + echo "This is the user's first feature request. Sending greeting message." + echo "skip_first_request=false" >> $GITHUB_ENV + else + echo "User has previous feature requests. Skipping greeting message." + echo "skip_first_request=true" >> $GITHUB_ENV + fi + fi + + - name: Send Greeting Message + if: env.skip_label_check == 'false' && env.skip_first_request == 'false' + uses: actions/github-script@v6 + with: + script: | + const issueNumber = context.payload.issue.number; + const message = ` + **💡 Thank you for your feature request!** + Your request has been successfully submitted and is now under consideration. We value your input in shaping the future of Dantotsu. + + **📈 What to Expect Next** + - Our team will review your request and assess its feasibility. + - We may reach out for additional details or clarification. + - Updates on the request will be provided, and it may be scheduled for future development. + + **👥 Stay Connected** + - **[Discord](https://discord.com/invite/4HPZ5nAWwM)**: Join our community to discuss ideas and stay updated. + - **[Telegram](https://t.me/dantotsuapp)**: Connect with us directly for real-time updates. + + We appreciate your suggestion and look forward to potentially implementing it! + `; + await github.rest.issues.createComment({ + owner: context.repo.owner, + repo: context.repo.repo, + issue_number: issueNumber, + body: message + }); diff --git a/.github/workflows/pr_greetings.yml b/.github/workflows/pr_greetings.yml new file mode 100644 index 00000000..c6891c79 --- /dev/null +++ b/.github/workflows/pr_greetings.yml @@ -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 + });